JP2000214769A

Method and device for replacing/dividing data, and recording medium recording data replacement/division program

Abstract

[Task] An object of the present invention is to provide a data replacement / division method or the like capable of performing processing in a common key cryptosystem at high speed.

Solution.When k is an integer, a register with a length of 4 k bits is provided, and 16 k-bit data are replaced with two sets and divided, Ti To {a4i + jMeans to substitute} and T0 And (23k-2k ) And AND0 , T2 And (24k-23k+2k The logical product with -1) is T2 , T0 And T2 The logical sum with is T4 To, T1 And (22kThe logical product with -1) is T1 , T3 And (24k-22k) And AND3 , T1 And T3 The logical sum with is T5 To, T0 And (24k-23k+2k The logical product with -1) is T0, T2 And (23k-2k ) And AND2 , T0 And T2 OR the logical sum with 6 To, T1 And (24k-22k) And AND1 , T3 And (22kThe logical product with -1) is T3 , T1 And T3 OR T7 It is configured to be provided with means for substituting each of them.

JP2000214769A, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Projected expiry passed 25 January 2019, 7.7 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

7 claims: 6 independent, 1 dependent

  1. 1
    【特許請求の範囲】 【請求項1】 kを整数とし、4kビット長のレジスタを具備し、16個のkビットデータ{a 4i+j }(0≦i≦3,0≦j≦3)を集合{a 4(i+j mod 4) +j }(0≦i≦1,0≦j≦3)と集合{a 4(i+j mod 4)+j }(2≦i≦3,0≦j≦3)とに置換し分割するデータ置換・分割方法であって、 各0≦i≦3において、レジスタT i に{a 4i+j }(0≦j≦3)を代入するステップと、 レジスタT 0 の値と(2 3k -2 k )との論理積を取ったデータをレジスタT 0 ′に代入し、レジスタT 2 の値と(2 4k -2 3k +2 k -1)との論理積を取ったデータをレジスタT 2 ′に代入し、レジスタT 0 ′の値とレジスタT 2 ′の値との論理和をレジスタT 4 に代入するステップと、 レジスタT 1 の値と(2 2k -1)との論理積を取ったデータをレジスタT 1 ′に代入し、レジスタT 3 の値と(2 4k -2 2k )との論理積を取ったデータをレジスタT 3 ′に代入し、レジスタT 1 ′の値とレジスタT 3 ′との論理和をレジスタT 5 に代入するステップと、 レジスタT 0 の値と(2 4k -2 3k +2 k -1)との論理積を取ったデータをレジスタT 0 ′′に代入し、レジスタT 2 の値と(2 3k -2 k )との論理積を取ったデータをレジスタT 2 ′′に代入し、レジスタT 0 ′′の値とレジスタT 2 ′′との論理和をレジスタT 6 に代入するステップと、 レジスタT 1 の値と(2 4k -2 2k )との論理積を取ったデータをレジスタT 1 ′′に代入し、レジスタT 3 の値と(2 2k -1)との論理積を取ったデータをレジスタT 3 ′′に代入し、レジスタT 1 ′′の値とレジスタT 3 ′′との論理和をレジスタT 7 に代入するステップと、 レジスタT 4 ,レジスタT 5 とレジスタT 6 ,レジスタT 7 とを2つのグループとして出力するステップとを有することを特徴とするデータ置換・分割方法。
  2. 2
    【請求項2】 kを整数とし、4kビット長のレジスタを具備し、16個のkビットデータ{a 4i+j }(0≦i≦3,0≦j≦3)を集合{a 4(i+j mod 4) +j }(0≦i≦1,0≦j≦3)と集合{a 4(i+j mod 4)+j }(2≦i≦3,0≦j≦3)とに置換し分割するデータ置換・分割方法であって、 各0≦i≦3において、レジスタT i に{a 4i+j }(0≦j≦3)を代入するステップと、 レジスタT 0 の値とレジスタT 2 の値を各々一方の方向にkビットローテートするステップと、 レジスタT 0 とレジスタT 2 を連結し8kビット長のレジスタとみなし、一方に2kビットシフトした後の一方端から4kビットをレジスタT 4 とするステップと、 レジスタT 1 とレジスタT 3 を連結し8kビット長のレジスタとみなし、一方に2kビットシフトした後の一方端から4kビットをレジスタT 5 とするステップと、 レジスタT 2 とレジスタT 0 を連結し8kビット長のレジスタとみなし、他方に2kビットシフトした後の他方端から4kビットをレジスタT 6 とするステップと、 レジスタT 3 とレジスタT 1 を連結し8kビット長のレジスタとみなし、他方に2kビットシフトした後の他方端から4kビットをレジスタT 7 とするステップと、 レジスタT 4 ,レジスタT 5 とレジスタT 6 ,レジスタT 7 とを2つのグループとして出力するステップとを有することを特徴とするデータ置換・分割方法。
  3. 3
    【請求項3】 kを整数とし、4kビット長のレジスタを具備し、16個のkビットデータ{a 4i+j }(0≦i≦3,0≦j≦3)を集合{a 4(i+j mod 4) +j }(0≦i≦1,0≦j≦3)と集合{a 4(i+j mod 4)+j }(2≦i≦3,0≦j≦3)とに置換し分割するデータ置換・分割装置であって、 各0≦i≦3において、レジスタT i に{a 4i+j }(0≦j≦3)を代入する手段と、 レジスタT 0 の値と(2 3k -2 k )との論理積を取ったデータをレジスタT 0 ′に代入し、レジスタT 2 の値と(2 4k -2 3k +2 k -1)との論理積を取ったデータをレジスタT 2 ′に代入し、レジスタT 0 ′の値とレジスタT 2 ′との論理和をレジスタT 4 に代入する手段と、 レジスタT 1 の値と(2 2k -1)との論理積を取ったデータをレジスタT 1 ′に代入し、レジスタT 3 の値と(2 4k -2 2k )との論理積を取ったデータをレジスタT 3 ′に代入し、レジスタT 1 ′の値とレジスタT 3 ′との論理和をレジスタT 5 に代入する手段と、 レジスタT 0 の値と(2 4k -2 3k +2 k -1)との論理積を取ったデータをレジスタT 0 ′′に代入し、レジスタT 2 の値と(2 3k -2 k )との論理積を取ったデータをレジスタT 2 ′′に代入し、レジスタT 0 ′′の値とレジスタT 2 ′′との論理和をレジスタT 6 に代入する手段と、 レジスタT 1 の値と(2 4k -2 2k )との論理積を取ったデータをレジスタT 1 ′′に代入し、レジスタT 3 の値と(2 2k -1)との論理積を取ったデータをレジスタT 3 ′′に代入し、レジスタT 1 ′′の値とレジスタT 3 ′′との論理和をレジスタT 7 に代入する手段と、 レジスタT 4 ,レジスタT 5 とレジスタT 6 ,レジスタT 7 とを2つのグループとして出力する手段とを有することを特徴とするデータ置換・分割装置。
  4. 4
    【請求項4】 kを整数とし、4kビット長のレジスタを具備し、16個のkビットデータ{a 4i+j }(0≦i≦3,0≦j≦3)を集合{a 4(i+j mod 4) +j }(0≦i≦1,0≦j≦3)と集合{a 4(i+j mod 4)+j }(2≦i≦3,0≦j≦3)とに置換し分割するデータ置換・分割装置であって、 各0≦i≦3において、レジスタT i に{a 4i+j }(0≦j≦3)を代入する手段と、 レジスタT 0 の値とレジスタT 2 の値を各々一方の方向にkビットローテートする手段と、 レジスタT 0 とレジスタT 2 を連結し8kビット長のレジスタとみなし、一方に2kビットシフトした後の一方端から4kビットをレジスタT 4 とする手段と、 レジスタT 1 とレジスタT 3 を連結し8kビット長のレジスタとみなし、一方に2kビットシフトした後の一方端から4kビットをレジスタT 5 とする手段と、 レジスタT 2 とレジスタT 0 を連結し8kビット長のレジスタとみなし、他方に2kビットシフトした後の他方端から4kビットをレジスタT 6 とする手段と、 レジスタT 3 とレジスタT 1 を連結し8kビット長のレジスタとみなし、他方に2kビットシフトした後の他方端から4kビットをレジスタT 7 とする手段と、 レジスタT 4 ,レジスタT 5 とレジスタT 6 ,レジスタT 7 とを2つのグループとして出力する手段とを有することを特徴とするデータ置換・分割装置。
  5. 5
    【請求項5】 前記レジスタT i とレジスタT j とを連結し8kビット長のレジスタとみなし、一方または他方に2kビットシフトした後の一方端または他方端から4kビットをレジスタT k とする手段と、 この手段のうちいくつかを、レジスタT i の値と(2 2k -1)との論理積を取ったデータをレジスタT i ′に代入し、レジスタT j の値と(2 4k -2 2k )との論理積を取ったデータをレジスタT j ′に代入し、レジスタT i ′の値とレジスタT j ′の値との論理和をレジスタT k に代入する手段とを有することを特徴とする請求項4記載のデータ置換・分割装置。
  6. 6
    【請求項6】 kを整数とし、4kビット長のレジスタを具備し、16個のkビットデータ{a 4i+j }(0≦i≦3,0≦j≦3)を集合{a 4(i+j mod 4) +j }(0≦i≦1,0≦j≦3)と集合{a 4(i+j mod 4)+j }(2≦i≦3,0≦j≦3)とに置換し分割するデータ置換・分割プログラムを記録した記録媒体であって、 各0≦i≦3において、レジスタT i に{a 4i+j }(0≦j≦3)を代入するステップと、 レジスタT 0 の値と(2 3k -2 k )との論理積を取ったデータをレジスタT 0 ′に代入し、レジスタT 2 の値と(2 4k -2 3k +2 k -1)との論理積を取ったデータをレジスタT 2 ′に代入し、レジスタT 0 ′の値とレジスタT 2 ′の値との論理和をレジスタT 4 に代入するステップと、 レジスタT 1 の値と(2 2k -1)との論理積を取ったデータをレジスタT 1 ′に代入し、レジスタT 3 の値と(2 4k -2 2k )との論理積を取ったデータをレジスタT 3 ′に代入し、レジスタT 1 ′の値とレジスタT 3 ′との論理和をレジスタT 5 に代入するステップと、 レジスタT 0 の値と(2 4k -2 3k +2 k -1)との論理積を取ったデータをレジスタT 0 ′′に代入し、レジスタT 2 の値と(2 3k -2 k )との論理積を取ったデータをレジスタT 2 ′′に代入し、レジスタT 0 ′′の値とレジスタT 2 ′′との論理和をレジスタT 6 に代入するステップと、 レジスタT 1 の値と(2 4k -2 2k )との論理積を取ったデータをレジスタT 1 ′′に代入し、レジスタT 3 の値と(2 2k -1)との論理積を取ったデータをレジスタT 3 ′′に代入し、レジスタT 1 ′′の値とレジスタT 3 ′′との論理和をレジスタT 7 に代入するステップと、 レジスタT 4 ,レジスタT 5 とレジスタT 6 ,レジスタT 7 とを2つのグループとして出力するステップとをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
  7. 7
    【請求項7】 kを整数とし、4kビット長のレジスタを具備し、16個のkビットデータ{a 4i+j }(0≦i≦3,0≦j≦3)を集合{a 4(i+j mod 4) +j }(0≦i≦1,0≦j≦3)と集合{a 4(i+j mod 4)+j }(2≦i≦3,0≦j≦3)とに置換し分割するデータ置換・分割プログラムを記録した記録媒体であって、 各0≦i≦3において、レジスタT i に{a 4i+j }(0≦j≦3)を代入するステップと、 レジスタT 0 の値とレジスタT 2 の値を各々一方の方向にkビットローテートするステップと、 レジスタT 0 とレジスタT 2 を連結し8kビット長のレジスタとみなし、一方に2kビットシフトした後の一方端から4kビットをレジスタT 4 とするステップと、 レジスタT 1 とレジスタT 3 を連結し8kビット長のレジスタとみなし、一方に2kビットシフトした後の一方端から4kビットをレジスタT 5 とするステップと、 レジスタT 2 とレジスタT 0 を連結し8kビット長のレジスタとみなし、他方に2kビットシフトした後の他方端から4kビットをレジスタT 6 とするステップと、 レジスタT 3 とレジスタT 1 を連結し8kビット長のレジスタとみなし、他方に2kビットシフトした後の他方端から4kビットをレジスタT 7 とするステップと、 レジスタT 4 ,レジスタT 5 とレジスタT 6 ,レジスタT 7 とを2つのグループとして出力するステップとをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
Independent claims7