【0001】[0001]
【発明の属する技術分野】本発明は暗号装置に係り、特
に、共通鍵ブロック暗号方式において、高強度化を達成
することのできる暗号装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption device, and more particularly, to an encryption device capable of achieving high strength in a common key block encryption system.
【0002】[0002]
【従来の技術】従来、電子商取引・電子マネー等の商業
・金融分野、非接触定期券システムのような各種サービ
ス分野、インターネットにおける電子メール等の情報分
野などの通信においては、通信内容の秘匿や通信相手の
認証等に暗号が用いられている。2. Description of the Related Art Conventionally, in communications in the commercial and financial fields such as e-commerce and electronic money, in various service fields such as a contactless commuter pass system, and in the information field such as e-mail on the Internet, confidentiality of communication contents and Encryption is used for authentication of a communication partner.
【0003】暗号方式としては、種々の方式が存在して
いるが、送信者と受信者とが共通鍵を共有し、その共通
鍵を用いて平文を暗号化し、さらに、その共通鍵を用い
て復号化して平文を復元するDES暗号や、FEAL暗
号に代表される共通鍵ブロック暗号方式が存在してい
る。[0003] There are various encryption methods, but a sender and a receiver share a common key, encrypt plaintext using the common key, and further use the common key to encrypt plaintext. There are a DES cipher that decrypts and restores a plaintext, and a common key block cipher represented by the FEAL cipher.
【0004】図8は、上記共通鍵ブロック暗号方式を実
施するための典型的な暗号装置の概略構成図である。な
お、この図において[ ]は、復号化工程を示している
が、最初に暗号化から説明する。FIG. 8 is a schematic configuration diagram of a typical encryption device for implementing the above common key block encryption method. In this figure, [] indicates a decryption step, but the encryption will be described first.
【0005】通信すべき所定の平文を所定のビット数
(例えば64ビット)にブロック化して形成された平文
ブロック1は、初期転置部2において所定の定められた
規則に従って、ビット位置が置換えられて新たな配置の
平文ブロックに生成される。In a plaintext block 1 formed by blocking a predetermined plaintext to be communicated into a predetermined number of bits (for example, 64 bits), the initial transposition unit 2 replaces the bit positions in accordance with a predetermined rule. Generated in a plaintext block with a new arrangement.
【0006】初期転置部2で生成された平文ブロック
は、左右に2分されて、すなわち、平文ブロックのビッ
ト数の半分のビット(上述の例では32ビット)に分割
されて右変換過程文R0 と左変換過程文L0 とに分けら
れ、これら過程文R0 ,L0 は、撹拌処理部3に入力さ
れるように構成されている。[0006] The plaintext block generated by the initial transposition unit 2 is divided into right and left, that is, divided into half the number of bits of the plaintext block (32 bits in the above example), and the right conversion process statement R0 is divided into two. And a left conversion process sentence L0. These process sentences R0 and L0 are configured to be input to the stirring processing unit 3.
【0007】撹拌処理部3は、複数段(例えば16段)
の撹拌処理部から構成され、すなわち、第1段撹拌処理
部31 から第n段撹拌処理部3n で構成されていて、各
段撹拌処理部31 〜3n には、暗号化関数部41 〜4n
及び排他的論理和部51 〜5n がそれぞれ設けられてい
る。[0007] The stirring section 3 has a plurality of stages (for example, 16 stages).
, That is, the first-stage agitation processing unit 31 to the n-th-stage agitation processing unit 3n, and the respective stage agitation processing units 31 to 3n include encryption function units 41 to 4n.
And exclusive OR sections 51 to 5n.
【0008】各暗号化関数部41 〜4n は、図9に示さ
れる中間鍵生成部10から得られる定位置中間鍵(本発
明の中間鍵に該当している)K1 〜Kn を用いてそれぞ
れ撹拌処理される。[0008] Each of the encryption function units 41 to 4n uses a fixed-position intermediate key (corresponding to an intermediate key of the present invention) K1 to Kn obtained from the intermediate key generation unit 10 shown in FIG. It is processed.
【0009】この中間鍵生成部10は、所定のビット
(例えば56ビット)からなる共通鍵Kを鍵スケジュー
リング部10aで所定の処理を行って、所定のビット数
(例えば48ビット)からなる定位置中間鍵K1 〜Kn
を生成するように構成されている。The intermediate key generation unit 10 performs a predetermined process on a common key K consisting of predetermined bits (for example, 56 bits) in a key scheduling unit 10a, and outputs a fixed position consisting of a predetermined number of bits (for example, 48 bits). Intermediate keys K1 to Kn
Is configured to generate
【0010】各暗号化関数部41 〜4n のうち、任意の
段の暗号化関数部(以下、これを第i段暗号化関数部4
iとする。)を図10を用いて説明する。[0010] Of the encryption function units 41 to 4n, an encryption function unit of an arbitrary stage (hereinafter referred to as an i-th encryption function unit 4
i. ) Will be described with reference to FIG.
【0011】第i段撹拌処理部3iの右変換過程文Ri-
1 は、線形変換部4Aで所定のビット数(例えば48ビ
ット)となるように線形処理された後、排他的論理和部
4Bにおいて、中間鍵生成部10から得られた第i段撹
拌処理部3i用の定位置中間鍵Ki との間で排他的論理
和処理が行われる。The right conversion process statement Ri- of the i-th stage stirring processing unit 3i.
1 is linearly processed by the linear conversion unit 4A so as to have a predetermined number of bits (for example, 48 bits), and then, in the exclusive OR unit 4B, the i-th mixing processing unit obtained from the intermediate key generation unit 10 Exclusive OR processing is performed with the fixed position intermediate key Ki for 3i.
【0012】この排他的論理和処理が行われた後、一定
数のビットのユニットに分割され(上述の例では、48
ビットが6ビットずつの8個)、各々のユニットは対応
する非線形処理ボックス4C1 〜4Cm にそれぞれ入力
されて別の一定数のビット(例えば4ビットずつの8
個)に非線形処理される。そして、各非線形処理ボック
ス4C1 〜4Cm で非線形処理されたデータは、線形変
換部44で線形処理されて暗号化関数出力文Bi が生成
される。After this exclusive OR processing is performed, it is divided into a unit of a fixed number of bits (48 in the above example).
Each unit is input to the corresponding non-linear processing box 4C1 to 4Cm, and each unit receives another fixed number of bits (for example, 8 bits of 4 bits).
) Are nonlinearly processed. Then, the data subjected to the non-linear processing in each of the non-linear processing boxes 4C1 to 4Cm is subjected to linear processing in the linear conversion section 44 to generate an encryption function output sentence Bi.
【0013】生成された暗号化関数出力文Bi は、第i
段撹拌処理部3i の排他的論理和部5i で左変換過程文
Li との間で排他的論理和がとられる。The generated encrypted function output sentence Bi is
The exclusive OR section 5i of the stage mixing section 3i performs an exclusive OR operation with the left conversion process statement Li.
【0014】上述の第i段撹拌処理部3i の処理と同様
の処理が第1段撹拌処理部31 から第n段撹拌処理部3
n まで行われ、最終段の第n段撹拌処理部3n からの右
変換過程文Rn と左変換過程文Ln は、上記初期転置部
2と逆の転置処理を行う逆初期転置部6で転置処理され
てブロック化された暗号文ブロック7が生成される。The same processing as that of the above-mentioned i-th stirring processing section 3i is performed from the first-stage stirring processing section 31 to the n-th stirring processing section 3i.
n, and the right conversion process sentence Rn and the left conversion process sentence Ln from the n-th stage agitation processing unit 3n at the last stage are transposed by the inverse initial transposition unit 6 that performs the reverse transposition process of the initial transposition unit 2. Thus, the encrypted ciphertext block 7 is generated.
【0015】受信者が受信した暗号文ブロック7は、上
述の暗号化と逆の手法で、すなわち、図8の[ ]で示
される工程と定位置中間鍵Kn 〜K1 を用いて平文ブロ
ックに復元される。したがって、図8の暗号化関数部4
1 〜4n は、復号化の際、復号化関数部41 〜4n とな
る。The ciphertext block 7 received by the receiver is restored to a plaintext block by a method reverse to the above-mentioned encryption, that is, by using the steps indicated by [] in FIG. 8 and the fixed intermediate keys Kn to K1. Is done. Therefore, the encryption function unit 4 in FIG.
1 to 4n become decoding function units 41 to 4n at the time of decoding.
【0016】[0016]
【発明が解決しようとする課題】しかしながら、上記従
来の共通鍵ブロック暗号方式の暗号装置は、暗号処理速
度が速い等の長所を有しているが、近年の計算機性能の
飛躍的向上及び暗号解読技術の進歩により、暗号強度が
相対的に低下してきているという問題点がある。However, the above-mentioned conventional encryption device of the common key block cipher system has advantages such as a high encryption processing speed. However, in recent years, the computer performance has been dramatically improved and the decryption has been performed. There is a problem that the encryption strength has been relatively reduced with the advance of technology.
【0017】このような問題点を解決するために、撹拌
処理部の段数を増加させたり、共通鍵のビット数を増加
させたり、あるいは、ブロック間の連鎖をとるという解
決手段も考えられるが、これらはいずれも処理時間の増
大を招来するという新たな問題を提起してしまう。In order to solve such a problem, it is conceivable to increase the number of stages of the stirring processing unit, increase the number of bits of the common key, or take a chain between blocks. Each of these raises a new problem of increasing the processing time.
【0018】また、上記従来の共通鍵ブロック方式の暗
号装置においては、各段の暗号化関数部で用いられる暗
号化関数が各段によって同一であるので、選択平文攻撃
等により解読されやすいという危険性を含んでいる。Further, in the above-mentioned conventional encryption device of the common key block system, since the encryption function used in the encryption function section of each stage is the same for each stage, there is a danger that it is easy to be deciphered by a selective plaintext attack or the like. Contains gender.
【0019】そこで、本発明は、上記欠点を解決するた
めになされたものであって、その目的は、処理時間の増
大を招来することなく暗号強度を高めることのできる暗
号装置を提供することにある。The present invention has been made in order to solve the above-mentioned drawbacks, and an object of the present invention is to provide an encryption device capable of increasing the encryption strength without increasing the processing time. is there.
【0020】[0020]
【課題を解決するための手段】本発明に係る暗号装置
は、上記目的を達成するために、所定数のビットからな
るブロック状の平文又は暗号文を、共通鍵から生成され
た所定の複数の中間鍵を所定の複数段の暗号化処理部又
は復号化処理部にそれぞれ投入して暗号化又は復号化す
る、共通鍵ブロック暗号方式の暗号装置において、前記
暗号化処理部又は前記復号化処理部で用いられる暗号化
関数又は復合化関数を所定の情報に基づいて選択する選
択手段を設けたことを特徴としている。前記選択手段
は、前記共通鍵の情報に基づくものであることを特徴と
している。前記選択手段は、前記生成された中間鍵の情
報に基づくものであることを特徴としている。前記選択
手段は、前記暗号化処理部又は復号化処理部の右変換過
程文の情報に基づくものであることを特徴としている。
前記選択手段は、前記共通鍵の情報及び前記生成された
中間鍵の情報に基づくものであることを特徴としてい
る。前記選択手段は、前記共通鍵の情報及び前記暗号化
処理部又は復号化処理部の右変換過程文の情報に基づく
ものであることを特徴としている。前記選択手段は、前
記生成された中間鍵の情報及び前記暗号化処理部又は復
号化処理部の右変換過程文の情報に基づくものであるこ
とを特徴としている。前記選択手段は、前記共通鍵の情
報、前記生成された中間鍵の情報及び前記暗号化処理部
又は復号化処理部の右変換過程文の情報に基づくもので
あることを特徴としている。In order to achieve the above object, a cryptographic apparatus according to the present invention converts a block-shaped plaintext or ciphertext consisting of a predetermined number of bits into a plurality of predetermined plaintexts or ciphertexts generated from a common key. In an encryption device of a common key block cipher system, in which an intermediate key is input to a predetermined plurality of stages of encryption processing units or decryption processing units to perform encryption or decryption, the encryption processing unit or the decryption processing unit A selection function for selecting an encryption function or a decryption function to be used based on predetermined information. The selection means is based on the information on the common key. The selection means is based on information on the generated intermediate key. The selection means is based on information of a right conversion process sentence of the encryption processing unit or the decryption processing unit.
The selection means is based on the information on the common key and the information on the generated intermediate key. The selection means is based on information on the common key and information on a right conversion process statement of the encryption processing unit or the decryption processing unit. The selection means is based on information on the generated intermediate key and information on a right conversion process statement of the encryption processing unit or the decryption processing unit. The selection unit is based on information on the common key, information on the generated intermediate key, and information on a right conversion process statement of the encryption processing unit or the decryption processing unit.
【0021】[0021]
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図1は、一実施の形態に係る暗号
装置の概略構成図である。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a schematic configuration diagram of an encryption device according to an embodiment.
【0022】なお、上記従来の図8〜図10と同一構成
要素には同一符号を用い、これら構成要素については説
明が重複するため新規な部分のみについて異なる符号を
付して説明する。また、図中の()内の数はビット数の
一例であり、さらに、撹拌処理部3の段数nは16段と
して説明する。Note that the same reference numerals are used for the same components as those in the above-described conventional FIGS. 8 to 10, and the description of these components will be repeated, so that only the new portions will be denoted by different reference numerals. The number in parentheses in the figure is an example of the number of bits, and the number n of stages of the stirring unit 3 will be described as 16 steps.
【0023】図1中、20は選択部であって、暗号化関
数選択部20a、暗号化関数選択情報演算部20b及び
暗号化関数記憶部20cから構成されている。暗号化関
数選択部20aは、暗号化関数選択情報演算部20bが
共通鍵Kの情報を基に所定の演算処理を行った結果に基
づいて、暗号化関数記憶部20cに予め記憶されている
構造の異なる複数の暗号化関数の中から所定の暗号化関
数を選択できるように構成されている。In FIG. 1, reference numeral 20 denotes a selection unit, which comprises an encryption function selection unit 20a, an encryption function selection information calculation unit 20b, and an encryption function storage unit 20c. The encryption function selection unit 20a has a structure stored in advance in the encryption function storage unit 20c based on the result of the encryption function selection information calculation unit 20b performing a predetermined calculation process based on the information on the common key K. And a predetermined encryption function can be selected from a plurality of different encryption functions.
【0024】選択部20の動作の一例を説明すると、ま
ず、暗号化関数選択情報演算部20b内でトレースして
いる撹拌処理部3の対応段情報X(任意のX段目をあら
わす)と共通鍵Kとのビット毎の排他的論理和をとり、
それをトータルの段数n(16段)で割った剰余Yに1
を加算したものiが算出される。つまり、 i=1+Y=1+(X XOR K) mod n となる。An example of the operation of the selection unit 20 will be described. First, it is common to the corresponding stage information X (representing an arbitrary Xth stage) of the agitation processing unit 3 traced in the encryption function selection information calculation unit 20b. Take a bitwise exclusive OR with the key K,
The remainder Y divided by the total number of stages n (16 stages) is 1
I is calculated. That is, i = 1 + Y = 1 + (XORK) mod n.
【0025】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K=0000000000003A(16進表現)と
し、1段目のX=00000000000001(上位
拡張,16進表現)のときを計算するとi=12とな
り、2段目のX=00000000000002(上位
拡張,16進表現)のときを計算するとi=9となり、
第1段撹拌処理部31 には、暗号化関数f12を選択して
投入し、第2段撹拌処理部32 には、暗号化関数f9 を
選択して投入することとなる。3段以降も同様に計算し
て選択し投入することとなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
Assuming that K = 000000000000003A (hexadecimal expression), when X = 000000000000001 (upper-level extension, hexadecimal representation) in the first stage is calculated, i = 12. Is calculated as i = 9, and
The encryption function f12 is selected and input to the first-stage agitation processing unit 31, and the encryption function f9 is selected and input to the second-stage agitation processing unit 32. The same calculation, selection and input are performed for the third and subsequent stages.
【0026】上述のように、各暗号化関数部41 〜4n
に投入される暗号化関数は固定化された形で投入される
ことなく、共通鍵Kの情報に基づいて投入されるので、
暗号強度を高めることができる。As described above, each of the encryption function units 41 to 4n
Is input based on the information of the common key K without being input in a fixed form.
The encryption strength can be increased.
【0027】図2は、暗号化関数選択情報演算部20b
が定位置中間鍵(本発明の生成された中間鍵に該当)K
1 〜Kn の情報に基づいて暗号化関数選択部20aを操
作するようにしている。FIG. 2 shows an encryption function selection information calculation section 20b.
Is a fixed-position intermediate key (corresponding to the generated intermediate key of the present invention) K
The encryption function selector 20a is operated based on the information of 1 to Kn.
【0028】選択部20の動作の一例を説明すると、ま
ず、暗号化関数選択情報演算部20b内でトレースして
いる撹拌処理部3の対応段情報X(任意のX段目をあら
わす)と定位置中間鍵KX(X番目の定位置中間鍵をあ
らわし、49ビット以上はオール0とする)とのビット
毎の排他的論理和をとり、それをトータルの段数nで割
った剰余Yに1を加算したものiが算出される。つま
り、 i=1+Y=(X xor KX) mod n となる。An example of the operation of the selection unit 20 will be described. First, it is assumed that the corresponding stage information X (representing an arbitrary X-th stage) of the agitation processing unit 3 traced in the encryption function selection information calculation unit 20b. A bitwise exclusive OR with the position intermediate key KX (representing the X-th fixed position intermediate key, and 49 bits or more is all 0) is taken, and 1 is added to the remainder Y obtained by dividing the exclusive OR with the total number of stages n. The sum i is calculated. That is, i = 1 + Y = (X xor KX) mod n.
【0029】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K1 =00000000000016(上位拡張,16
進表現)、K2 =0000000000001B(上位
拡張,16進表現)とし、1段目のX=0000000
0000001(上位拡張,16進表現)のときを計算
するとi=8となり、2段目のX=000000000
00002(上位拡張,16進表現)のときを計算する
とi=10となり、第1段撹拌処理部31 には、暗号化
関数f8 を選択して投入し、第2段撹拌処理部32 には
暗号化関数f10を選択して投入することとなる。3段以
降も同様に計算して選択し投入することとなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
K1 = 0000000000016 (upper-level extension, 16
Hexadecimal notation), K2 = 0000000000001B (high-order extension, hexadecimal notation), and X = 00000000 in the first row
00000001 (high-order extension, hexadecimal representation), i = 8, and X = 000000000 in the second stage
0000 (high-order extension, hexadecimal notation), i = 10, and the encryption function f8 is selected and input to the first-stage agitation processing unit 31, and the encryption function f8 is input to the second-stage agitation processing unit 32. The conversion function f10 is selected and input. The same calculation, selection and input are performed for the third and subsequent stages.
【0030】上述のように、各暗号化関数部41 〜4n
に投入される暗号化関数は固定化された形で投入される
ことなく、定位置中間鍵K1 〜Kn の情報に基づいて投
入されるので、暗号強度を高めることができる。As described above, each of the encryption function units 41 to 4n
Are input based on the information of the fixed position intermediate keys K1 to Kn without being input in a fixed form, so that the encryption strength can be increased.
【0031】図3は、暗号化関数選択情報演算部20b
が撹拌処理部3の右変換過程文R0〜Rn-1 の情報に基
づいて暗号化関数選択部20aを操作するようにしてい
る。FIG. 3 shows an encryption function selection information calculation section 20b.
Operates the encryption function selection unit 20a based on the information of the right conversion process statements R0 to Rn-1 of the stirring processing unit 3.
【0032】選択部20の動作の一例を説明すると、ま
ず、暗号化関数選択情報演算部20b内でトレースして
いる撹拌処理部3の対応段情報X(任意のX段目をあら
わす)に対し、右変換過程文RX(X段目の暗号化関数
部に入力されるもの)の下位から4ビットまではそのま
まで5ビット以上をオール0とした数値rXに1を加算
したもののiが算出される。つまり、 i=rX+1 となる。An example of the operation of the selection unit 20 will be described. First, the corresponding stage information X (representing an arbitrary X-th stage) of the agitation processing unit 3 traced in the encryption function selection information operation unit 20b is described. , I is calculated by adding 1 to a numerical value rX in which 5 bits or more are all 0 while leaving the lower 4 bits of the right conversion process sentence RX (input to the X-th stage encryption function part) as it is. You. That is, i = rX + 1.
【0033】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
R1 =000001F6(16進表現)、R2 =000
001C2(16進表現)とする。1段目のときを計算
するとi=7となり、2段目のときを計算するとi=3
となり、第1段撹拌処理部31 には暗号化関数f7 を選
択して投入し、第2段撹拌処理部32 には暗号化関数f
3 を選択して投入することとなる。3段以降も同様に計
算して選択し投入することとなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
R1 = 000001F6 (hexadecimal notation), R2 = 000
001C2 (hexadecimal notation). When the first stage is calculated, i = 7, and when the second stage is calculated, i = 3.
Then, the encryption function f7 is selected and input to the first-stage agitation processing section 31 and the encryption function f7 is provided to the second-stage agitation processing section 32.
3 will be selected and input. The same calculation, selection and input are performed for the third and subsequent stages.
【0034】上述のように、各暗号化関数部41 〜4n
に投入される暗号化関数は固定化された形で投入される
ことなく、右変換過程文R0 〜Rn-1 の情報に基づいて
投入されるので、暗号強度を高めることができる。As described above, each of the encryption function units 41 to 4n
Are input based on the information of the right conversion process statements R0 to Rn-1 without being input in a fixed form, so that the encryption strength can be increased.
【0035】図4は、暗号化関数選択情報演算部20b
が共通鍵K及び定位置中間鍵K1 〜Kn の情報に基づい
て暗号化関数20aを操作するようにしている。FIG. 4 shows an encryption function selection information calculation section 20b.
Operate the encryption function 20a based on the information of the common key K and the fixed position intermediate keys K1 to Kn.
【0036】選択部20の動作の一例を説明すると、ま
ず、暗号化関数選択情報演算部20b内でトレースして
いる撹拌処理部3の対応情報X(任意のX段目をあらわ
す)に対し、共通鍵Kと定位置中間鍵KX(X番目の定
位置中間鍵をあらわし、49ビット以上はオール0とす
る)とのビット毎の排他的論理和をとり、それをトータ
ルの段数nで割った剰余Yに1を加算したものiが算出
される。つまり、 i=1+Y=1+(K xor KX) mod n となる。An example of the operation of the selection unit 20 will be described. First, with respect to the correspondence information X (representing an arbitrary X-th stage) of the stirring processing unit 3 traced in the encryption function selection information calculation unit 20b. The exclusive OR for each bit of the common key K and the fixed-position intermediate key KX (representing the X-th fixed-position intermediate key and 49 bits or more are all 0) is obtained, and the result is divided by the total number n of stages. The value i obtained by adding 1 to the remainder Y is calculated. That is, i = 1 + Y = 1 + (K xor KX) mod n.
【0037】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部へ投入する。具体的な数値例では、いま、K=
0000000000003A(16進表現)、K1 =
00000000000016(上位拡張,16進表
現)、K2 =0000000000001B(上位拡
張,16進表現)とすると、1段目のときを計算すると
i=13となり、2段目のときを計算するとi=2とな
り、第1段撹拌処理部31 には、暗号化関数f13を選択
して投入し、第2段撹拌処理部32 には、暗号化関数f
2 を選択して投入することとなる。3段以降も同様に計
算して選択し投入することとなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit. In a specific numerical example, K =
0000000000003A (hexadecimal notation), K1 =
If 0000000000000016 (upper-level extension, hexadecimal representation) and K2 = 0000000000001B (upper-level extension, hexadecimal representation), i = 13 when the first stage is calculated, i = 2 when the second stage is calculated, and The encryption function f13 is selected and input to the first-stage agitation processing unit 31, and the encryption function f13 is provided to the second-stage agitation processing unit 32.
Select 2 and input. The same calculation, selection and input are performed for the third and subsequent stages.
【0038】上述のように、各暗号化関数部41 〜4n
に投入される暗号化関数は固定化された形で投入される
ことなく、共通鍵K及び定位置中間鍵K1 〜Kn の情報
に基づいて投入されるので、暗号強度を高めることがで
きる。As described above, each of the encryption function units 41 to 4n
Are input based on the information of the common key K and the fixed position intermediate keys K1 to Kn without being input in a fixed form, so that the encryption strength can be increased.
【0039】図5は、暗号化関数選択情報演算部20b
が共通鍵K及び右変換過程文R0 〜Rn-1 の情報に基づ
いて暗号化関数選択部20aを操作するようにしてい
る。FIG. 5 shows an encryption function selection information calculation section 20b.
Operates the encryption function selector 20a based on the common key K and the information of the right conversion process statements R0 to Rn-1.
【0040】選択部20の動作の一例を説明すると、ま
ず、暗号化関数選択情報演算部20b内でトレースして
いる撹拌処理部3の対応段情報X(任意のX段目をあら
わす)に対し、共通鍵Kと、右変換過程文RX(X段目
の暗号化関数部に入力されるもの)の33ビット以上を
オール0にして56ビットまで拡張したものRRXとの
ビット毎の排他的論理和をとり、それをトータルの段数
nで割った剰余Yに1を加算したものiが算出される。
つまり、 i=1+Y=1+(K xor RRX) mod n となる。An example of the operation of the selection unit 20 will be described. First, the corresponding stage information X (representing an arbitrary X-th stage) of the stirring unit 3 traced in the encryption function selection information operation unit 20b is described. , The common key K, and the exclusive logical logic RRR of the right conversion process statement RX (input to the encryption function unit at the X-th stage), which is obtained by extending all 33 bits or more to 56 bits by setting all bits to 0. The sum i is calculated by adding 1 to the remainder Y obtained by dividing the sum by the total number of stages n.
That is, i = 1 + Y = 1 + (K xor RRX) mod n.
【0041】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K=0000000000003A(16進表現)、R
R1 =000000000001F6(上位拡張,16
進表現)、RR2 =000000000001C2(上
位拡張,16進表現)とすると、1段目のときを計算す
るとi=13となり、2段目の時を計算するとi=9と
なり、第1段撹拌処理部31 には、暗号化関数f13を選
択して投入し、第2段撹拌処理部32 には、暗号化関数
f9 を選択して投入することとなる。3段以降も同様に
計算して選択し投入することとなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
K = 000000000000003A (hexadecimal notation), R
R1 = 000000000000001F6 (upper-level extension, 16
If RR2 = 0000000000001C2 (high-order expansion, hexadecimal notation), i = 13 when the first stage is calculated, i = 9 when the second stage is calculated, and the first-stage stirring processing unit The encryption function f13 is selected and input to 31 and the encryption function f9 is selected and input to the second-stage stirring processor 32. The same calculation, selection and input are performed for the third and subsequent stages.
【0042】上述のように、各暗号化関数部41 〜4n
に投入される暗号化関数は固定化された形で投入される
ことなく、共通鍵K及び右変換過程文R0 〜Rn-1 の情
報に基づいて投入されるので、暗号強度を高めることが
できる。As described above, each of the encryption function units 41 to 4n
Are input based on the common key K and the information of the right conversion process statements R0 to Rn-1 without being input in a fixed form, so that the encryption strength can be increased. .
【0043】図6は、暗号化関数選択情報演算部20b
が定位置中間鍵K1 〜Kn 及び右変換過程文R0 〜Rn-
1 の情報に基づいて暗号化関数選択部20aを操作する
ようにしている。FIG. 6 shows an encryption function selection information calculation section 20b.
Is a fixed intermediate key K1 to Kn and a right conversion process statement R0 to Rn-
The encryption function selector 20a is operated based on the information of (1).
【0044】選択部20の動作の一例を説明すると、ま
ず、暗号化関数選択情報演算部20b内でトレースして
いる撹拌処理部3の対応段情報X(任意のX段目をあら
わす)に対し、定位置中間鍵KX(X番目の定位置中間
鍵をあらわし、49ビット以上はオール0とする)と、
右変換過程文RX(X段目の暗号化関数部に入力される
もの)の33ビット以上をオール0にして56ビットま
で拡張したものRRXとのビット毎の排他的論理和をと
り、それをトータルの段数nで割った剰余Yに1を加算
したものiが算出される。つまり、 i=1+Y=1+(KX xor RRX) mod n となる。An example of the operation of the selection unit 20 will be described. First, the corresponding stage information X (representing an arbitrary X-th stage) of the agitation processing unit 3 traced in the encryption function selection information operation unit 20b is described. , A fixed-position intermediate key KX (representing the X-th fixed-position intermediate key, and 49 bits or more are all 0s);
A right conversion process statement RX (input to the encryption function part at the Xth stage) obtained by expanding 33 bits or more to all 0s and extending it to 56 bits, taking an exclusive OR for each bit with the RRX, and calculating it. A value i obtained by adding 1 to the remainder Y divided by the total number n of stages is calculated. That is, i = 1 + Y = 1 + (KX xor RRX) mod n.
【0045】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K1 =00000000000016(上位拡張,16
進表現)、K2 =0000000000001B(上位
拡張,16進表現)、RR1 =00000000000
1F6(上位拡張,16進表現)、RR2 =00000
0000001C2(上位拡張,16進表現)とする
と、1段目のときを計算するとi=1となり、2段目の
ときを計算するとi=10となり、第1段撹拌処理部3
1 には、暗号化関数f1 を選択して投入し、第2段撹拌
処理部32 には、暗号化関数f10を選択して投入するこ
ととなる。3段以降も同様に計算して選択し投入するこ
ととなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
K1 = 0000000000016 (upper-level extension, 16
Hexadecimal notation), K2 = 0000000000001B (higher order extension, hexadecimal notation), RR1 = 000000000000
1F6 (higher order extension, hexadecimal representation), RR2 = 000000
00000001C2 (higher order extension, hexadecimal representation), the first stage calculation yields i = 1, the second stage calculation yields i = 10, and the first stage agitation processor 3
1, the encryption function f1 is selected and input, and the encryption function f10 is selected and input to the second-stage stirring section 32. The same calculation, selection and input are performed for the third and subsequent stages.
【0046】上述のように、各暗号化関数部41 〜4n
に投入される暗号化関数は固定化された形で投入される
ことなく、定位置中間鍵K1 〜Kn 及び右変換過程文R
0 〜Rn-1 の情報に基づいて投入されるので、暗号強度
を高めることができる。As described above, each of the encryption function units 41 to 4n
Are not input in a fixed form, but the fixed-position intermediate keys K1 to Kn and the right conversion process statement R
Since the information is input based on the information of 0 to Rn-1, the encryption strength can be increased.
【0047】図7は、暗号化関数選択情報演算部20b
が共通鍵K、定位置中間鍵K1 〜Kn 及び右変換過程文
R0 〜Rn-1 の情報に基づいて暗号化関数選択部20a
を操作するようにしている。FIG. 7 shows an encryption function selection information calculation section 20b.
Is based on the information of the common key K, the intermediate position keys K1 to Kn and the right conversion process statements R0 to Rn-1.
To operate.
【0048】選択部20の動作の一例を説明すると、ま
ず、暗号化関数選択情報演算部20b内でトレースして
いる撹拌処理部3の対応段情報X(任意のX段目をあら
わす)に対し、共通鍵Kと、定位置中間鍵KX(X番目
の定位置中間鍵をあらわし、49ビット以上はオール0
とする)と、右変換過程文RX(X段目の暗号化関数部
に入力されるもの)の33ビット以上をオール0にして
56ビットまで拡張したものRRXとのビット毎の排他
的論理和をとり、それをトータルの段数nで割った剰余
Yに1を加算したものiが算出される。つまり、 i=1+Y=1+(K xor KX xor RRX) mod
n となる。An example of the operation of the selection unit 20 will be described. First, the corresponding stage information X (representing an arbitrary X-th stage) of the stirring unit 3 traced in the encryption function selection information operation unit 20b is described. , Common key K, and fixed-position intermediate key KX (representing the X-th fixed-position intermediate key.
) And RRX obtained by extending all 33 bits or more of the right conversion process sentence RX (input to the encryption function unit at the Xth stage) to 56 bits and extending it to 56 bits , And 1 is added to the remainder Y obtained by dividing the result by the total number of stages n, and i is calculated. That is, i = 1 + Y = 1 + (K xor KX xor RRX) mod
n.
【0049】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K=0000000000003A(16進表現)、K
1 =00000000000016(上位拡張,16進
表現)、K2 =0000000000001B(上位拡
張,16進表現)、RR1 =000000000001
F6(上位拡張,16進表現)、RR2 =000000
000001C2(上位拡張,16進表現)とすると、
1段目のときを計算するとi=11となり、2段目のと
きを計算するとi=4となり、第1段撹拌処理部31 に
は暗号化関数f11を選択して投入し、第2段撹拌処理部
32 には暗号化関数f4 を選択して投入することとな
る。3段以降も同様に計算して選択し投入することとな
る。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
K = 000000000000003A (hexadecimal notation), K
1 = 0000000000016 (upper-level extension, hexadecimal representation), K2 = 000000000000001B (upper-level extension, hexadecimal representation), RR1 = 000000000001
F6 (higher order extension, hexadecimal notation), RR2 = 000000
00000C2 (higher order extension, hexadecimal representation)
When the first stage is calculated, i = 11, and when the second stage is calculated, i = 4. The encryption function f11 is selected and input to the first-stage agitation processing unit 31, and the second-stage agitation is performed. The processing unit 32 selects and inputs the encryption function f4. The same calculation, selection and input are performed for the third and subsequent stages.
【0050】上述のように、各暗号化関数部41 〜4n
に投入される暗号化関数は固定化された形で投入される
ことなく、共通鍵K、定位置中間鍵K1 〜Kn 及び右変
換過程文R0 〜Rn-1 の情報に基づいて投入されるの
で、暗号強度を高めることができる。As described above, each of the encryption function units 41 to 4n
Are input based on the information of the common key K, the fixed intermediate keys K1 to Kn and the right conversion process statements R0 to Rn-1 without being input in a fixed form. , The encryption strength can be increased.
【0051】復号化に関しては、上記図1〜図7のすべ
ての例において、従来と同様に鍵の投入順序を逆にして
行われるので、鍵スケジューリング部10aでの定位置
中間鍵K1 〜Kn の生成順序をK1 、K2 、…、Kn の
順ではなく、逆のKn 、…、K2 、K1 の順で生成され
る。つまり、1番目の定位置にはKn が、2番目の定位
置にはKn-1 が、n番目の定位置にはK1 がきて新たな
K1 ,K2 ,…,Knとなる。また、上記図1及び図2
の実施の形態のみ、iの算出において、Xの代わりにn
−X+1が代入される。そして、上記全ての実施の形態
において、復号化で用いられる各段の復号化関数は、暗
号化時と同じ順に選択されて投入される。In all of the examples shown in FIGS. 1 to 7, decryption is performed by reversing the order of key input as in the prior art. Therefore, the decryption of the fixed-position intermediate keys K1 to Kn in the key scheduling unit 10a is performed. The generation order is not the order of K1, K2,..., Kn, but the order of the opposite Kn,..., K2, K1. That is, Kn is at the first fixed position, Kn-1 is at the second fixed position, K1 is at the n-th fixed position, and new K1, K2,... 1 and 2 described above.
In the embodiment only, in calculating i, n is used instead of X.
−X + 1 is substituted. In all of the above embodiments, the decryption function of each stage used in decryption is selected and input in the same order as in the encryption.
【0052】[0052]
【発明の効果】本発明に係る暗号装置は、暗号化処理部
又は復号化処理部で用いられる暗号化関数又は復号化関
数を所定の情報に基づいて選択する選択手段を設けたの
で、暗号強度を強めることができる。選択手段を共通鍵
の情報に基づくものとしたときは、暗号強度を強めるこ
とができる。選択手段を生成された中間鍵の情報に基づ
くものとしたときは、暗号強度を強めることができる。
選択手段を暗号化処理部又は復号化処理部の右変換過程
文の情報に基づくものとしたときは、暗号強度を強める
ことができる。選択手段を共通鍵の情報及び生成された
中間鍵の情報に基づくものとしたときは、暗号強度を強
めることができる。選択手段を共通鍵の情報及び暗号化
処理部又は復号化処理部の右変換過程文の情報に基づく
ものとしたときは、暗号強度を強めることができる。選
択手段を生成された中間鍵の情報及び暗号化処理部又は
復号化処理部の右変換過程文の情報に基づくものとした
ときは、暗号強度を強めることができる。選択手段を共
通鍵の情報、生成された中間鍵の情報及び暗号化処理部
又は復号化処理部の右変換過程文の情報に基づくものと
したときは、暗号強度を強めることができる。The encryption device according to the present invention is provided with a selection means for selecting an encryption function or a decryption function used in the encryption processing section or the decryption processing section based on predetermined information. Can be strengthened. When the selecting means is based on the information of the common key, the encryption strength can be increased. When the selection means is based on the information of the generated intermediate key, the encryption strength can be increased.
When the selection means is based on the information of the right conversion process statement of the encryption processing unit or the decryption processing unit, the encryption strength can be increased. When the selection means is based on the information on the common key and the information on the generated intermediate key, the encryption strength can be increased. When the selection means is based on the information of the common key and the information of the right conversion process statement of the encryption processing unit or the decryption processing unit, the encryption strength can be increased. When the selection means is based on the information of the generated intermediate key and the information of the right conversion process statement of the encryption processing unit or the decryption processing unit, the encryption strength can be increased. When the selection means is based on the information on the common key, the information on the generated intermediate key, and the information on the right conversion process statement of the encryption processing unit or the decryption processing unit, the encryption strength can be increased.
【図1】本発明の一実施の形態に係る暗号装置の概略構
成図である。FIG. 1 is a schematic configuration diagram of an encryption device according to an embodiment of the present invention.
【図2】本発明の他の実施の形態に係る暗号装置の概略
構成図である。FIG. 2 is a schematic configuration diagram of an encryption device according to another embodiment of the present invention.
【図3】本発明の他の実施の形態に係る暗号装置の概略
構成図である。FIG. 3 is a schematic configuration diagram of an encryption device according to another embodiment of the present invention.
【図4】本発明の他の実施の形態に係る暗号装置の概略
構成図である。FIG. 4 is a schematic configuration diagram of an encryption device according to another embodiment of the present invention.
【図5】本発明の他の実施の形態に係る暗号装置の概略
構成図である。FIG. 5 is a schematic configuration diagram of an encryption device according to another embodiment of the present invention.
【図6】本発明の他の実施の形態に係る暗号装置の概略
構成図である。FIG. 6 is a schematic configuration diagram of an encryption device according to another embodiment of the present invention.
【図7】本発明の他の実施の形態に係る暗号装置の概略
構成図である。FIG. 7 is a schematic configuration diagram of an encryption device according to another embodiment of the present invention.
【図8】従来の暗号装置の概略構成図である。FIG. 8 is a schematic configuration diagram of a conventional encryption device.
【図9】中間鍵生成部の詳細図である。FIG. 9 is a detailed diagram of an intermediate key generation unit.
【図10】暗号化関数部の詳細図である。FIG. 10 is a detailed diagram of an encryption function unit.
1 平文(暗号文)ブロック 2 初期転置部 3 本発明の暗号化処理部及び復号化処理部に当たる撹
拌処理部 41 〜4n 暗号化関数部(復号化のときは復号化関数
部に当たる) 4A,4D 線形変換部 4B 排他的論理和部 4C1 〜4Cm 非線形処理ボックス 51 〜5n 排他的論理和部 6 逆初期転置部 7 暗号分(平文)ブロック 10 中間鍵生成部 10a 鍵スケジューリング部 20 選択部 20a 暗号化関数選択部 20b 暗号化関数選択情報演算部 20c 暗号化関数記憶部 R0 〜Rn 右変換過程文 L0 〜Ln 左変換過程文 K 共通鍵 K1 〜Kn 定位置中間鍵(中間鍵)DESCRIPTION OF SYMBOLS 1 Plaintext (ciphertext) block 2 Initial transposition part 3 Stirring processing part which corresponds to the encryption processing part and the decryption processing part of this invention 41-4n Encryption function part (It corresponds to the decryption function part at the time of decryption) 4A, 4D Linear transformation unit 4B Exclusive OR unit 4C1 to 4Cm Nonlinear processing box 51 to 5n Exclusive OR unit 6 Reverse initial transposition unit 7 Cipher (plaintext) block 10 Intermediate key generation unit 10a Key scheduling unit 20 Selection unit 20a Encryption Function selection unit 20b Encryption function selection information calculation unit 20c Encryption function storage unit R0 to Rn Right conversion process statement L0 to Ln Left conversion process statement K Common key K1 to Kn Positional intermediate key (intermediate key)
【手続補正書】[Procedure amendment]
【提出日】平成8年11月25日[Submission date] November 25, 1996
【手続補正1】[Procedure amendment 1]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0013[Correction target item name] 0013
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0013】生成された暗号化関数出力文Bi は、第i
段撹拌処理部3i の排他的論理和部5i で左変換過程文
Li-1 との間で排他的論理和がとられる。The generated encrypted function output sentence Bi is
The left transformation process statement is performed by the exclusive OR unit 5i of the stage mixing unit 3i.
An exclusive OR is performedwith Li-1 .
【手続補正2】[Procedure amendment 2]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0033[Correction target item name] 0033
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0033】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
R0=000001F6(16進表現)、R1=000
001C2(16進表現)とする。1段目のときを計算
するとi=7となり、2段目のときを計算するとi=3
となり、第1段撹拌処理部31 には暗号化関数f7 を選
択して投入し、第2段撹拌処理部32 には暗号化関数f
3 を選択して投入することとなる。3段以降も同様に計
算して選択し投入することとなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
R0 = 000001F6 (hexadecimal notation), R1 = 000
001C2 (hexadecimal notation). When the first stage is calculated, i = 7, and when the second stage is calculated, i = 3.
Then, the encryption function f7 is selected and input to the first-stage agitation processing section 31 and the encryption function f7 is provided to the second-stage agitation processing section 32.
3 will be selected and input. The same calculation, selection and input are performed for the third and subsequent stages.
【手続補正3】[Procedure amendment 3]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0041[Correction target item name] 0041
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0041】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K=0000000000003A(16進表現)、R
R0=000000000001F6(上位拡張,16
進表現)、RR1=000000000001C2(上
位拡張,16進表現)とすると、1段目のときを計算す
るとi=13となり、2段目の時を計算するとi=9と
なり、第1段撹拌処理部31 には、暗号化関数f13を選
択して投入し、第2段撹拌処理部32 には、暗号化関数
f9 を選択して投入することとなる。3段以降も同様に
計算して選択し投入することとなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
K = 000000000000003A (hexadecimal notation), R
R0 = 00000000001F6 (upper-level extension, 16
Susumu representation), RR1 = 000000000001C2 (upper extensions, when hexadecimal representation), next i = 13 is calculated when the first stage, next i = 9 is calculated when the second stage, the first stage stirring treatment The encryption function f13 is selected and input to the section 31 and the encryption function f9 is selected and input to the second-stage stirring processing section 32. The same calculation, selection and input are performed for the third and subsequent stages.
【手続補正4】[Procedure amendment 4]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0045[Correction target item name] 0045
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0045】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K1 =00000000000016(上位拡張,16
進表現)、K2 =0000000000001B(上位
拡張,16進表現)、RR0=00000000000
1F6(上位拡張,16進表現)、RR1=00000
0000001C2(上位拡張,16進表現)とする
と、1段目のときを計算するとi=1となり、2段目の
ときを計算するとi=10となり、第1段撹拌処理部3
1 には、暗号化関数f1 を選択して投入し、第2段撹拌
処理部32 には、暗号化関数f10を選択して投入するこ
ととなる。3段以降も同様に計算して選択し投入するこ
ととなる。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
K1 = 0000000000016 (upper-level extension, 16
Susumu representation), K2 = 0000000000001B (upper extensions, hexadecimal), RR0 = 00000000000
1F6 (higher-order extension, hexadecimal notation), RR1 = 000000
00000001C2 (higher order extension, hexadecimal representation), the first stage calculation yields i = 1, the second stage calculation yields i = 10, and the first stage agitation processor 3
1, the encryption function f1 is selected and input, and the encryption function f10 is selected and input to the second-stage stirring section 32. The same calculation, selection and input are performed for the third and subsequent stages.
【手続補正5】[Procedure amendment 5]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0049[Correction target item name] 0049
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0049】次に、このXとiを暗号化関数選択部20
aに渡し、この暗号化関数選択部20aでは、暗号化関
数記憶部20cから暗号化関数fi を選択して第X段撹
拌処理部3Xへ投入する。具体的な数値例では、いま、
K=0000000000003A(16進表現)、K
1 =00000000000016(上位拡張,16進
表現)、K2 =0000000000001B(上位拡
張,16進表現)、RR0=000000000001
F6(上位拡張,16進表現)、RR1=000000
000001C2(上位拡張,16進表現)とすると、
1段目のときを計算するとi=11となり、2段目のと
きを計算するとi=4となり、第1段撹拌処理部31 に
は暗号化関数f11を選択して投入し、第2段撹拌処理部
32 には暗号化関数f4 を選択して投入することとな
る。3段以降も同様に計算して選択し投入することとな
る。Next, the X and i are stored in the encryption function selector 20.
The encryption function selection unit 20a selects the encryption function fi from the encryption function storage unit 20c and inputs it to the X-stage agitation processing unit 3X. In a concrete numerical example,
K = 000000000000003A (hexadecimal notation), K
1 = 00000000000016 (upper extensions, hexadecimal), K2 = 0000000000001B (upper extensions, hexadecimal), RR0 = 000000000001
F6 (higher order extension, hexadecimal representation), RR1 = 000000
00000C2 (higher order extension, hexadecimal representation)
When the first stage is calculated, i = 11, and when the second stage is calculated, i = 4. The encryption function f11 is selected and input to the first-stage agitation processing unit 31, and the second-stage agitation is performed. The processing unit 32 selects and inputs the encryption function f4. The same calculation, selection and input are performed for the third and subsequent stages.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31219996AJPH10153954A (en) | 1996-11-22 | 1996-11-22 | Ciphering device |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31219996AJPH10153954A (en) | 1996-11-22 | 1996-11-22 | Ciphering device |
| Publication Number | Publication Date |
|---|---|
| JPH10153954Atrue JPH10153954A (en) | 1998-06-09 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31219996APendingJPH10153954A (en) | 1996-11-22 | 1996-11-22 | Ciphering device |
| Country | Link |
|---|---|
| JP (1) | JPH10153954A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6446050B1 (en)* | 1997-11-14 | 2002-09-03 | Hitachi, Ltd. | Method of and system for processing electronic document and recording medium for recording processing program |
| WO2006121149A1 (en)* | 2005-05-13 | 2006-11-16 | Ochanomizu University | Pseudo random number generation system, encryption system, and decryption system |
| JP2011128655A (en)* | 2011-03-19 | 2011-06-30 | Ochanomizu Univ | Pseudo random number generation system |
| JP2011145698A (en)* | 2011-03-19 | 2011-07-28 | Ochanomizu Univ | Encryption system and decryption system |
| JP2011150368A (en)* | 2011-03-19 | 2011-08-04 | Ochanomizu Univ | Encryption system and decryption system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6446050B1 (en)* | 1997-11-14 | 2002-09-03 | Hitachi, Ltd. | Method of and system for processing electronic document and recording medium for recording processing program |
| WO2006121149A1 (en)* | 2005-05-13 | 2006-11-16 | Ochanomizu University | Pseudo random number generation system, encryption system, and decryption system |
| US8553880B2 (en) | 2005-05-13 | 2013-10-08 | Ochanomizu University | Pseudorandom number generating system, encryption system, and decryption system |
| JP2011128655A (en)* | 2011-03-19 | 2011-06-30 | Ochanomizu Univ | Pseudo random number generation system |
| JP2011145698A (en)* | 2011-03-19 | 2011-07-28 | Ochanomizu Univ | Encryption system and decryption system |
| JP2011150368A (en)* | 2011-03-19 | 2011-08-04 | Ochanomizu Univ | Encryption system and decryption system |
| Publication | Publication Date | Title |
|---|---|---|
| AU767323B2 (en) | Block encryption device using auxiliary conversion | |
| US6314186B1 (en) | Block cipher algorithm having a robust security against differential cryptanalysis, linear cryptanalysis and higher-order differential cryptanalysis | |
| US7079651B2 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
| US20230261853A1 (en) | Method and apparatus for improving the speed of advanced encryption standard (aes) decryption algorithm | |
| JPWO2009075337A1 (en) | ENCRYPTION METHOD, DECRYPTION METHOD, DEVICE, AND PROGRAM | |
| KR20050078271A (en) | Hardware cryptographic engine and method improving power consumption and operation speed | |
| Kapoor et al. | Analysis of symmetric and asymmetric key algorithms | |
| Baig et al. | A Comparative Analysis of AES, RSA, and 3DES Encryption Standards based on Speed and Performance | |
| US6732271B1 (en) | Method of deciphering ciphered data and apparatus for same | |
| Achkoun et al. | SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes | |
| Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
| KR100456599B1 (en) | Cryptographic apparatus with parallel des structure | |
| JPH10153954A (en) | Ciphering device | |
| JP4515716B2 (en) | Extended key generation device, encryption device, and encryption system | |
| JP3389210B2 (en) | Extended key generation device, encryption / decryption device, extended key generation method, and storage medium | |
| JPH10153955A (en) | Ciphering device | |
| JPH09251267A (en) | Encryption device and encryption method | |
| JPH10153953A (en) | Ciphering device | |
| JP2870532B2 (en) | Cryptographic converter | |
| Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
| US20250211422A1 (en) | Linear converter, block encryption and/or decryption circuits and chip | |
| JP2000089666A (en) | Encryption / decryption device | |
| JP3371981B2 (en) | Block cipher creation device | |
| JP2000019958A (en) | Cryptographic processing device, cryptographic processing method, and storage medium storing cryptographic processing program | |
| Prodhan et al. | Performance analysis of parallel implementation of Advanced Encryption Standard (AES) over serial implementation |
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal | Free format text:JAPANESE INTERMEDIATE CODE: A02 Effective date:20040914 |