JP2004102310A - Device and method for ciphering - Google Patents

Device and method for ciphering Download PDF

Info

Publication number
JP2004102310A
JP2004102310A JP2003387215A JP2003387215A JP2004102310A JP 2004102310 A JP2004102310 A JP 2004102310A JP 2003387215 A JP2003387215 A JP 2003387215A JP 2003387215 A JP2003387215 A JP 2003387215A JP 2004102310 A JP2004102310 A JP 2004102310A
Authority
JP
Japan
Prior art keywords
key
keys
input
intermediate keys
stirring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003387215A
Other languages
Japanese (ja)
Other versions
JP3836834B2 (en
Inventor
Fumihiko Sano
佐野 文彦
Koichi Sakurai
櫻井 幸一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003387215A priority Critical patent/JP3836834B2/en
Publication of JP2004102310A publication Critical patent/JP2004102310A/en
Application granted granted Critical
Publication of JP3836834B2 publication Critical patent/JP3836834B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a device and a method for ciphering in which safety is increased while maintaining interchangeability with the DES. <P>SOLUTION: The device is provided with two key schedule sections A and B which have the same constitution and respectively generate intermediate keys, that are used to scramble an input message, from two ciphered keys obtained by equally dividing the key information made of prescribed bit strings, an exclusive OR 14 which is used to obtain an exclusive OR for the two intermediate keys outputted from the sections A and B and a scrambling section which is used to scramble the input message using either one of the intermediate keys when it is detected that the two intermediate keys are the same by the fact that the exclusive OR 14 becomes 0 and used to scramble the input message based on the two intermediate keys when it is detected that the two intermediate keys are different from each other. <P>COPYRIGHT: (C)2004,JPO

Description

 本発明は暗号化装置及び暗号化方法に関し、特に、秘密鍵ブロック暗号を用いた暗号化装置及び暗号化方法に関する。 The present invention relates to an encryption device and an encryption method, and more particularly, to an encryption device and an encryption method using a secret key block cipher.

 DES(Data Encryption Standard)は、現在、最も広範に用いられている秘密鍵ブロック暗号系であり、文献、“Data Encryption Standard,”Federal Information Processing Standards Publication 46,National Bureau of Standards,U.S.Department of Commerce, 1977.に詳細に記載されている。 DES (Data Encryption Standard) is currently the most widely used secret key block cryptosystem, and is described in the literature, “Data Encryption Standard,” Federal Information Processing Standards Publication 46, National Bureau of Standards, USDepartment of Commerce, 1977.

 DESは64ビット入力、64ビット出力のブロック暗号であり、そのうち8ビットは鍵パリティ用として使用されるので56ビットのみが実質的な鍵である。したがって、DESが開発された当初からその安全性について議論がなされており、1977年に発表されて以来、さまざまな観点からの評価が行われている。その結果、1990年ごろに差分解読法や線形解読法といった鍵の全数探索よりも効率的な解読法が次々と提案された。特に、線形解読法を用いることにより、標準である16段DESの解読に成功している。 $ DES is a 64-bit input, 64-bit output block cipher. Of these, 8 bits are used for key parity, so only 56 bits are a substantial key. Therefore, the safety of DES has been discussed since its inception, and since its introduction in 1977, evaluations have been made from various viewpoints. As a result, around 1990, one after another, more efficient decryption methods such as differential cryptanalysis and linear cryptanalysis than key exhaustive search were proposed. In particular, the use of the linear decoding method has succeeded in decoding the standard 16-stage DES.

 なお、差分解読法については、文献、E.Biham and A.Shamir,“Differential Cryptanalysis of DES-like Cryptosystems,”Journal of CRYPTOLOGY,Vol.4,Number 1,1991に、線形解読法については、文献、松井允、“DES暗号の線形解読(I)”、暗号と情報セキュリティシンポジウム、SCIS93−3C、1993に記載されている。 For information on differential cryptanalysis, refer to the literature, E. Biham and A. Shamir, “Differential Cryptanalysis of DES-like Cryptosystems,” Journal of CRYPTOLOGY, Vol. 4, Number 1, 1991. Matsui, Makoto, "Linear Decryption of DES Cryptography (I)", Cryptography and Information Security Symposium, SCIS93-3C, 1993.

 DESが開発されてからの技術の発展や上記したような解読法を考慮すると、DESには以下のような問題点があると考えられる。 Considering the development of technology since the development of や DES and the above-described decoding method, DES is considered to have the following problems.

 (1)現在のハードウェア技術の進歩を考えると処理を高速に行なうために128ビットのブロック暗号を構成することが可能であるが、いぜんとして64ビットのブロック暗号を用いている。 (1) Considering the progress of current hardware technology, it is possible to configure a 128-bit block cipher to perform processing at high speed, but a 64-bit block cipher is still used.

 (2)F関数の構造に問題がある。DESが開発された当時では、線形解読法が発案されておらず、線形解読法に対する耐性が考慮されていない。また、ハードウェア技術の発達の制約からF関数に含まれるS箱のテーブルサイズが小さい。現在のハードウェア技術のレベルを考えるとS箱のサイズをより大きくして安全性を高めることが望ましい。 (2) There is a problem in the structure of the F function. At the time DES was developed, no linear cryptanalysis was invented, and its tolerance to linear cryptanalysis was not considered. Further, the table size of the S box included in the F function is small due to the restriction of the development of hardware technology. In view of the current level of hardware technology, it is desirable to increase the size of the S box to enhance security.

 (3)56ビットからなる鍵を用いているが、56ビットの鍵の長さでは安全ではない。ハードウェアの発達により、現在では256個の鍵の組合せを調べるハードウェアの実現が可能である。また、専用のハードウェアを用いることにより、鍵の全数探索が可能であるとの発表もなされている。また、DESの解読方法の1つである線形解読法は、鍵の一部のビットを解読により特定して残りのビットに対して全数検索を行なうものであるから、鍵を増やすことにより残りの鍵ビットの全数検索を行なう手間が増大して安全性が向上すると考えられる。 (3) Although a key consisting of 56 bits is used, it is not secure with a key length of 56 bits. With the development of hardware, now, it enables hardware to examine the combination of 2 56 keys. It has also been announced that the use of dedicated hardware makes it possible to search for all keys. In addition, a linear decryption method, which is one of the DES decryption methods, is to identify some bits of a key by decryption and perform an exhaustive search on the remaining bits. It is conceivable that the time and effort for performing an exhaustive search for the key bits is increased and the security is improved.

 上記した問題において、(3)のDESの鍵の長さに関する問題については、DESチップをそのまま使用しながら鍵を長くする方法が考えられている。例えば、論文、B.Schneier,“Applied Cryptography,”2nd edition,Wiley (1996)は、DESXやTriple DESなどの暗号化方法を開示している。 Regarding the above problem (3) regarding the problem of the DES key length, a method of lengthening the key while using the DES chip as it is has been considered. For example, a dissertation, B. Schneier, "Applied Cryptography," 2nd edition, Wiley (1996) discloses encryption methods such as DESX and Triple DES.

 DESXはDESの入力及び出力の各々と64ビットの鍵との排他的論理和をとる方法であるが、鍵の全数探索に対しては理論的な安全性が証明されている(J.Kilian and P.Rogaway,“How to protect DES against exhaustive key search,”Proc.CRYPTO’ 96,pp.252-267(1996)を参照)。また、Triple DESはDESを3重に処理するアルゴリズムを用いているので、鍵の全数探索だけでなく、差分解読法や線形解読法に対しても、DES以上の安全性が確保できる。 DESX is a method of performing an exclusive OR operation on each of the input and output of DES and a 64-bit key. However, theoretical security has been proven for exhaustive key search (J. Kilian and P. Rogaway, "How to protect DES against exhaustive key search," Proc. CRYPTO'96, pp. 252-267 (1996)). Further, since Triple DES uses an algorithm for processing DES in a triple manner, security higher than that of DES can be secured not only for exhaustive key search but also for differential cryptanalysis and linear cryptanalysis.

 しかしながら、上記したDESXは差分解読法や線形解読法に対してはDESと同等の安全性しか達成されない。また、Triple DESは構成が3倍になるので、処理速度はDESの処理速度の1/3となる。 DE However, the above-mentioned DESX achieves only the same security as DES against differential cryptanalysis and linear cryptanalysis. Also, since the configuration of Triple DES is tripled, the processing speed is 1/3 of the processing speed of DES.

 一方、上記した(1)、(2)で述べた問題点はDESの構造自体に関しており、これらを改良することは容易でない。また、これらを改良すれば本体のDESとは異なった暗号化処理を行なうことになり、DESとの互換性の問題が新たに発生してしまう。 On the other hand, the problems described in (1) and (2) above relate to the structure of the DES itself, and it is not easy to improve them. Further, if these are improved, an encryption process different from that of the DES of the main body is performed, and a problem of compatibility with the DES newly occurs.

 本発明の暗号化装置及び暗号化方法はこのような課題に着目してなされたものであり、その目的とするところは、DESとの互換性を維持しつつ安全性を増大することができる暗号化装置及び暗号化方法を提供することにある。 The encryption apparatus and encryption method of the present invention have been made in view of such a problem, and an object thereof is to provide an encryption apparatus capable of increasing security while maintaining compatibility with DES. An encryption device and an encryption method are provided.

 上記の目的を達成するために、第1の発明に係る暗号化装置は、所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、この複数の鍵生成手段から出力された複数の中間鍵を互いに比較する比較手段と、この比較手段によって比較された複数の中間鍵が同一であることが検出された場合には、複数の中間鍵のいずれか1つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、を具備する。 In order to achieve the above object, an encryption device according to a first aspect of the present invention is configured to agitate an input message from a plurality of encryption keys obtained by dividing key information including a predetermined bit string into a plurality of pieces. A plurality of key generating means having the same configuration for generating intermediate keys to be used, a comparing means for comparing a plurality of intermediate keys output from the plurality of key generating means with each other, and a plurality of intermediate keys compared by the comparing means. When it is detected that the keys are the same, the input message is agitated using any one of the plurality of intermediate keys, and when it is detected that the compared plurality of intermediate keys are not the same. Comprises stirring means for stirring the input electronic message based on all of the plurality of intermediate keys.

 また、第2の発明に係る暗号化方法は、入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、比較手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、前記中間鍵生成工程において生成された複数の中間鍵を前記比較手段により互いに比較する比較工程と、この比較工程において比較された複数の中間鍵が同一であることが検出された場合には、前記データ攪拌部において複数の中間鍵のいずれか1つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、を具備する。 Also, the encryption method according to the second invention is characterized in that a data agitating unit that agitates an input electronic message depending on externally input key information and outputs a corresponding encoded electronic message and a plurality of key generation units having the same configuration. And a comparing means, comprising: a key scheduler for expanding the intermediate information into an intermediate key when supplying the key information to the data agitator. From a plurality of encryption keys obtained by dividing key information consisting of a plurality of pieces of key information, by the plurality of key generation means, respectively, an intermediate key generation step of generating an intermediate key used to stir an input telegram; A comparing step of comparing the plurality of intermediate keys generated in the intermediate key generating step with each other by the comparing means; and, when it is detected that the plurality of intermediate keys compared in the comparing step are the same, The data agitating unit agitates the input message using any one of the plurality of intermediate keys, and when it is detected that the compared plurality of intermediate keys are not the same, the data agitating unit uses the plurality of intermediate keys. A stirring step of stirring the input electronic message based on all of the intermediate keys.

 また、第3の発明に係る暗号化装置は、所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、この複数の鍵生成手段から出力された複数の中間鍵を互いに排他的論理和する手段と、この排他的倫理和された結果が0となった場合には、複数の中間鍵のいずれか1つを用いて入力電文を攪拌し、該排他的論理和された結果が0とならなかった場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、を具備する。 Further, the encryption device according to the third invention generates an intermediate key used to stir an input message from a plurality of encryption keys obtained by dividing key information consisting of a predetermined bit string into a plurality of pieces. A plurality of key generation means having the same configuration, a plurality of intermediate keys output from the plurality of key generation means being exclusive ORed with each other. Agitates the input message using any one of the plurality of intermediate keys, and if the result of the exclusive OR operation does not become 0, converts the input message based on all of the plurality of intermediate keys. Stirring means for stirring.

 また、第4の発明に係る暗号化方法は、入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、排他的論理和演算手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、
 所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、この中間鍵生成工程において生成された複数の中間鍵について前記排他的論理和演算手段によって排他的論理和を演算する演算工程と、この演算工程での演算結果が0となった場合には、前記データ攪拌部において複数の中間鍵のいずれか1つを用いて入力電文を攪拌し、前記演算工程での演算結果が0とならなかった場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、を具備する。
Further, the encryption method according to the fourth aspect of the present invention provides a data agitating unit that agitates an input telegram depending on key information input from the outside and outputs a corresponding encoded telegram; Means, and an exclusive OR operation means, wherein the key information is supplied to the data agitation section, and a key schedule section for developing the intermediate key is provided. ,
An intermediate key generation step of generating, from a plurality of encryption keys obtained by dividing key information consisting of a predetermined bit string into a plurality of pieces, an intermediate key used to stir an input telegram by the plurality of key generation means; An operation step of calculating exclusive OR by the exclusive OR operation means for the plurality of intermediate keys generated in the intermediate key generation step, and when the operation result in this operation step becomes 0, The data agitating unit agitates the input telegram using any one of the plurality of intermediate keys, and if the operation result in the operation step does not become 0, the data agitating unit generates a plurality of intermediate keys. And a stirring step of stirring the input message on the basis of all of them.

 本発明によれば、DESとの互換性を維持しつつ安全性を増大することができる暗号化装置及び暗号化方法を提供できる。 According to the present invention, it is possible to provide an encryption device and an encryption method that can increase security while maintaining compatibility with DES.

 以下、図面を参照して本発明の一実施形態を詳細に説明する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

 図1は本実施形態に係る暗号化装置の構成を示す図であり、入力電文としての平文(64ビット)を外部から入力された鍵情報kに依存して攪拌し、対応する符号化電文を出力する第1段〜第16段から構成されるデータ攪拌部と、鍵情報kを前記データ攪拌部に供給される中間鍵に展開する鍵スケジュール部4とからなる。 FIG. 1 is a diagram showing a configuration of an encryption device according to the present embodiment, in which a plain text (64 bits) as an input telegram is mixed depending on key information k input from the outside, and a corresponding coded telegram is converted. The data stirrer includes first to sixteenth stages for output and a key scheduler 4 for expanding key information k into intermediate keys supplied to the data stirrer.

 図1において、平文(64ビット)は初期転置IPが施された後、2つに等分されて左側32ビットL0 と右側32ビットR0 が生成される。 In FIG. 1, a plaintext (64 bits) is subjected to an initial transposition IP, and is equally divided into two to generate a left 32 bits L 0 and a right 32 bits R 0 .

 一方、鍵スケジュール4には128ビットの鍵情報kが入力される。鍵スケジュール部4は以下に述べる方法によってF関数拡大鍵とF2鍵及びF2シフト鍵を生成して、データ攪拌部のF関数2とF2関数3にそれぞれ入力する。ここでF関数2は通常のDESと同様の攪拌処理を行なうものであり、F2関数3は以下に述べるような攪拌処理を行なう。 On the other hand, the key schedule 4 receives 128-bit key information k. The key schedule unit 4 generates an F function expansion key, an F2 key, and an F2 shift key by the method described below, and inputs them to the F function 2 and the F2 function 3 of the data agitation unit. Here, the F function 2 performs the same agitation processing as in the ordinary DES, and the F2 function 3 performs the agitation processing described below.

 F関数2はF関数拡大鍵とF2関数3の出力とを受けて所定の攪拌処理を行ってその結果を排他的論理和1に入力する。排他的論理和1はL0 (32ビット)とF関数2の出力との間の排他的論理和を出力するが、これによって次段の右側32ビットR1 が得られる。また、F2関数3の出力は次段の左側32ビットL1 となる。 The F-function 2 receives the F-function expansion key and the output of the F2 function 3, performs a predetermined agitation process, and inputs the result to the exclusive OR 1. The exclusive OR 1 outputs an exclusive OR between L 0 (32 bits) and the output of the F function 2, thereby obtaining the right 32 bits R 1 of the next stage. The output of F2 function 3 becomes the next stage of the left 32-bit L 1.

 以上の攪拌処理が第1段で行われ、L1 (32ビット)とR1 (32ビット)とが第2段に送られて第1段と同様の処理が施される。このようにして第16段までの攪拌処理が行われた後、最終転置IP-1が施されて暗号文(64ビット)が得られる。 The above-described stirring processing is performed in the first stage, and L 1 (32 bits) and R 1 (32 bits) are sent to the second stage, and the same processing as in the first stage is performed. After the stirring process up to the 16th stage is performed in this way, the final transposition IP- 1 is performed to obtain a cipher text (64 bits).

 このように本実施形態では、DESの各段で使用される鍵のビット数を増加させるために、通常のDESの構成に加えて、各段の入力側(図1に示す位置)にF2関数を組み込んでいる。 As described above, in this embodiment, in order to increase the number of bits of the key used in each stage of the DES, in addition to the normal DES configuration, the F2 function is added to the input side (the position shown in FIG. 1) of each stage. Is incorporated.

 図2は図1に示す鍵スケジュール部4の1段分の構成を示しており、DESと同一の構成の鍵スケジュール部Aと鍵スケジュール部Bとからなる。したがって鍵スケジュール部4はこのような構成の鍵スケジュール部を16段設けた構成を有する。鍵スケジュール部A,Bとも同一の処理を行なうのでここでは鍵スケジュール部Aについてのみ説明する。 FIG. 2 shows a configuration of one stage of the key schedule unit 4 shown in FIG. 1, and includes a key schedule unit A and a key schedule unit B having the same configuration as the DES. Therefore, the key schedule unit 4 has a configuration in which 16 stages of the key schedule unit having such a configuration are provided. Since the key schedule units A and B perform the same processing, only the key schedule unit A will be described here.

 128ビットの鍵情報は半分ずつに分割され、縮約型転置PC−1を施された後、56ビットの鍵として各々の鍵スケジュール部に入力される。 The $ 128-bit key information is divided into halves, subjected to the contracted transposition PC-1, and then input as a 56-bit key to each key schedule unit.

 鍵(56ビット)を2つに等分して生成した28ビットからなる2つの鍵の各々C0 (28ビット)、D0 (28ビット)について左シフト部10Aで左シフト処理を施した後、ビット選択部11Aに入力する。ビット選択部11Aは所定のビット選択処理により48ビットからなる第1の中間鍵と、5ビットからなる鍵とを出力する。この5ビットの鍵としては、56ビット鍵の例えば、左から9,18,22,25,35番目の5ビットが用いられる。同様にしてビット選択部10Bからは48ビットからなる第2の中間鍵と、5ビットからなる鍵とが出力される。 After performing a left shift process on the C 0 (28 bits) and D 0 (28 bits) of each of the two 28-bit keys generated by equally dividing the key (56 bits) into two in the left shift unit 10A. , To the bit selection unit 11A. The bit selector 11A outputs a first intermediate key composed of 48 bits and a key composed of 5 bits by a predetermined bit selection process. As the 5-bit key, for example, the 9, 18, 22, 25, and 35th 5 bits from the left of the 56-bit key are used. Similarly, a second intermediate key composed of 48 bits and a key composed of 5 bits are output from the bit selection section 10B.

 そして、ビット選択部11Aからの48ビットの鍵とビット選択部11Bからの48ビットの鍵との間で排他的論理和14をとり、その結果としての48ビットの第3の中間鍵を3等分して16ビットの鍵G1,G2,G3を得る。この鍵G1,G2,G3をF2鍵としてF2関数3に入力する。 Then, an exclusive OR 14 is obtained between the 48-bit key from the bit selection unit 11A and the 48-bit key from the bit selection unit 11B, and the resulting 48-bit third intermediate key is set to 3 or the like. Then, 16-bit keys G1, G2, and G3 are obtained. The keys G1, G2, and G3 are input to the F2 function 3 as the F2 key.

 同様に、鍵スケジュール部Aのビット選択部11Aからの5ビットの鍵と、鍵スケジュール部Bのビット選択部11Bからの5ビットの鍵との間で排他的論理和12を求め、その結果と0X10(0Xは16進を表す)との間で排他的論理和13をとったものをF2シフト鍵としてF2関数3に入力する。 Similarly, an exclusive OR 12 is obtained between the 5-bit key from the bit selection unit 11A of the key schedule unit A and the 5-bit key from the bit selection unit 11B of the key schedule unit B. A value obtained by taking an exclusive OR 13 with 0X10 (0X represents hexadecimal) is input to the F2 function 3 as an F2 shift key.

 さらに、本実施形態では、鍵スケジュール部Aのビット選択部11Aからの48ビットの鍵をF関数拡大鍵としてF関数2に入力する。また、各々の28ビットの鍵C0 (28ビット)、D0 (28ビット)を左シフトすることによって得られたC1 (28ビット)、D1 (28ビット)は次の段の鍵スケジュール部の入力となる。 Further, in the present embodiment, the 48-bit key from the bit selection unit 11A of the key schedule unit A is input to the F function 2 as an F function expansion key. Further, C 1 (28 bits) and D 1 (28 bits) obtained by left-shifting each of the 28-bit keys C 0 (28 bits) and D 0 (28 bits) are used as the key schedule of the next stage. It becomes the input of the department.

 このように本実施形態では、DESとの互換性を維持するために、128ビットの鍵を64ビットずつに分割し、それぞれに対してDESの鍵スケジュール部A,Bを適用している。また、F関数に入力される拡大鍵としては鍵スケジュール部Aからの48ビットの鍵をそのまま用いている。また、F2関数に用いる鍵としては鍵スケジュール部Aからの48ビット鍵と鍵スケジュール部Bからの48ビット鍵とのビットごとの排他的論理和を16ビットごとのブロックに分割して、それぞれG1,G2,G3としている。また、56ビット鍵の左から特定番目の5ビットを選択してF2関数のシフト鍵として用いている。 As described above, in the present embodiment, in order to maintain compatibility with DES, a 128-bit key is divided into 64 bits, and the key schedule units A and B of DES are applied to each key. Also, the 48-bit key from the key schedule unit A is used as it is as the expanded key input to the F function. As a key used for the F2 function, the bitwise exclusive OR of a 48-bit key from the key scheduler A and a 48-bit key from the key scheduler B is divided into blocks of 16 bits each, and G1 , G2, G3. In addition, a specific 5th bit from the left of the 56-bit key is selected and used as a shift key of the F2 function.

 図3はF2関数3の構成を示す図である。ここでは図1に示すR0 (32ビット)を2つに等分して2つの16ビットのブロックを生成する。左側の16ビットブロックは排他的論理和20に入力される。また、右側の16ビットブロックは論理積21と排他的論理和22に入力される。 FIG. 3 is a diagram showing the configuration of the F2 function 3. Here generates R 0 (32 bits) equal to two of the 16-bit block into two as shown in FIG. The 16-bit block on the left is input to the exclusive OR 20. The 16-bit block on the right is input to the logical product 21 and the exclusive logical sum 22.

 論理積21は16ビット鍵G1と右側の16ビット鍵との論理積をとって排他的論理和20に入力する。排他的論理和20は左側の16ビットブロックと論理積21からの鍵との間で排他的論理をとり、その結果を左巡回シフト部23に入力する。 The logical product 21 is the logical product of the 16-bit key G1 and the right 16-bit key and input to the exclusive OR 20. The exclusive OR 20 takes exclusive logic between the left 16-bit block and the key from the logical product 21, and inputs the result to the left cyclic shift unit 23.

 一方、排他的論理和22は16ビット鍵G2と右側の16ビットブロックとの間で排他的論理和をとり、その結果を左巡回シフト部23に入力する。左巡回シフト部23は、排他的論理和20の出力と排他的論理和22の出力からなる32ビットの鍵に対して、入力された5ビットのF2シフト鍵を2進表記とみなして、そのビット数分の左巡回シフトを行なう。 On the other hand, the exclusive OR 22 takes an exclusive OR between the 16-bit key G2 and the right 16-bit block, and inputs the result to the left cyclic shift unit 23. The left cyclic shift unit 23 regards the input 5-bit F2 shift key in binary notation with respect to the 32-bit key composed of the output of the exclusive OR 20 and the output of the exclusive OR 22, Perform a left cyclic shift by the number of bits.

 左巡回シフトを行った後の32ビットの中間データの左半分の16ビットはF2関数3の右半分の出力となる。また、左巡回シフトを行った後の32ビットの中間データの右半分の16ビットは排他的論理和24に入力される。 16 The left half 16 bits of the 32-bit intermediate data after the left cyclic shift is the right half output of the F2 function 3. The right half 16 bits of the 32-bit intermediate data after the left cyclic shift is input to the exclusive OR 24.

 論理積25は16ビットの鍵G3と左巡回シフトを行った後の32ビットの中間データの左半分の16ビットとの論理積をとってその結果を排他的論理和24に入力する。排他的論理和24はこの論理積と左巡回シフトを行った後の32ビットの中間データの右半分の16ビットとの間の排他的論理和をとり、その結果をF2関数3の左半分として出力する。 The logical product 25 calculates the logical product of the 16-bit key G3 and the left half 16 bits of the 32-bit intermediate data after the left cyclic shift, and inputs the result to the exclusive OR 24. The exclusive OR 24 calculates the exclusive OR between this logical product and the right half 16 bits of the 32-bit intermediate data after performing the left cyclic shift, and sets the result as the left half of the F2 function 3. Output.

 上記したように、本実施形態のF2関数では、32ビットの入力を16ビットずつに分割して、分割された鍵とのビットごとの論理和や論理積をとっている。また、巡回シフト部ではF2シフト鍵のビット数だけ32ビットの鍵に対して巡回シフトを行っている。 As described above, in the F2 function of the present embodiment, a 32-bit input is divided into 16 bits, and a logical sum or a logical product of the divided keys is calculated for each bit. Further, the cyclic shift unit performs a cyclic shift on the 32-bit key by the number of bits of the F2 shift key.

 以上の説明からわかるように、本実施形態の暗号化装置の利点はDESと同一の鍵スケジュール構成を用いていることにある。64ビットの鍵を複製して128ビットの鍵を生成することにより、DESとの完全な互換性を維持することができる。なぜなら、2つの鍵スケジュール部A,Bの64ビットの入力が同じであるならば、各スケジュール部で生成される中間鍵も同一のものとなる。各スケジュール部で生成される中間鍵が同一ならば両者のビットごとの排他的論理和14は0となるため、F2関数3で用いられるG1,G2,G3も0となる。また同様に、排他的論理和12の出力も0となり、F2シフト鍵は0X10となる。 わ か る As can be seen from the above description, the advantage of the encryption device of the present embodiment is that the same key schedule configuration as DES is used. By duplicating the 64-bit key to generate a 128-bit key, full compatibility with DES can be maintained. This is because if the 64-bit inputs of the two key schedule units A and B are the same, the intermediate key generated by each schedule unit is also the same. If the intermediate keys generated by the respective schedule units are the same, the exclusive OR 14 for each bit of the two becomes 0, so that G1, G2, and G3 used in the F2 function 3 also become 0. Similarly, the output of the exclusive OR 12 is also 0, and the F2 shift key is 0X10.

 このとき、図3に示すF2関数3の排他的論理和20,22の一方の入力が0となるので、F2関数3に入力された2つの16ビットの鍵はそのまま左巡回シフト部23に入力される。さらに、左巡回シフト部23では鍵スケジュール部A,Bからの2つの5ビット鍵の間の排他的論理和12と0X10との排他的論理和13をF2シフト鍵とし、このようなF2シフト鍵に基づいて左巡回を行っているので、G3=0、すなわち、排他的論理和24の一方の入力が0のときは、F2関数3に入力されたビット列(32ビット)と同じビット列が出力されることになる。 At this time, one of the inputs of the exclusive ORs 20 and 22 of the F2 function 3 shown in FIG. 3 becomes 0, so the two 16-bit keys input to the F2 function 3 are directly input to the left cyclic shift unit 23. Is done. Further, the left cyclic shift unit 23 uses the exclusive OR 12 and the exclusive OR 13 of 0X10 between the two 5-bit keys from the key schedule units A and B as an F2 shift key. Therefore, when G3 = 0, that is, when one input of the exclusive OR 24 is 0, the same bit string as the bit string (32 bits) input to the F2 function 3 is output. Will be.

 このようにして、2つの鍵スケジュール部A,Bの64ビットの入力が同じであるならば、F2関数3の構造は無視されることになるので、128ビット鍵の半分の64ビットを鍵として用いたDESと全く同じ処理となり、互換性が満足される。 In this way, if the input of the 64 bits of the two key schedule units A and B is the same, the structure of the F2 function 3 will be ignored. The processing is exactly the same as the DES used, and the compatibility is satisfied.

 さらに、本実施形態ではF2関数を加えたことによりDESと比較して各段でのデータ処理が増加することになるが、F2関数で用いられる演算は左巡回シフト命令、論理和、論理積、排他的論理和であり、これらの演算は通常多くのハードウェアに実装されているので高速処理が可能である。このことより、処理効率はDESと比較してあまり低下することはない。 Furthermore, in this embodiment, the addition of the F2 function increases the data processing in each stage as compared with DES, but the operations used in the F2 function include a left cyclic shift instruction, a logical sum, a logical product, These are exclusive ORs, and these operations are usually implemented in many pieces of hardware, so that high-speed processing is possible. As a result, the processing efficiency does not decrease so much as compared with DES.

 また、本実施形態ではF2関数での鍵の加え方に工夫を行っている。鍵を加える場合、入力データと鍵との排他的論理和をとる方法があるが、この方法では線形解読法を適用したときに排他的論理和で加えられた鍵は解読の過程で比較的容易に導出されてしまい、鍵のビット数を増やしても安全性を高める効果が少ない。これに対して、本実施形態では、論理和や論理積を用いて鍵を加えているので、線形解読法による鍵の直接の導出は行われず、鍵のビット数の増加により強度の安全性の向上が計れる。 In the present embodiment, the key is added by the F2 function. When adding a key, there is a method to take the exclusive OR of the input data and the key. In this method, when the linear decryption method is applied, the key added by the exclusive OR is relatively easy during the decryption process. , And increasing the number of bits of the key has little effect on enhancing security. On the other hand, in the present embodiment, the key is added using the logical sum or the logical product, so that the key is not directly derived by the linear decryption method, and the strength of the security is increased by increasing the number of bits of the key. Improvement can be measured.

 以下に、OSとしてSolaris2.5、コンパイラとしてgcc-2.7.2を用い、最適化オプションなしのシステム環境下で、本実施形態の暗号化用サンプルソースプログラムを実行した場合のスループットを本実施形態とDESについて計測した。ここでは、上記サンプルソースプログラムからF2関数に関する部分を取り除いたものをDESの構成としている。 The throughput when the sample source program for encryption of the present embodiment is executed in a system environment without the optimization option using Solaris 2.5 as the OS and gcc-2.7.2 as the compiler is as follows. DES was measured. Here, the DES configuration is obtained by removing the portion related to the F2 function from the sample source program.

 計測の結果、図4(a)に示すような結果が得られた。スループットの速度比では本実施形態はDESの90.6%であり、DESを3重に構成したTriple DESがDESの1/3(すなわち、33.3%)の速度であることと比較して十分高速であることがわかる。 As a result of the measurement, a result as shown in FIG. 4A was obtained. In this embodiment, the speed ratio of the throughput is 90.6% of the DES, which is compared with that of the triple DES in which the DES is configured three times (1 / 33.3%) the speed of the DES. It turns out that it is fast enough.

 次に、OSとしてLinux 、CPUとしてPentium(登録商標)120MHz、コンパイラとしてgcc-2.7.2.1、最適化オプションとして−02を用いたシステム環境下で同様のサンプルソースプログラムを実行した場合のスループットを本実施形態とDESについて計測した。この場合も上記サンプルソースプログラムからF2関数に関する部分を取り除いたものをDESの構成としている。 Next, the throughput when a similar sample source program is executed in a system environment using Linux as an OS, Pentium (registered trademark) 120 MHz as a CPU, gcc-2.7.2.1 as a compiler, and −02 as an optimization option is shown. The embodiment and DES were measured. Also in this case, the DES configuration is obtained by removing the part related to the F2 function from the sample source program.

 計測の結果、図4(b)に示すような結果が得られた。図4(b)によれば、スループットの速度比では本実施形態はDESの65%であり、DESを3重に構成したTriple DESがDESの1/3の速度であることと比較してまだ十分高速であることがわかる。 As a result of the measurement, a result as shown in FIG. 4 (b) was obtained. According to FIG. 4B, the speed ratio of the throughput in this embodiment is 65% of the DES, and the Triple DES in which the DES is configured three times has a speed of 1/3 of the DES. It turns out that it is fast enough.

本発明の一実施形態における暗号化装置の構成を示す図である。FIG. 1 is a diagram illustrating a configuration of an encryption device according to an embodiment of the present invention. 図1に示す鍵スケジュール部4の一段分の構成を示す図である。FIG. 2 is a diagram illustrating a configuration of one stage of a key schedule unit 4 illustrated in FIG. 1. 図1に示すF2関数の構成を示す図である。FIG. 2 is a diagram illustrating a configuration of an F2 function illustrated in FIG. 1. 本実施形態の暗号化方法に係るサンプルソースプログラムを実行した場合のスループットを本実施形態とDESについて計測した結果を示す図である。FIG. 14 is a diagram illustrating a result of measuring a throughput when the sample source program according to the encryption method of the present embodiment is executed for the present embodiment and DES.

符号の説明Explanation of reference numerals

1…排他的論理和、2…F関数、3…F2関数、4…鍵スケジュール部、10A,10B…左シフト部、11A,11B…ビット選択部、12,13,14…排他的論理和 DESCRIPTION OF SYMBOLS 1 ... Exclusive OR, 2 ... F function, 3 ... F2 function, 4 ... Key schedule part, 10A, 10B ... Left shift part, 11A, 11B ... Bit selection part, 12, 13, 14 ... Exclusive OR

Claims (4)

 所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、
 この複数の鍵生成手段から出力された複数の中間鍵を互いに比較する比較手段と、
 この比較手段によって比較された複数の中間鍵が同一であることが検出された場合には、複数の中間鍵のいずれか1つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、
 を具備することを特徴とする暗号化装置。
From a plurality of encryption keys obtained by dividing key information consisting of a predetermined bit string into a plurality of pieces, a plurality of key generation means of the same configuration that respectively generate intermediate keys used for stirring the input message,
Comparing means for comparing the plurality of intermediate keys output from the plurality of key generating means with each other;
If the comparison means detects that the plurality of intermediate keys are the same, the input message is agitated using any one of the plurality of intermediate keys, and the plurality of compared intermediate keys are used. If it is detected that are not the same, a stirring means for stirring the input message based on all of the plurality of intermediate keys,
An encryption device comprising:
 入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、比較手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、
 所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、
 前記中間鍵生成工程において生成された複数の中間鍵を前記比較手段により互いに比較する比較工程と、
 この比較工程において比較された複数の中間鍵が同一であることが検出された場合には、前記データ攪拌部において複数の中間鍵のいずれか1つを用いて入力電文を攪拌するとともに、比較された複数の中間鍵が同一でないことが検出された場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、
 を具備することを特徴とする暗号化方法。
A data agitating unit that agitates an input telegram depending on key information input from the outside and outputs a corresponding encoded telegram, a plurality of key generation units having the same configuration, and a comparison unit; An encryption method using an encryption device including a key schedule unit that expands an intermediate key when supplying the data to the data agitation unit,
An intermediate key generation step of generating, from the plurality of encryption keys obtained by dividing key information composed of a predetermined bit string into a plurality of pieces of key information, the plurality of key generation means respectively generating intermediate keys used to stir an input message; When,
A comparing step of comparing the plurality of intermediate keys generated in the intermediate key generating step with each other by the comparing means;
When it is detected that the plurality of intermediate keys compared in the comparing step are the same, the data agitating unit agitates the input electronic message using any one of the plurality of intermediate keys, When it is detected that the plurality of intermediate keys are not the same, a stirring step of stirring the input electronic message based on all of the plurality of intermediate keys in the data stirring section,
An encryption method comprising:
 所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する同一構成の複数の鍵生成手段と、
 この複数の鍵生成手段から出力された複数の中間鍵を互いに排他的論理和する手段と、
 この排他的倫理和された結果が0となった場合には、複数の中間鍵のいずれか1つを用いて入力電文を攪拌し、該排他的論理和された結果が0とならなかった場合には、複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌手段と、
 を具備することを特徴とする暗号化装置。
From a plurality of encryption keys obtained by dividing key information consisting of a predetermined bit string into a plurality of pieces, a plurality of key generation means of the same configuration that respectively generate intermediate keys used for stirring the input message,
Means for exclusive-ORing the plurality of intermediate keys output from the plurality of key generation means with each other;
If the result of the exclusive ethics is 0, the input message is agitated using one of the plurality of intermediate keys, and the result of the exclusive OR is not 0 A stirring means for stirring the input message based on all of the plurality of intermediate keys;
An encryption device comprising:
 入力電文を外部から入力された鍵情報に依存して攪拌し、対応する符号化電文を出力するデータ攪拌部と、同一構成の複数の鍵生成手段と、排他的論理和演算手段とを有し、前記鍵情報を前記データ攪拌部に供給するにあたって中間鍵に展開する鍵スケジュール部とを備えた暗号化装置を用いた暗号化方法であって、
 所定のビット列からなる鍵情報を複数個に分割して得られる複数の暗号化鍵から、前記複数の鍵生成手段によって入力電文を攪拌するのに用いられる中間鍵をそれぞれ生成する中間鍵生成工程と、
 この中間鍵生成工程において生成された複数の中間鍵について前記排他的論理和演算手段によって排他的論理和を演算する演算工程と、
 この演算工程での演算結果が0となった場合には、前記データ攪拌部において複数の中間鍵のいずれか1つを用いて入力電文を攪拌し、前記演算工程での演算結果が0とならなかった場合には、前記データ攪拌部において複数の中間鍵のすべてに基いて入力電文を攪拌する攪拌工程と、
 を具備することを特徴とする暗号化方法。
It has a data agitating unit that agitates an input telegram depending on key information input from the outside and outputs a corresponding encoded telegram, a plurality of key generation units having the same configuration, and an exclusive OR operation unit. An encryption method using an encryption device comprising: a key schedule unit that expands an intermediate key when supplying the key information to the data agitation unit;
An intermediate key generation step of generating, from a plurality of encryption keys obtained by dividing key information consisting of a predetermined bit string into a plurality of pieces, an intermediate key used to stir an input telegram by the plurality of key generation means; ,
An operation step of calculating exclusive OR by the exclusive OR operation means for the plurality of intermediate keys generated in the intermediate key generation step;
When the calculation result in this calculation step becomes 0, the data shuffling unit mixes the input telegram using any one of the plurality of intermediate keys, and if the calculation result in the calculation step becomes 0, If not, a stirring step of stirring the input electronic message based on all of the plurality of intermediate keys in the data stirring section;
An encryption method comprising:
JP2003387215A 2003-11-17 2003-11-17 Encryption apparatus and encryption method Expired - Fee Related JP3836834B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003387215A JP3836834B2 (en) 2003-11-17 2003-11-17 Encryption apparatus and encryption method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003387215A JP3836834B2 (en) 2003-11-17 2003-11-17 Encryption apparatus and encryption method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP26989796A Division JP3517063B2 (en) 1996-10-11 1996-10-11 Encryption device and encryption method

Publications (2)

Publication Number Publication Date
JP2004102310A true JP2004102310A (en) 2004-04-02
JP3836834B2 JP3836834B2 (en) 2006-10-25

Family

ID=32291064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003387215A Expired - Fee Related JP3836834B2 (en) 2003-11-17 2003-11-17 Encryption apparatus and encryption method

Country Status (1)

Country Link
JP (1) JP3836834B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009081975A1 (en) * 2007-12-26 2009-07-02 Nec Corporation Encryption device, decryption device, encryption method, decryption method, and program
KR20190062316A (en) * 2017-11-28 2019-06-05 고려대학교 산학협력단 Server and method for detecting malware in data files

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009081975A1 (en) * 2007-12-26 2009-07-02 Nec Corporation Encryption device, decryption device, encryption method, decryption method, and program
JP5293612B2 (en) * 2007-12-26 2013-09-18 日本電気株式会社 ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM
KR20190062316A (en) * 2017-11-28 2019-06-05 고려대학교 산학협력단 Server and method for detecting malware in data files
KR102143915B1 (en) 2017-11-28 2020-08-12 고려대학교 산학협력단 Server and method for detecting malware in data files

Also Published As

Publication number Publication date
JP3836834B2 (en) 2006-10-25

Similar Documents

Publication Publication Date Title
US8213607B2 (en) Method for securely extending key stream to encrypt high-entropy data
JP4828068B2 (en) Computer efficient linear feedback shift register
KR100362458B1 (en) Cryptographic processing apparatus, cryptographic processing method, and recording medium recording cryptographic processing program for realizing high-speed crypographic processing without impairing security
JP3724399B2 (en) Pseudorandom number generator or encryption / decryption processing device using the same
US7672455B2 (en) Method and apparatus for data encryption
US20020122554A1 (en) Device for and method of one-way cryptographic hashing
JP2000066585A (en) Encryption and decryption apparatus, encryption and decryption method and their program memory medium
JP2002023622A (en) Ciphering device, deciphering device, device and method for generating extended key, and recording medium
WO2001067425A1 (en) Block encryption device using auxiliary conversion
JPH10171350A (en) Method and device for generating hash value
JP2008292742A (en) Non-linear data converter, encoder and decoder
US8437470B2 (en) Method and system for block cipher encryption
JP6187624B1 (en) Information processing apparatus, information processing method, and program
JP5365750B2 (en) Block encryption device, decryption device, encryption method, decryption method, and program
JP2950485B2 (en) Stream cipher processor
JP3836834B2 (en) Encryption apparatus and encryption method
JP3517063B2 (en) Encryption device and encryption method
Dudek et al. Towards parallel direct SAT-based cryptanalysis
JP2018092010A (en) Encryption device and encryption method, encryption program, key generation device, key generation method, and key generation program
Cook et al. Elastic block ciphers: the basic design
JPH10303881A (en) Enciphering and decoding device, and method
RU2738321C1 (en) Cryptographic transformation method and device for its implementation
JPH09269727A (en) Ciphering method and ciphering device
JP5014678B2 (en) Random number generator
JP2002023624A (en) Block cipher communication method and device therefor, and recording medium with block cipher communication program recorded thereon

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060727

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090804

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120804

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120804

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130804

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees