JPH06342258A - Block cipher generating device - Google Patents

Block cipher generating device

Info

Publication number
JPH06342258A
JPH06342258A JP5131877A JP13187793A JPH06342258A JP H06342258 A JPH06342258 A JP H06342258A JP 5131877 A JP5131877 A JP 5131877A JP 13187793 A JP13187793 A JP 13187793A JP H06342258 A JPH06342258 A JP H06342258A
Authority
JP
Japan
Prior art keywords
bits
bit
function
value
input
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
JP5131877A
Other languages
Japanese (ja)
Other versions
JP3371981B2 (en
Inventor
Mitsuko Miyaji
充子 宮地
Makoto Tatebayashi
誠 館林
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP13187793A priority Critical patent/JP3371981B2/en
Publication of JPH06342258A publication Critical patent/JPH06342258A/en
Application granted granted Critical
Publication of JP3371981B2 publication Critical patent/JP3371981B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To obtain a safe, high-speed block cipher by providing a specific input value division part, key division part, 1st intermediate value division part, g(K) division part, Z arithmetic part, C calculation part, D calculation part, 3rd intermediate value division part and E calculation part respectively. CONSTITUTION:Left 32 bits L1 and right 32 bits R(A) 2 of input bits and a 32-bit key K3 are provided. For data disconcertion, a 1st intermediate value B is found, a 2nd intermediate value C is found, and then a 3rd intermediate value D is found, and a 4th intermediate value E is found and the left single cycle of E is outputted. The result of bit-by-bit exclusive OR between the result of such operation and the left half of the input is regarded as the left half of the output of the block cipher of one stage and the original A is regarded as the right half of the output of the block cipher. This operation is repeated eight times. At this time, the number of execution bits and completeness are saturated by two stages, and consequently, the block cipher becomes tolerant to a difference attack with eight stages, so that the safe, high-speed block cipher can be constituted.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は秘密通信技術に関し、特
にディジタル化された情報用のブロック暗号作成及び復
号装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to secret communication technology, and more particularly to a block cipher generating and decrypting apparatus for digitized information.

【0002】[0002]

【従来の技術】[Prior art]

(ディジタル通信における通信情報の暗号化と復号につ
いて)近年、ディジタル計算機及びその理論や集積回路
等の発達に伴い、S/N比が高くとれる上に送信量が増
大するためディジタル通信技術が急速に普及してきてい
る。さて、このディジタル通信においては、通例一般公
衆に開放されたディジタル通信回線網が使用される。こ
のため、通信に際して、第三者による盗聴、盗聴後の改
変や詐称あるいは発信者による第三者への誤送信を完全
に防止することは困難である。そこで、発信者は通信情
報を所定の手順で秘密化(特許請求の範囲にいう各種の
関数による演算を施す。)した上で送信し、受信者はい
わば秘密化と逆の手順で、受信した情報を複号(解読)
した上で本来の情報を入手することが広く採用されてい
る。そして、この際の秘密化や複号にはディジタル通信
技術の特性を失わず、かつ秘密性、実行速度、経済性に
優れる以下のような手段が採用されている。送信すべ
き0と1から構成される情報を1定の個数づつ一まとめ
にした上で2進数で表現された数値(特許請求の範囲に
いう入力値Aに相応する。)とみなし、その上で秘密鍵
や共有鍵といわれる送信者、受信者のみが知ることがで
きる一定の数値(特許請求の範囲にいう鍵Kに相応す
る。)と足し算(非線形演算)や引き算をしたり排他的
論理和をとったりする(線形演算)等の所定の演算をな
した上で送信し、受信者は逆の演算をほどこすことによ
り数値化された本来の情報を得る。送信すべき0と1
から構成されるビット情報を2進数で表現された秘密鍵
や共有鍵の各桁の値(0又は1)に応じての一定の手順
で入れ換え(置換演算、行列演算)た上で送信し、受信
者は受信した情報を逆の手順で入れ換えて本来の送信情
報を得る等種々のものが採用されている。そして、これ
らの場合には、単に秘密性が高いだけでなく鍵の極く一
部でも不明であるならば全情報が復号されないこと、具
体的には意味のある情報(文章や映像)とならないこ
と、という要請も充たすものとされている。次にまた、
これらの秘密通信技術は、人工衛星を利用した有料放送
等にも流用されだしている。この場合には、受信料を支
払った受信者にのみいわば秘密化と逆の手順をなす回路
を組み込んだ鍵が渡され、この鍵がテレビジョン受信機
に組み込まれることとなる。そして、放送者の放送内容
の秘密化と鍵は一定期間毎に変換され、これにより一定
期間の通信料を払い込んだ受信者のみがその期間だけ有
料放送を聴取しえることとなる。更にまた、送信者の認
署(署名通信)にもこの技術は応用されている。但し、
これらの具体的、一般的な内容については、例えば池野
信一、小山謙二共著電子通信学会刊 (1986年)
「現代暗号理論」等に記載され、また関連の技術や秘密
化や複号の具体的手法については本願出願人が別途例え
ば、特願平3−318816号、特願平3−19914
8号、特願平4−145964号、特願平4−2639
14号、特願平4−168007号等にて公開している
技術であるため、それらの説明は省略する。
(Regarding encryption and decryption of communication information in digital communication) In recent years, with the development of digital computers, their theory, integrated circuits, etc., digital communication technology has been rapidly developed because the S / N ratio can be increased and the transmission amount increases. It is becoming popular. In this digital communication, a digital communication network open to the general public is usually used. Therefore, during communication, it is difficult to completely prevent wiretapping by a third party, modification after wiretapping, spoofing, or erroneous transmission by a sender to the third party. Therefore, the sender sends the communication information after secreting the communication information in a predetermined procedure (performing calculations using various functions referred to in the claims), and the receiver receiving the procedure in the reverse of the secreting procedure. Decode information (decode)
It is widely adopted to obtain the original information after doing so. In this case, the following means are adopted for confidentiality and decryption, which do not lose the characteristics of the digital communication technology and are excellent in confidentiality, execution speed, and economy. Information consisting of 0s and 1s to be transmitted is grouped together by a fixed number and regarded as a numerical value represented by a binary number (corresponding to the input value A in the claims), and further. Is a secret key or shared key, and a certain numerical value (corresponding to the key K in the claims) that can be known only to the sender and the receiver and addition (nonlinear operation) or subtraction or exclusive logic Transmission is performed after performing a predetermined operation such as taking a sum (linear operation), and the receiver obtains the original digitized information by performing the reverse operation. 0 and 1 to send
The bit information composed of is exchanged (permutation operation, matrix operation) in a certain procedure according to the value (0 or 1) of each digit of the secret key or the shared key expressed in binary number, and then transmitted. Various types of information are adopted by the recipient, such as replacing the received information in the reverse order to obtain the original transmission information. In these cases, if not only the confidentiality is high but even a very small part of the key is unknown, all the information will not be decrypted, and specifically, it will not be meaningful information (text or video). It is also said that the request for that. Then again
These secret communication technologies are also being used for pay broadcasting using artificial satellites. In this case, the receiver who paid the reception fee is provided with a key incorporating a circuit that performs a procedure that is the reverse of secrecy, so to speak, and this key is incorporated into the television receiver. Then, the secret of the broadcast contents and the key of the broadcaster are converted every fixed period, so that only the receiver who paid the communication fee for the fixed period can listen to the pay broadcast for that period. Furthermore, this technique is also applied to the signature verification of the sender. However,
For concrete and general contents of these, for example, Shinichi Ikeno and Kenji Koyama, published by The Institute of Electronics and Communication Engineers (1986).
The applicant of the present invention separately describes, for example, Japanese Patent Application No. 3-318816 and Japanese Patent Application No. 3-19914 regarding the related techniques and the concrete method of secrecy and compound sign described in “Modern Cryptography”.
No. 8, Japanese Patent Application No. 4-145964, Japanese Patent Application No. 4-2639
Since the techniques are disclosed in Japanese Patent Application No. 14 and Japanese Patent Application No. 4-168007, description thereof will be omitted.

【0003】次に、本発明はこれらのディジタル通信に
おける秘密化及び複号に関する技術のうち、ブロック暗
号といわれているものに関するため、このブロック暗号
について説明する。なお、このブロック暗号について
も、一般的な理論や実際の回路構成(特許請求の範囲に
いう各種の関数の内容に相応する。)は、例えば前掲の
「現代暗号理論」の第3章及び第4章を初めとして多数
の文献(前掲「現代暗号理論」の270頁から272頁
にそのリストが掲載されている)に記載されており、ま
た米国等ではDESという名称で銀行間通信等に実際に
採用されている技術であるため、本明細書での説明は必
要最小限度にとどめる。
[0003] Next, since the present invention relates to what is called a block cipher among the techniques relating to secrecy and decryption in these digital communications, this block cipher will be described. Regarding this block cipher, the general theory and the actual circuit configuration (corresponding to the contents of various functions referred to in the claims) are described, for example, in Chapter 3 and Chapter 2 of "Modern Cryptography". It is described in many documents including Chapter 4 (the list is listed on pages 270 to 272 of the above-mentioned "Modern Cryptography"), and in the US etc., it is actually used for interbank communication under the name DES. Since this is a technique adopted in the above, the description in this specification will be limited to the minimum necessary.

【0004】さて、上述のごとくデジタル化された情報
を送信するとき、送信側は第三者が容易にその情報を得
たり、得た上でこれを悪意に改ざんして送信したりでき
ないように、情報を撹拌することにより秘密化して送信
し、受信側ではこの撹拌された情報を元に戻すことが行
なわれる。そして、この際用いられるのが、秘密鍵通信
方式の一つであるブロック暗号といわれているものであ
る。 (暗号化及び復号の基本例)以下、このブロック暗号装
置の基本について説明する。
Now, when transmitting the digitized information as described above, the transmitting side must not allow a third party to easily obtain the information or obtain it and maliciously tamper with it before transmitting. , The information is confidentially transmitted by mixing the information, and the mixed information is restored on the receiving side. The block cipher, which is one of the secret key communication systems, is used at this time. (Basic example of encryption and decryption) The basics of this block cipher device will be described below.

【0005】図3は、この基本的な構成を示すものであ
る。本図において、(a)は4ビットの巡回器である。
本巡回器に、4ビット毎に区切られた入力信号を流すこ
とにより、4ビットを単位として1ビットづつ右に巡回
した出力信号が得られる。ちなみに(a)では、入力信
号A(1011)が出力信号B(1101)になってい
る。そして複号は、出力信号を逆にこの巡回器の出力側
から入力した上で入力側から取り出すことによりなされ
る。(このため、本巡回器による信号の秘密化及び複号
は各々、1ビットづつ右にずらす演算を施すこと、その
逆の演算を施すことによりなされ、そして巡回器そのも
のが置換という若しくは置換をなす一種の関数とみなせ
る。)ただし、単に巡回器を通したままであると、この
信号を盗聴した第三者により容易に解読(複号)されて
しまうため、これに数値情報たる鍵との演算をなして秘
密化した上で送信がなされる。図3の(b)に、この様
子を示す。本(b)において、Kは鍵といわれる4ビッ
トの数値であり、この各ビットと4ビットに区切られた
入力信号の対応するビットとが桁上げなしの足し算とい
う演算をなされた上で、1ビットづつ右に巡回されるこ
とにより秘密化されている。すなわち、(b)では入力
信号A(1011)が鍵K(1101)の各ビットと桁
上げなしの足し算をされた上で(1+1、1+0、0+
1、1+1)=(0、1、1、0)となり、更に1ビッ
トづつ右に巡回され出力信号B(0、0、1、1)とな
っている。この場合の複合は、出力信号BからKに対応
するビット毎に桁の繰り下げなしに引き算をなした上
で、先の(a)と同じく巡回器を逆に通すことによりな
される。ここでビット情報の攪乱に巡回器が用いられる
のは、秘密化と復号を同じハードで高速でなしえる上に
両方の処理速度がほぼ同じ、しかも構造、原理が簡単な
ためである。また、桁の上げ下げなしの足し算、引き算
をするのは、そのためのビットを省略したことによる。
FIG. 3 shows this basic structure. In the figure, (a) is a 4-bit circuit.
By passing an input signal divided into 4 bits into the circuit, an output signal is obtained in which 1 bit is circulated right by 4 bits. Incidentally, in (a), the input signal A (1011) is the output signal B (1101). The decoding is performed by inputting the output signal from the output side of the circuit, and then taking it out from the input side. (For this reason, the secrecy and decoding of the signal by the present circuiter are performed by performing an operation of shifting to the right one bit at a time and vice versa, and the circuit itself forms a permutation or a permutation. However, it can be easily decrypted (decoded) by a third party who eavesdrops this signal if it is simply passed through the patrol circuit, so the operation with the key that is numerical information It is transmitted after making it secret. This state is shown in FIG. In this (b), K is a 4-bit numerical value called a key, and each bit and the corresponding bit of the input signal divided into 4 bits are subjected to an operation of addition without carry and then 1 It is kept secret by going round to the right bit by bit. That is, in (b), the input signal A (1011) is added to each bit of the key K (1101) without carry, and then (1 + 1, 1 + 0, 0+
1,1 + 1) = (0,1,1,0), and the output signal B (0,0,1,1) is further circulated right bit by bit. In this case, the compounding is performed by performing subtraction for each bit corresponding to the output signals B to K without carrying down the digit, and then passing the circuit through the circuit in reverse as in (a). The circuit is used for the perturbation of the bit information because the secretion and the decryption can be performed with the same hardware and at high speed, the processing speeds of both are almost the same, and the structure and the principle are simple. Also, the addition and subtraction without raising or lowering the digits is due to the omission of the bit for that purpose.

【0006】以上は、あくまでも暗号化の基本的操作及
びその基本的操作の中心たる演算、この場合には置換、
桁上げなしの足し算及び桁繰り下げなしの引き算の回路
構成、あるいは言葉を換えていうならば関数の具体的内
容を説明したものであり、実際にはこのような単純な操
作のみではやはり容易に解読されてしまう。このため、
秘密鍵や入力信号の一区切りの単位たるビット数を64
ビット、128ビット等もっと大きくし、秘密鍵と入力
信号との演算内容(特許請求の範囲に記載した分割の仕
方をも含めての各関数の内容)はずっと複雑なもの、例
えば秘密鍵を複雑に分割した上で幾度か使用するとされ
るだけでなく、更にこの送信すべきディジタル情報を一
つの若しくは同一のデータ撹乱部に何回か繰り返し通
し、複号は逆方向に同じ回数繰り返し通すという操作が
なされる。なお、ここにデータ撹乱部とは、先の巡回器
や鍵を回路的に複雑に組み合わせたものであり、場合に
よっては大型計算機で直接数学的な演算をなすようにし
てもよいものである。さて、この繰り返し回数は多いほ
ど安全性は向上するが、その一方何回も繰り返すため暗
号化、復号の速度が遅くなる。更にまた、桁を増したり
演算内容を高度、複雑なものとしたりするのも通信効
率、通信速度の面から一定の限度がある。このため、高
速安全なブロック暗号とするには、これらの要素を考慮
しつつデータ撹乱部を如何に強固につくるか、あるいは
秘密性を向上させたものとするかが要点となる。
The above is just the basic operation of encryption and the operation that is the center of the basic operation, in this case, replacement,
This is a circuit configuration for addition without carry and subtraction without carry, or in other words, it describes the specific contents of a function.In fact, it is easy to decipher with such simple operations. Will end up. For this reason,
The number of bits, which is a unit of a private key or input signal, is 64
Bits, 128 bits, etc. are made larger, and the operation contents of the secret key and the input signal (contents of each function including the method of division described in the claims) are much more complicated, for example, the secret key is complicated. It is said that the digital information to be transmitted is repeatedly passed through one or the same data disturbing section several times, and the decoding is repeatedly passed through the same number of times in the opposite direction. Is done. Here, the data disturbing unit is a complex circuit combination of the above-mentioned circulators and keys, and in some cases, a large-scale computer may directly perform a mathematical operation. Now, the greater the number of repetitions, the higher the security, but on the other hand, since it is repeated many times, the speed of encryption and decryption becomes slow. Furthermore, there is a certain limit in terms of communication efficiency and communication speed to increase the number of digits and to make the calculation contents sophisticated and complicated. Therefore, in order to realize a high-speed and secure block cipher, it is important to consider how these factors are taken into consideration to make the data disturbing unit strong, or to improve the secrecy.

【0007】次に、従来このブロック暗号で秘密通信用
として実際に我が国で考えられていた技術を説明する。 (本願発明が関係するブロック暗号についての従来例)
従来例として有名なものでは、さる国内大手通信網メー
カーにより開発されたデータ高速秘密化用算法(Fast D
ate Encipherment Algorithm、以下、略称のFEALを
使用する。)のブロック暗号がある。図2は、このデー
タ撹乱部を示す。
Next, a technique which has been actually considered in Japan for secret communication using this block cipher will be described. (Conventional example of block cipher related to the present invention)
A well-known conventional example is the fast data encryption algorithm (Fast D
ate Encipherment Algorithm, hereinafter abbreviated as FEAL is used. ) There is a block cipher. FIG. 2 shows this data disturbing section.

【0008】これは、64ビット入出力のブロック暗号
で、入力64ビットの右半分の32ビットをデータ撹乱
部に入力して暗号化した結果と入力の左半分とのビット
毎の排他的論理和を出力の左半分とし、入力の左半分を
出力の右半分とするという構成で、この操作を何回か繰
り返して用いる。なお、ここに入力ビットを左右均等に
分けるのは、暗号化と復号にハード的に同一の構成を採
用しえるだけでなく、ハードの手配の面からも暗号化と
復号に要する時間がほぼ同じとなる面からも好ましいか
らである。
This is a 64-bit input / output block cipher, in which the right half of the input 64 bits, 32 bits of the right half, is input to the data disturbing unit and encrypted, and the exclusive OR for each bit of the left half of the input. Is the left half of the output, and the left half of the input is the right half of the output, and this operation is repeated several times. It should be noted that the fact that the input bits are equally divided into right and left here not only can adopt the same hardware configuration for encryption and decryption, but the time required for encryption and decryption is almost the same in terms of hardware arrangements. This is also preferable from the viewpoint of

【0009】以下、このデータ撹乱部について説明す
る。 [1.鍵と入力の分割]16ビットの鍵をK、32ビッ
トの入力をAとする。Kを8ビットづつの2ブロックK
1 、K2 に分け、Aを8ビットづつの4ブロックA1
2 、A3 、A 4 に分ける。 [2.鍵と入力の関与]K1 とA2 のビット毎の排他的
論理和をとったものをB1 とし、K2 とA3 のビット毎
の排他的論理和をとったものをB2 とする。 [3.入力の撹乱部]B1 とA1 とのビット毎の排他的
論理和を取ったものをD1 とし、B2 とA4とのビット
毎の排他的論理和をとったものをD2 とし、32ビット
の出力Cを4ブロックC1 、C2 、C3 、C4 に分け
て、D1 とD2 と1を256(=28 )を法として(m
od256)加えたものを出力C3 とし、C3 とD1
を256を法として加えたものを出力C2 とし、C2
1 と1を256を法として加えたものを出力C1
し、C3 とA4 を256を法として加えたものを出力C
4 とする。
The data disturbing section will be described below.
It [1. Splitting key and input] K, 32 bits for 16-bit key
Let's input A. 2 blocks K of 8 bits each
1, K2Divided into 4 blocks A of 8 bits each1,
A2, A3, A FourDivide into [2. Key and input involvement] K1And A2Bitwise exclusive of
The logical sum is B1And K2And A3Every bit of
B is the exclusive OR of2And [3. Input disturbance part] B1And A1Bitwise exclusive with
D is the logical sum1And B2And AFourA bit of
D is the exclusive OR of each2And 32 bits
Output C of 4 blocks C1, C2, C3, CFourDivided into
D1And D2And 1 to 256 (= 28) Modulo (m
od256) output plus C3And C3And D1When
Output modulo 256 is the output C2And C2When
A1And add 1 and 256 modulo output C1When
Then C3And AFourOutput modulo 256 is the output C
FourAnd

【0010】以上の操作により、比較的簡単な構成によ
り、すなわち比較的少ないビット数、排他的論理和とい
う比較的簡単な論理及び回路構成で済む演算若しくは演
算器により、64ビットを単位とする情報の送受信に高
度の秘密性が得られる。なお、ここに256(=64×
2)を法とする演算としたのは、ビット攪乱が生じ易い
からである。
By the above operation, information in units of 64 bits is obtained by a relatively simple structure, that is, by a relatively small number of bits, an arithmetic operation unit having a relatively simple logic of exclusive OR, and a circuit configuration. A high degree of confidentiality is obtained for sending and receiving. Here, 256 (= 64 x
The reason why the calculation is modulo 2 2 ) is that bit disturbance is likely to occur.

【0011】[0011]

【発明が解決しようとする課題】しかしながら、このブ
ロック暗号は高速ブロック暗号として4段の繰り返しで
充分な安全性が保たれる、すなわち解読困難として開発
されたが、近年提出された差分攻撃といわれる解読の手
法により、安全性を保つには32段以上の繰り返しが必
要となった。差分攻撃については、イ.ビハ、エイ.シ
ャミル共著 “DES類似の秘密通信における秘密の差
分的解析”90年の秘密通信研究会議における進歩、計
算機科学における講議冊子537(1990年)2〜2
1頁(以上は意訳){E. Biham and A. Shamir, “Diff
erential Cryptanalysis of DES-likeCryptosysytems
”, Advances in Cryptology - Proceedings of CRYPT
O'90, Lecture Notes in Computer Science, 537(199
0), p2-21}に詳しい。差分攻撃は(繰り返し段数−
2)段目の出力差分(入力信号と出力信号との一種の相
関)がわかることを用いる攻撃であるため、これに強く
なるには(解読され難くするには)、少なくとも(繰り
返し段数−2)段目で実行ビット数の飽和及びコンプリ
ート性を満たす必要がある。ところで、このためには、
差分攻撃は最終の3段がないものとみなされるため、n
−3段でも安全、ひいては充分に実行ビット数が飽和し
かつコンプリート性が充たされなければならない。何と
なれば、実行ビットの数の飽和とコンプリート性を満た
す場合には、何等かの手段により入力信号と出力信号双
方の若しくは撹拌部をブラックボックスとした形でのブ
ロック暗号装置を入手した第三者が、この内部の構造
(ブロック分割、ビットの巡回、鍵の具体的な様子、内
容、値)を入力信号と出力信号の差分の関係により知ろ
うとしても、第1に関係するビットの桁数が増大するこ
と、第2に差分があらわれ難くなることのためそれが困
難となるからである。しかしながら、FEALの場合、
実行ビット数が飽和しかつコンプリート性を満たすため
には繰り返し回数を増やす必要があり、ひいては実行
(秘密化、復号)速度の低下をもたらす。その一方、4
段のままでは最終の3段をのぞいた1段のみではこの要
請を充たせないため差分攻撃により解読される危険性が
ある。
However, this block cipher was developed as a high-speed block cipher with sufficient security by repeating four rounds, that is, it was difficult to decipher, but it is said to be a differential attack submitted in recent years. Depending on the method of decryption, it was necessary to repeat 32 rounds or more to maintain security. Regarding the differential attack, a. Biha, A .. Shamir Co-author, "Differential Analysis of Secrets in DES-like Secret Communications," Advances in Secret Communications Research Conference in 1990, Lecture Booklet 537 (1990) in Computer Science 2-2
One page (the above is a free translation) {E. Biham and A. Shamir, "Diff
erential Cryptanalysis of DES-likeCryptosysytems
”, Advances in Cryptology-Proceedings of CRYPT
O'90, Lecture Notes in Computer Science, 537 (199
0), p2-21}. Differential attack is
2) It is an attack that uses the knowledge of the output difference (a kind of correlation between the input signal and the output signal) of the second stage, so to be strong against this (to make it difficult to decipher), at least (the number of repeated stages-2) It is necessary to visually satisfy the saturation of the number of execution bits and completeness. By the way, for this,
Since the differential attack is considered to have no final three rounds, n
Even at -3 rounds, the number of execution bits must be sufficiently saturated and completeness must be satisfied. If the number of execution bits is saturated and the completeness is satisfied, the block cipher device in which both the input signal and the output signal or the agitation unit is a black box is obtained by some means. Even if a person tries to know this internal structure (block division, bit circulation, specific state of key, content, value) by the relationship between the difference between the input signal and the output signal, the digit of the bit related to the first This is because it becomes difficult because the number increases and secondly the difference becomes difficult to appear. However, in the case of FEAL,
It is necessary to increase the number of iterations in order to saturate the number of execution bits and satisfy the completeness, which results in a decrease in execution (secretion, decryption) speed. On the other hand, 4
If it is left as it is, only one round except the last three rounds cannot satisfy this request, and there is a risk of being decrypted by a differential attack.

【0012】なお、実行ビット数の飽和及びコンプリー
ト性とは、以下のことを言う。 実行ビットの数飽和 出力平文の差分に影響を与える鍵のビット数を実行ビッ
ト数という。出力の各ビットの実行ビット数が鍵のビッ
ト数に一致するとき実行ビット数は飽和しているとい
う。(この場合、出力平文の差分に影響を与えるのは鍵
の全ビットとなるため、鍵を平文の秘密化に最も有効に
利用しえ、また出力平文に影響する鍵の桁数が多いこと
となる。) コンプリート性 入力の全ビットが出力の各ビット生成に関与していると
き、コンプリート性をもつという。(この場合、出力平
文と入力との関係に関連するビット数が増大し、両者の
関係をもとめるのが困難となる。) 以上説明してきたように、従来考えられてきたブロック
暗号では差分攻撃を受け易いため、デジタル化された情
報を第三者が容易にその情報を得たり改ざんしたりする
ことができないようにするためには、繰り返し回数を多
くする必要がある。ひいては、公開通信網を利用しての
高速通信に際しての秘密化と複号が困難である。具体的
には、ディジタル公開通信網を使用しての通信の安全性
が損なわれ、また料金を納付した者のみへ鍵を組み込ん
だ復号装置を貸与しての有料秘密放送等は、事業そのも
のが成り立たなくなるおそれさえ生じる。
The saturation and completeness of the number of execution bits are as follows. Number of executed bits The number of bits of the key that affects the difference between the output plaintexts is called the number of executed bits. The number of execution bits is said to be saturated when the number of execution bits of each bit of the output matches the number of bits of the key. (In this case, since all bits of the key affect the output plaintext difference, the key can be used most effectively for concealing the plaintext, and the number of digits of the key that affects the output plaintext is large. Completion is said to be complete when all bits of the input are involved in the generation of each bit of the output. (In this case, the number of bits related to the relationship between the output plaintext and the input increases, and it becomes difficult to find the relationship between them.) Since it is easily received, it is necessary to increase the number of repetitions in order to prevent a third party from easily obtaining or falsifying the digitized information. As a result, it is difficult to keep secret and decrypt in high speed communication using the public communication network. Specifically, the security of communication using the digital public communication network is impaired, and paid private broadcasting by lending a decryption device incorporating a key to only the person who paid the fee is a business itself. There is even a risk that it will not hold.

【0013】本発明は、以上の問題点に鑑み安全、高速
なブロック暗号を提供することを目的としてなされたも
のである。
In view of the above problems, the present invention has been made with the object of providing a safe and high-speed block cipher.

【0014】[0014]

【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明においては、外部入力をnビット毎
に区切って入力値Aとする信号入力部と、前記信号入力
部により得られた各入力値Aを最上桁から順に各l1
ット、l2 ビット、…、ls ビット(ここに、l 1 +l
2 +…+ls =n)のs個のブロックA1 、A2 、…、
s に分割する入力値分割部と、あらかじめ定められた
値であるnビットの鍵Kを最上桁から順に各l1 ビッ
ト、l2 ビット、…、ls ビットのs個のブロック
1 、K2 、…、Ks に分割する鍵分割部と、前記入力
値分割部からの出力たる各Ai (ここに、i=1,…,
s)をφi (Ai )に移すs個のli ビットからli
ットへの関数φi を有するφ関数部と、第一中間値Bと
してその各構成要素Bi (ここに、B1 +…+Bs
B)をBi =Φi (φi (Ai )、Ki )の演算により
もとめるs個のli ×li ビットからli ビットへの関
数Φi を有するΦ関数部と、あらかじめ定められた値で
あるnビットの鍵Kをg(K)に移すnビットからnビ
ットへの関数gを有するg関数部と、第一中間値Bを各
1 ビット、m2 ビット…、mt ビット(ここに、m1
+m2 …+mt =n、かつtはsとは独立に設定され
る。)のt個のブロックB1 、B2 、…、Bt に分割す
る第一中間値分割部と、前記g関数部の出力結果g
(K)を各m1 ビット、m2 ビット、…、mt ビットの
t個のブロックg(K)1 、g(K)2 、…、g(K)
t に分割するg(K)分割部と、t個のnビットからn
ビットへの関数fi (i=1,…,t)を有し、f
i (g(K))と第一中間値Bの各Bi とのビット毎の
論理積を求め、その結果の全ビットの排他的論理和を取
った値zi を求めるz演算部と、第二中間値Cとして、
その各構成要素Ci (i=1,…,t)を、前記zi
前記g(K)i の反転との各ビット毎の論理積を求めこ
れらと前記Bi とのビット毎の排他的論理和を取ったも
のをCi とすることによりもとめるC計算部と、第三中
間値DをD=φ(C)の演算によりもとめるlビットか
らlビットへの関数φを有するD計算部と、あらかじめ
定められた値であるnビットの鍵Kをh(K)(ここに
h(K)=g(K))に移すnビットからnビットへの
関数hを有するh関数部と、第三中間値Dを各l1 ビッ
ト、l2 ビット、…、ls ビットのs個のブロック
1 、D2 、…、Ds (ここに、D1 +…+Ds =D)
に分割する第三中間値分割部と、前記h関数部の出力結
果h(K)を各l1 ビット、l2 ビット、…、ls ビッ
トのs個のブロックh(K)1 、h(K)2 …、h
(K)s (ここに、h(K)1 +…+h(K)s =h
(K))に分割するh(K)分割部と、第四中間値Eと
して、その各構成要素Ei (ここに、E1 +…+Es
E)をEi=Φi (h(K)i 、Di )の演算によりも
とめるli ×li ビットからli ビットへの関数Φi
有するE計算部と、s個のnビットからnビットへの関
数f i (i=1,…,s)を有し、各fi (Ei )を出
力信号として出力する暗号出力部とを有することを特徴
とするブロック暗号装置としている。
[Means for Solving the Problems]
Therefore, in the invention of claim 1, the external input is set every n bits.
And a signal input section for dividing the input value A into
Each input value A obtained by the section from the most significant digit1B
T, l2Bit ...sBit (where l 1+1
2+ ... + 1s= N) s blocks A1, A2, ...
AsInput value division unit to divide into
The value of the n-bit key K is l in order from the most significant digit.1Bit
To, l2Bit ...sS blocks of bits
K1, K2, ... KsA key splitting unit for splitting into
Each output A from the value division uniti(Where i = 1, ...,
s) is φi(Ai) S liBit to liB
Function toiA φ-function part having
And each component Bi(Here, B1+ ... + Bs=
B) to Bi= Φii(Ai), Ki)
I want s number of li× liBit to liRelation to a bit
Number ΦiWith a Φ function part that has
Move an n-bit key K to g (K)
G function part having a function g to
m1Bit, m2Bit ... mtBit (where m1
+ M2… + Mt= N, and t is set independently of s
It ) T blocks B1, B2, ..., BtDivide into
Output result g of the first intermediate value division unit and the g-function unit
(K) for each m1Bit, m2Bit ... mtBit of
t blocks g (K)1, G (K)2, ..., g (K)
tG (K) division part for dividing into n and t from n bits
Function f to biti(I = 1, ..., t), and f
iB of (g (K)) and the first intermediate value BiBit by bit with
Calculate the logical product and take the exclusive OR of all the bits of the result.
Value ziAnd a second intermediate value C for calculating z
Each component Ci(I = 1, ..., T) is the ziWhen
G (K)iThe logical product of each bit with the inversion of
And B aboveiBitwise exclusive OR of
Of CiC calculation section to obtain by
Is it 1 bit that obtains the interval value D by the operation of D = φ (C)?
From the D calculation unit having a function φ to 1 bit,
The n-bit key K that is the determined value is assigned to h (K) (where
h (K) = g (K)) move from n bits to n bits
H function part having a function h and a third intermediate value D for each l1Bit
To, l2Bit ...sS blocks of bits
D1, D2, ..., Ds(Here, D1+ ... + Ds= D)
And the output result of the h-function part
Fruit h (K) for each l1Bit, l2Bit ...sBit
S blocks h (K)1, H (K)2…, H
(K)s(Here, h (K)1+ ... + h (K)s= H
(K)) and a fourth intermediate value E
Then, each component Ei(Here, E1+ ... + Es=
E) to Ei= Φi(H (K)i, Di)
Stop li× liBit to liFunction Φ to bitiTo
The E-calculation part it has and the relationship from s n bits to n bits
Number f i(I = 1, ..., S), and each fi(Ei)
A cryptographic output unit for outputting as a force signal
And the block cipher device.

【0015】請求項2の発明においては、前記Φ関数部
及び前記E計算部におけるli ×l i ビットからli
ットへの関数Φi ,…,Φs は、Φi がli ビットの入
力に関する値Ai =[a0 , …,ali-1]とKi =[k
0,…, kli-1]を最上位ビットの繰り上がりは考えない
で加えた値を出力する関数であることを特徴とする請求
項1記載のブロック暗号作成装置としている。
In the invention of claim 2, the Φ function part
And l in the E calculation uniti× l iBit to liB
Function Φi,… , ΦsIs ΦiIs liBit in
Value A for forcei= [A0,…, Ali-1] And Ki= [K
0, ..., kli-1] Does not consider the carry of the most significant bit
Claim that is a function that outputs the value added in
The block cipher creation device according to item 1.

【0016】請求項3の発明においては、前記φ関数部
におけるli ビットからli ビットへの関数φi ,…,
φs は、φi がli ビットの入力に関する値Ai
[a0, …,ali-1]をiビット左若しくは右巡回シフトさ
せた値を出力する関数、 φi (A)=[ai ,…,ai-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置としている。
[0016] In the invention of claim 3, function phi i from l i bits in the phi-function part to l i bits, ...,
φ s is the value A i = for inputs where φ i is l i bits
[A 0 , ..., a li-1 ] is a function that outputs a value obtained by cyclically shifting left or right by i bits, φ i (A) = [a i , ..., a i-1 ] The block cipher creating apparatus according to claim 1.

【0017】請求項4の発明においては、前記φ関数部
におけるli ビットからli ビットへの関数φ1 ,…,
φs は、li ビットの前記鍵Ki =[k0,…, kli-1
に依存して求められることを特徴とする請求項1記載の
ブロック暗号作成装置としている。請求項5の発明にお
いては、前記z演算部におけるnビットからnビットへ
の関数f1 ,…,ft は、fi がnビットの入力に関す
る値A=[a0 ,…,an- 1 ]をiビット前記各関数φ
i と同じ向きで左若しくは右巡回シフトさせた値を出力
する関数、 fi (A)=[ai ,…,ai-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置としている請求項6の発明においては、前記z演
算部におけるnビットからnビットへの関数f1 ,…,
t は、nビットの入力に関する値A=[a0 ,…,a
n-1 ]に依存して求められることを特徴とする請求項1
記載のブロック暗号作成装置としている。
[0017] In the invention of claim 4, function phi 1 from l i bits in the phi-function part to l i bits, ...,
φ s is the l i- bit key K i = [k 0 , ..., k li-1 ].
The block cipher creating apparatus according to claim 1, wherein the block cipher creating apparatus is obtained depending on In the invention of claim 5, the function f 1 , ..., F t from n bits to n bits in the z operation unit is a value A = [a 0 , ..., a n -for input where f i is n bits. 1 ] for i bits of each function φ
2. A block cipher creation method according to claim 1, wherein f i (A) = [a i , ..., a i-1 ] is a function that outputs a value obtained by cyclically shifting left or right in the same direction as i. According to the invention of claim 6, which is an apparatus, a function f 1 , ...
f t is a value A = [a 0 , ...
n-1 ] is required to be obtained.
The block cipher creation device described is used.

【0018】請求項7の発明においては、前記g関数部
におけるnビットからnビットへの関数gは、gがnビ
ットの入力に関する値A=[a0 ,…,an-1 ]をiビ
ット前記φi と逆向きで右若しくは左巡回シフトさせた
値を出力する関数、 g(A)=[an-i ,…,an-i-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置としている。
According to the invention of claim 7, in the function g from n bits to n bits in the g function part, a value A = [a 0 , ..., A n-1 ] for an input in which g is n bits is i. 2. The block according to claim 1, wherein the function is g (A) = [a ni , ..., A ni−1 ], which outputs a value obtained by performing a right or left cyclic shift in the opposite direction to the bit φ i. It is a cryptographic device.

【0019】請求項8の発明においては、前記h関数部
におけるnビットからnビットへの関数hは、hがnビ
ットの入力に関する値A=[a0 ,…,an-1 ]を前記
φiと逆向きでiビット右若しくは左巡回シフトさせた
値を出力する関数、 h(A)=[an-i ,…,an-i-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置としている。
In the invention of claim 8, in the function h from n bits to n bits in the h function part, the value A = [a 0 , ..., A n-1 ] relating to an input in which h is n bits is used. 2. The block according to claim 1 , wherein a function that outputs a value that is i-bit right or left cyclically shifted in the opposite direction to φ i is h (A) = [a ni , ..., A ni−1 ]. It is a cryptographic device.

【0020】請求項9の発明においては、前記D計算部
におけるnビットからnビットへの関数ψは、ψがnビ
ットの入力に関する値C=[c0 ,…,cn-1 ]を置換
させた後前記φi と同じ向きにiビット左若しくは右巡
回シフトさせた値とCとをビット毎の排他的論理和をと
った値を出力する関数であることを特徴とする請求項1
記載のブロック暗号作成装置としている。
In the invention of claim 9, the function ψ from n bits to n bits in the D calculation unit replaces a value C = [c 0 , ..., C n-1 ] relating to an input in which ψ is n bits. 2. A function that outputs a value obtained by performing an exclusive OR for each bit of C and the value obtained by cyclically shifting i bits left or right in the same direction as φ i after the above
The block cipher creation device described is used.

【0021】[0021]

【作用】上記構成により、請求項1の発明においては、
信号入力部は、外部からブロック信号装置へ入力されて
いる信号をnビットを一区切りとして区切った上で入力
値Aとする。入力値分割部は、入力値Aを最上桁から順
に各l1 ビット、l2 ビット…、l s ビットのs個のブ
ロックA1 、A2 、…As に分割する(ここに、l1
2+…+ls =nである)。
With the above structure, in the invention of claim 1,
The signal input section is externally input to the block signal device.
Input the signal after dividing it into n bits.
The value is A. The input value division unit orders the input value A from the highest digit.
Each l1Bit, l2Bit ..., l sS bits of bits
Lock A1, A2, ... AsSplit into (where l1+
l2+ ... + 1s= N).

【0022】鍵分割部は、nビットの鍵Kを最上桁から
順に各l1 ビット、l2 ビット、…、ls ビットのs個
のブロックK1 、K2 、…、Ks に分割する。φ関数部
は、前記各Ai をli ビットからli ビットへ移す関数
φi により各li ビットからなるs個のブロックφ
i (Ai )に移す(ここに、i=1、2、…、sであ
る)。
The key division unit divides the n-bit key K into s blocks K 1 , K 2 , ..., K s each having 1 1 bit, 12 bits, ..., 1 s bits in order from the highest digit. . The φ-function unit uses the function φ i that transfers each A i from l i bits to l i bits to obtain s blocks φ each of which has l i bits.
i (A i ) (where i = 1, 2, ..., S).

【0023】Φ関数部は、第一中間値Bの各構成要素た
るBi を前記φi (Ai )とKi をli ×li ビットか
らli ビットへ移すs個の関数Φi を作用させることに
よりもとめる。ここに、B1 +B2 +…+Bs =Bとな
る。g関数部は、前記nビットの鍵Kにnビットからn
ビットへ移す関数gを作用させることにより、g(K)
もとめる。
The Φ function unit transfers s functions Φ i that transfer B i, which is each component of the first intermediate value B, from the above φ i (A i ) and K i from l i × l i bits to l i bits. It is obtained by acting. Here, B 1 + B 2 + ... + B s = B. The g-function part uses the n-bit key K from n bits to n.
By operating the function g to transfer to bits, g (K)
I want it.

【0024】第一中間値分割部は、前記第一中間値B
を、各m1 ビット、m2 ビット、…m t ビットのt個の
ブロックB1 、B2 …、Bt に分割する。なお、ここに
tは前記sとは独立に任意に選定され、また、B1 +…
+Bs =Bである。g(K)分割部は、前記g関数部の
出力g(K)を各m1 ビット、m2 ビット…、mt ビッ
トのt個のブロックg(K)1 、g(K)2 、…、g
(K)t に分割する。
The first intermediate value dividing unit is for the first intermediate value B.
For each m1Bit, m2Bit, ... m tT of bits
Block B1, B2…, BtSplit into. In addition, here
t is arbitrarily selected independently of s, and B1+ ...
+ Bs= B. The g (K) division unit is the g function unit.
Output g (K) for each m1Bit, m2Bit ... mtBit
T blocks g (K)1, G (K)2, ..., g
(K)tSplit into.

【0025】z演算部は、t個のnビットからnビット
への関数fi (ここに、i=1、2、…、t)を有し、
合計t個のfi (g(K))をもとめた上でこれらと前
記第一中間値Bの各Bi とのビット毎の論理積を求め、
その結果の全ビットの排他的論理和を取った値zi を求
める。C計算部は、第二中間値Cの各構成要素たるCi
を前記zi と前記g(K)iの反転との各ビット毎の論
理積を求め、これらと前記第一中間値Bの各Bi とのビ
ット毎の排他的論理和を取ることによりもとめる。ここ
に、C1 +C2 +…+Ct =Cとなる。
The z calculator has t n-bit to n-bit functions f i (where i = 1, 2, ..., T),
After obtaining t f i (g (K)) in total, the bitwise logical product of these and each B i of the first intermediate value B is obtained,
A value z i is obtained by taking the exclusive OR of all the bits of the result. The C calculator calculates C i, which is each component of the second intermediate value C.
Is obtained by obtaining a logical product of each of the z i and the inversion of the g (K) i for each bit, and taking an exclusive OR of each of these with each B i of the first intermediate value B. . Here, C 1 + C 2 + ... + C t = C.

【0026】D計算部は、演算ψ(C)により第三中間
値Dをもとめる。h関数部は、nビットからnビットへ
の関数hを作用させることにより前記Kをh(K)に移
す。第三中間値分割部は、第三中間値Dを各l1 ビッ
ト、l2 ビット…ls ビットのs個のブロックD1 、D
2 、…、Ds に分割する(ここに、D=D1 +D2 +…
+Ds である)。
The D calculator obtains the third intermediate value D by the operation ψ (C). The h function part transfers the K to h (K) by operating the function h from n bits to n bits. The third intermediate value dividing section, the l 1 bit third intermediate value D, l 2 bits ... l s bit s blocks D 1, D
2 , ..., D s (where D = D 1 + D 2 + ...
+ D s ).

【0027】h(K)分割部は、前記h関数部の出力h
(n)を各l1 ビット、l2 ビット…、ls ビットのs
個のブロックh(K)1 、h(K)2 …、h(K)s
分割する。E計算部は、第四中間値Eの各構成要素Ei
を前記h(K)i と元気Di に前記関数Φi を作用させ
i =Φi (h(K)i 、Di )の演算をなすことによ
り求める。
The h (K) division unit outputs the output h of the h function unit.
(N) each l 1 bit, l 2 bits ..., l s bit s
The blocks are divided into blocks h (K) 1 , h (K) 2, ..., H (K) s . The E calculation unit calculates each component E i of the fourth intermediate value E.
Is calculated by applying the function Φ i to the h (K) i and the energy D i to perform the calculation of E i = Φ i (h (K) i , D i ).

【0028】ここに、i=1、2、…s、E1 +E2
…+Es =Eとなる。暗号出力部は、前記各Ei に前記
各関数fi を作用させて、fi (Ei )を出力信号とし
て出力する。請求項2の発明においては、前記li ×l
i ビットからli ビットへの関数Φ 1 ,…,Φs につい
ての操作は、iを添え字として、Φi がli ビットの入
力に関する値(ここにいう入力に関する値とは、入力値
Aを分割、撹乱あるいは鍵との演算をなしているため厳
密には入力値そのものとはいいがたいからである。)A
i =[a0, …,ali-1]とKi =[k0,…, kli-1]を最
上位ビットの繰り上がりは考えないで加えた値を出力す
る関数となる。その上で請求項1記載のブロック暗号作
成がなされる。
Where i = 1, 2, ..., S, E1+ E2+
… + Es= E. The encryption output unit isiTo the above
Each function fiAnd let fi(Ei) Is the output signal
Output. In the invention of claim 2, the li× l
iBit to liFunction Φ to bit 1,… , ΦsAbout
All operations are performed with Φ as the subscriptiIs liBit in
Value related to force (The value related to input here is the input value
Strict because A is divided, disturbed, or operated with a key
This is because it is hard to say the input value itself. ) A
i= [A0,…, Ali-1] And Ki= [K0, ..., kli-1] Up
Output the added value without considering the carry of the upper bits
Function. Then, the block cipher code according to claim 1.
Is done.

【0029】請求項3の発明においては、前記li ビッ
トからli ビットへの関数φ1 ,…,φs は、φi がl
i ビット入力値Ai =[a0, …,ali-1]をiビット左若
しくは右巡回シフトさせた値を出力する関数、 φi (A)=[ai ,…,ai-1 ] となる。その上で請求項1記載のブロック暗号作成がな
される。
[0029] In the invention of claim 3, wherein the function phi 1 from l i bits to l i bits, ..., phi s is, phi i is l
i-bit input values A i = [a 0, ... , a li-1] to i-bit left or function that outputs the right cyclically shifted value was, φ i (A) = [ a i, ..., a i-1 ] Becomes Then, the block cipher according to claim 1 is created.

【0030】請求項4に係るブロック暗号においては、
前記li ビットからli ビットへの関数φ1 ,…,φs
は、li ビットの前記鍵Ki =[k0,…, kli-1]に依
存して(Kの値如何によって内容が変化して)求められ
る、その上で請求項1記載のブロック暗号作成がなされ
る。請求項5の発明においては、前記nビットからnビ
ットへの関数f1 ,…,f t についての操作は、前記f
i がnビットの入力に関する値A=[a0 ,…,
n-1 ]をiビット前記φi と同じ方向で左若しくは右
巡回シフトさせた値を出力する、 fi (A)=[ai ,…,ai-1 ] となる。その上で請求項1記載のブロック暗号作成がな
される。
In the block cipher according to claim 4,
The liBit to liFunction φ to bit1,,, φs
Is liThe key K of bitsi= [K0, ..., kli-1]
Existed (content changes depending on the value of K)
Then, the block cipher according to claim 1 is created.
It In the invention of claim 5, from n bits to n bits
Function f to1,, f tFor the operation for
iIs an n-bit input value A = [a0,… ,
a n-1] For i bitsiSame direction as left or right
Output a value that is cyclically shifted, fi(A) = [ai, ..., ai-1] Becomes Then, the block cipher according to claim 1 cannot be created.
To be done.

【0031】請求項6の発明においては、前記nビット
からnビットへの関数f1 ,…,f t は、前記nビット
の入力に関する値A=[a0 ,…,an-1 ]に依存して
求められる。この上で請求項1記載のブロック暗号作成
がなされる。請求項7の発明においては、前記nビット
からnビットへの関数gは、gがnビットの入力に関す
る値A=[a0 ,…,an-1 ]をiビット前記φi と逆
向きで右若しくは左巡回シフトさせた値を出力する関
数、 g(A)=[an-1 ,…,an-i-1 ] となる。その上で請求項1記載のブロック暗号作成がな
される。
In the invention of claim 6, the n bits
To n-bit function f1,, f tIs the n bits
Value for input of A = [a0, ..., an-1] Depends on
Desired. Then, create the block cipher according to claim 1.
Is done. In the invention of claim 7, the n bits
To n-bit function g is related to input where g is n-bit
Value A = [a0, ..., an-1] For i bitsiAnd the reverse
Depending on the direction, the function that outputs the value shifted right or left cyclically
Number, g (A) = [an-1, ..., ani-1] Becomes Then, the block cipher according to claim 1 cannot be created.
To be done.

【0032】請求項8の発明においては、前記nビット
からnビットへの関数hは、hがnビットの入力に関す
る値A=[a0 ,…,an-1 ]をiビット前記φi と逆
向きで右若しくは左巡回シフトさせた値を出力する関
数、 h(A)=[an-i ,…,an-i-1 ] となる。その上で請求項1記載のブロック暗号作成がな
される。
[0032] In the invention of claim 8, the function h from the n bits to n bits, h values A = [a 0, ..., a n-1] about the n-bit input and i bits of the phi i In the opposite direction, a function that outputs a value that is cyclically shifted to the right or left is h (A) = [a ni , ..., A ni−1 ]. Then, the block cipher according to claim 1 is created.

【0033】請求項9の発明においては、前記nビット
からnビットへの関数ψは、ψがnビットの入力に関す
る値C=[c0 ,…,cn-1 ]を置換させた後iビット
前記φi と同じ向きに左若しくは右巡回シフトさせた値
とCとをビット毎の排他的論理和を取った値を出力する
関数となる。その上で請求項1記載のブロック暗号作成
がなされる。
In the ninth aspect of the present invention, the function ψ from n bits to n bits has a value i after substituting the value C = [c 0 , ..., C n-1 ] for the input where ψ is n bits. This is a function that outputs a value obtained by taking the exclusive OR for each bit and the value obtained by cyclically shifting left or right in the same direction as the bit φ i . Then, the block cipher according to claim 1 is created.

【0034】[0034]

【実施例】以下、本発明を実施例にもとづき説明する。
本発明の基本は請求項1の発明にあり、各請求項の発明
はその必要不可欠の事項(構成要素)を具体的な関数に
限定した上でその関数による技術的効果を得んとするも
のである。このため、実施例では各請求項の発明を一体
に組み込んだブロック暗号装置とする。
EXAMPLES The present invention will be described below based on examples.
The basis of the present invention is the invention of claim 1, and the invention of each claim limits the essential items (components) to concrete functions and obtains the technical effect by the functions. Is. For this reason, in the embodiment, a block cipher device integrally incorporating the inventions of the claims is adopted.

【0035】図1は、本発明に係る64ビット入出力の
ブロック暗号の実施例の基本構成図である。以下、本図
を参照しながら実施例の手順を説明する。本図において
1は、入力ビットの左32ビットLであり、2は右32
ビットRであり、3は32ビットの鍵Kである。実際に
データ撹乱部に入力されるのは、入力の右32ビットR
であり、以下、これをAと表す。次に、データ撹乱の内
容を6つのステップにわけて説明する。 [1.第一の中間値Bを求める。]32ビットを8ビッ
ト毎の4個のブロックに分割し、1から8までの各分割
iに対して、前記8ビットに対応する鍵Kの第iブロッ
クをKi 、8ビットに対応する入力値Aの第iブロック
をAi 、第一中間値Bの第iブロックをBi として、ま
ず、前記Ki の左2ビットの値だけ前記Ai を左に巡回
した結果の対応するブロックと前記Ki とを256を法
として加えた値を第一の中間値Bi とする。なお、ここ
に法として256を採るのは、従来技術と同じ理由であ
る。 [2.第二の中間値Cを求める]32ビットをk1 =3
0ビット,k2 =2ビットの2個のブロックに分割し、
gを右に1回巡回させる関数とし、jを非負整数(0で
もよい)とし、右にj回巡回させる関数をgj で表し、
K’=g(K)とするとき、1から2までの各分割iに
対して、前記ki ビットに対応する前記鍵K’の第iブ
ロックをK’i 、前記ki ビットに対応する前記Bの第
iブロックをBi 、前記ki ビットに対応する前記第二
中間値Cの第iブロックをCi として、前記鍵K’の前
記関数gi-1 による出力値gi ( K’) と前記Bとのビ
ット毎の論理積を求め、その結果の全ビットの排他的論
理和を取った値zi を求め、前記zi と前記K’i の反
転との各ビット毎の論理積を求め、これらと前記Bi
のビット毎の排他的論理和を取ったものを第二の中間値
i とする。なお、ここでgi ( K’)とBとのビット
毎の演算を論理積とするのは行列演算を行うためであ
り、zi を求めるのに全ビットの排他的論理和をとって
いるのはビット攪拌をおこすためである。 [3.第三の中間値Dを求める]前記Cの32ビットを
8ビット毎の4個のブロックC1 、C2 、C3 、C4
分割し、各ブロックに対してブロック内のビット置換を
行う。なお、各ブロック内においてそのビット情報を右
から1ビット目、2ビット目と呼ぶことにするとその置
換の内容は以下のようになる。
FIG. 1 is a basic block diagram of an embodiment of a 64-bit input / output block cipher according to the present invention. The procedure of the embodiment will be described below with reference to the figure. In the figure, 1 is the left 32 bits L of the input bit, and 2 is the right 32 bits.
Bit R, 3 is a 32-bit key K. The data that is actually input to the data disturbance unit is the right 32 bits R of the input.
Which is hereinafter referred to as A. Next, the contents of the data disturbance will be described in six steps. [1. The first intermediate value B is calculated. ] 32 bits are divided into 4 blocks of 8 bits each, and for each division i from 1 to 8, the i-th block of the key K corresponding to said 8 bits is K i , the input corresponding to 8 bits Letting the i-th block of the value A be A i and the i- th block of the first intermediate value B be B i , first, the corresponding block as a result of circulating A i leftward by the value of the left 2 bits of K i A value obtained by adding the above K i to the modulus 256 is defined as a first intermediate value B i . It should be noted that the reason why 256 is adopted as the law here is for the same reason as in the prior art. [2. Find second intermediate value C] 32 bits k 1 = 3
It is divided into two blocks of 0 bit, k 2 = 2 bits,
Let g be a function that cycles rightward once, j be a non-negative integer (may be 0), and let g j be a function that cycles j times to the right,
When K ′ = g (K), for each division i from 1 to 2, the i-th block of the key K ′ corresponding to the k i bits corresponds to K ′ i and the k i bits. the i block B i of the B, wherein k i a i-th block of the second intermediate value C corresponding to the bits as C i, wherein the function g output value by i-1 g i (K the key K '') And B are obtained for each bit, and the value z i obtained by taking the exclusive OR of all the bits of the result is obtained, and for each bit of z i and the inversion of K ′ i The logical product is obtained, and the bitwise exclusive OR of these and B i is taken as the second intermediate value C i . Note that the bit-wise operation of g i (K ′) and B is the logical product for matrix operation, and the exclusive OR of all bits is used to obtain z i . The reason is to cause bit agitation. [3. Obtaining a third intermediate value D] The 32 bits of C are divided into four blocks C 1 , C 2 , C 3 and C 4 of 8 bits each, and bit substitution in the block is performed for each block. . If the bit information in each block is called the first bit and the second bit from the right, the contents of the replacement are as follows.

【0036】1ビット目→3ビット目 2ビット目→7ビット目 3ビット目→5ビット目 4ビット目→1ビット目 5ビット目→2ビット目 6ビット目→6ビット目 7ビット目→4ビット目 8ビット目→8ビット目 次に、各ブロックにおける上記置換の結果得られたビッ
ト情報をC’とし、これを4ビット毎の8つのブロック
ブロックC’1 ,C’2 ,C’3 ,C’4 、C’ 5
C’6 ,C’7 ,C’8 に分割し、C’の8ビット毎の
4ブロックを図1のブロック置換に示すように並べ換え
たものをC”、 C”=C’4, C’1, C’8, C’5, C’2, C’
3, C’6, C’7 とし(ただし、明細書では図1とは逆に、左から順に記
載している。)、このC”を左3回巡回したものと前記
C”を左7回巡回したものとの加法をとったものをD’
とする。更にこのD’の32ビットを4ビット毎のブロ
ックD’1 ,D’ 2 ,D’3 ,D’4 、D’5
D’6 ,D’7 ,D’8 に分割し、このブロック単位の
置換を次のように行った結果をDとする(これを、図1
に示す。)。なお、ここにD1 ,D2 ,D3 ,D4 、D
5 ,D6 ,D7 ,D8 は、DをD’同様に4ビット毎の
ブロックに分割したものである。
1st bit → 3rd bit 2nd bit → 7th bit 3rd bit → 5th bit 4th bit → 1st bit 5th bit → 2nd bit 6th bit → 6th bit 7th bit → 4 Bit 8th bit → 8th bit Next, the bit obtained as a result of the above replacement in each block.
Information is C ', and this is eight blocks of 4 bits each.
Block C '1, C '2, C '3, C 'Four, C ' Five
C ’6, C '7, C '8For every 8 bits of C '.
Rearrange 4 blocks as shown in block permutation in FIG.
C ", C" = C'4, C'1, C'8, C'5, C'2, C '
3, C'6, C'7 (However, in the specification, contrary to FIG.
It is listed. ), The C ”was patrolled three times to the left and the above
D'is obtained by adding C's left 7 times
And In addition, 32 bits of this D'are set in blocks of 4 bits.
Duck1, D ’ 2, D ’3, D ’Four, D ’Five
D ’6, D ’7, D ’8Divided into
Let D be the result of performing the replacement as follows.
Shown in. ). In addition, here D1, D2, D3, DFour, D
Five, D6, D7, D8In the same way as D'in every 4 bits
It is divided into blocks.

【0037】D1=D’4 D2=D’1 D3=D’8 D4=D’5 D5=D’2 D6=D’3 D7=D’6 D8=D’7 この結果を第三中間値Dとする。 [5.第四の中間値Eを求める]前記Dの32ビットを
8ビット毎の4ブロックD1 ,D2 ,D3 ,D4 に分割
し、同様に前記鍵K、第4中間値Eも8ビット毎の4ブ
ロックK1 ,K2 ,K3 ,K4 ,E1 ,E2 ,E3 ,E
4 に分割し、前記K1 を1を256を法として加えた結
果に変えたものをK”として同様に4分割し、各第iブ
ロックに対して、前記K”i と前記Di を256を法と
して加えた前記第5中間値をEi としする。 [6.出力値を求める]前記Eの左1回巡回を出力とす
る。
D1 = D'4 D2 = D'1 D3 = D'8 D4 = D'5 D5 = D'2 D6 = D'3 D7 = D'6 D8 = D'7 This result is the third intermediate value. Let be D. [5. Obtaining a fourth intermediate value E] The 32 bits of D are divided into four blocks D 1 , D 2 , D 3 and D 4 of 8 bits each, and similarly, the key K and the fourth intermediate value E are also 8 bits. 4 blocks for each K 1 , K 2 , K 3 , K 4 , E 1 , E 2 , E 3 , E
Is divided into 4, the K 1 "similarly divided into four as for each of the i-th block, the K" K what was changed to a result of adding 1 to 256, modulo the D i and i 256 Let E i be the fifth intermediate value added modulo. [6. Obtain output value] The left one round of E is output.

【0038】上記操作により求められた結果と入力の左
半分とのビット毎の排他的論理和を取ったものを1段の
ブロック暗号の出力の左半分とし、もとのAをブロック
暗号の出力の右半分とする。この操作を8回繰り返す。
このとき、実行ビット数は及びコンプリート性は2段で
飽和し、この結果ブロック暗号の強力な解法である差分
攻撃に対して8段で強くなり、安全で高速なブロック暗
号を構成できることとなる。すなわち、最終の3段を除
外した5段で、実行ビット数及びコンプリート性は2回
以上飽和したこととなる。
The result obtained by the above operation and the bitwise exclusive OR of the left half of the input are taken as the left half of the output of the one-stage block cipher, and the original A is the output of the block cipher. And the right half of. This operation is repeated 8 times.
At this time, the number of execution bits and the completeness are saturated in two rounds, and as a result, it becomes strong in eight rounds against a differential attack, which is a strong solution of the block cipher, and a safe and high-speed block cipher can be constructed. That is, the number of execution bits and the completeness are saturated twice or more in the five stages excluding the final three stages.

【0039】以上、本発明を実施例にもとづき説明して
きたが、本発明は何も上記実施例に限定されないのは勿
論である。すなわち、例えば、 ブロック暗号の繰り返し回数は8回に限らず、それ以
上なら何回でもよい。これは、何等かの事情でディジタ
ル情報の一区切りや鍵の桁数が小さい場合及び通信情報
の秘密保持の重要性が高い場合に極めて有効である。 ディジタル通信に限らず、ディジタル計算等ディジタ
ル的な信号の処理、演算は通例の2のべき乗を単位とし
てなされるため、本実施例でも入力信号、鍵、分割数等
を2のべき乗としているが、これらは何も2のべき乗に
限定されないのは勿論である。 本実施例では、各演算、分割はいわば電気回路的にな
すものとしてあるが、これは大型計算機による演算によ
りなすものとしてもよい。この場合、特に各関数(φ、
f等)が単なる巡回でなく複雑なものであるときに便利
であろう。 製造の都合で、各構成要素が物理的に複数の物とされ
たり、複数の構成要素が物理的に一体のものとされても
よい。
Although the present invention has been described above based on the embodiments, it goes without saying that the present invention is not limited to the above embodiments. That is, for example, the number of times the block cipher is repeated is not limited to eight, but may be any number greater than that. This is extremely effective when, for some reason, a division of digital information or the number of digits of a key is small, or when the confidentiality of communication information is very important. Since not only digital communication but also digital signal processing and calculation such as digital calculation are performed in units of powers of 2 as usual, the input signal, the key, the number of divisions, etc. are also powers of 2 in this embodiment. Of course, these are not limited to powers of two. In the present embodiment, each calculation and division are performed as if they were electric circuits, but they may be performed by calculation by a large-scale computer. In this case, each function (φ,
It may be useful when (f, etc.) is complex rather than just a cycle. For convenience of manufacture, each component may be physically a plurality of components, or a plurality of components may be physically integrated.

【0040】[0040]

【発明の効果】以上に説明したように、本発明はブロッ
ク暗号を安価、高い安全性、かつ高速で構成することが
可能となる。請求項2の発明においては、最上位ビット
の繰り上がりは考えていない足し算であるため、高速演
算が可能でありその上論理的、回路的に簡単かつハード
も増えないため、請求項1の発明の効果が増大する。
As described above, the present invention makes it possible to construct a block cipher at low cost, high security, and high speed. According to the invention of claim 2, since the addition is performed without considering the carry of the most significant bit, high-speed operation is possible, and further, the logical and circuit is simple and the hardware does not increase. Therefore, the invention of claim 1 The effect of is increased.

【0041】特に請求項3、請求項5、請求項7、請求
項8及び請求項9の発明においては、攪拌に巡回シフト
を採用しているため、論理回路の構成が簡単、安価なも
のとなり、また請求項1の発明における暗号化と復号を
高速になしえる。請求項4及び請求項6の発明において
は、関数φは鍵Kに、関数fは入力値Aに依存して求め
られることとなりるため、実行ビット数の飽和とコンプ
リート性を充たすのに少ない実行段数でよいこととな
り、請求項1の発明の効果が増大する。
Particularly, in the inventions of claim 3, claim 5, claim 7, claim 8 and claim 9, since the cyclic shift is adopted for agitation, the configuration of the logic circuit is simple and inexpensive. Also, the encryption and decryption in the invention of claim 1 can be performed at high speed. In the inventions of claims 4 and 6, since the function φ is determined depending on the key K and the function f is dependent on the input value A, the number of executions is small to satisfy the saturation and completeness. Since the number of stages is sufficient, the effect of the invention of claim 1 is increased.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例のブロック暗号のアルゴリズ
ムの構成図である。
FIG. 1 is a block diagram of a block cipher algorithm according to an embodiment of the present invention.

【図2】従来技術に係るブロック暗号のアルゴリズムの
構成図である。
FIG. 2 is a block diagram of a block cipher algorithm according to a conventional technique.

【図3】ビット情報の巡回器による巡回及び鍵と巡回の
ための回路構成の概念図である。
FIG. 3 is a conceptual diagram of a circuit configuration for circulation and key and circulation by a bit information circulator.

【符号の説明】[Explanation of symbols]

1 入力ビットの左32ビット 2 入力ビットの右32ビット 3 鍵 1 input bit left 32 bits 2 input bit right 32 bits 3 key

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 外部入力をnビット毎に区切って入力値
Aとする信号入力部と、前記信号入力部により得られた
各入力値Aを最上桁から順に各l1 ビット、l 2 ビッ
ト、…、ls ビット(ここに、l1 +l2 +…+ls
n)のs個のブロックA1 、A2 、…、As に分割する
入力値分割部と、あらかじめ定められた値であるnビッ
トの鍵Kを最上桁から順に各l1 ビット、l2 ビット、
…、ls ビットのs個のブロックK1 、K2 、…、Ks
に分割する鍵分割部と、前記入力値分割部からの出力た
る各Ai (ここに、i=1,…,s)をφi (A i )に
移すs個のli ビットからli ビットへの関数φi を有
するφ関数部と、第一中間値Bとしてその各構成要素B
i (ここに、B1 +…+Bs =B)をBi=Φi (φi
(Ai )、Ki )の演算によりもとめるs個のli ×l
i ビットからli ビットへの関数Φi を有するΦ関数部
と、あらかじめ定められた値であるnビットの鍵Kをg
(K)に移すnビットからnビットへの関数gを有する
g関数部と、第一中間値Bを各m1 ビット、m2 ビット
…、mt ビット(ここに、m1 +m2…+mt =n、か
つtはsとは独立に設定される。)のt個のブロックB
1 、B 2 、…、Bt に分割する第一中間値分割部と、前
記g関数部の出力結果g(K)を各m1 ビット、m2
ット、…、mt ビットのt個のブロックg(K)1 、g
(K)2 、…、g(K)t に分割するg(K)分割部
と、t個のnビットからnビットへの関数fi (i=
1,…,t)を有し、fi (g(K))と第一中間値B
の各Bi とのビット毎の論理積を求め、その結果の全ビ
ットの排他的論理和を取った値zi を求めるz演算部
と、第二中間値Cとして、その各構成要素Ci (i=
1,…,t)を、前記zi と前記g(K)i の反転との
各ビット毎の論理積を求めこれらと前記Bi とのビット
毎の排他的論理和を取ったものをCi とすることにより
もとめるC計算部と、第三中間値DをD=φ(C)の演
算によりもとめるlビットからlビットへの関数φを有
するD計算部と、あらかじめ定められた値であるnビッ
トの鍵Kをh(K)(ここにh(K)=g(K))に移
すnビットからnビットへの関数hを有するh関数部
と、第三中間値Dを各l1 ビット、l2 ビット、…、l
s ビットのs個のブロックD 1 、D2 、…、Ds (ここ
に、D1 +…+Ds =D)に分割する第三中間値分割部
と、前記h関数部の出力結果h(K)を各l1 ビット、
2 ビット、…、ls ビットのs個のブロックh(K)
1 、h(K)2 …、h(K)s (ここに、h(K)1
…+h(K)s =h(K))に分割するh(K)分割部
と、第四中間値Eとして、その各構成要素Ei (ここ
に、E1 +…+Es =E)をE i =Φi (h(K)i
i )の演算によりもとめるli ×li ビットからli
ビットへの関数Φi を有するE計算部と、s個のnビッ
トからnビットへの関数fi (i=1,…,s)を有
し、各fi (Ei )を出力信号として出力する暗号出力
部とを有することを特徴とするブロック暗号装置。
1. An input value obtained by dividing an external input every n bits.
A signal input section designated as A and obtained by the signal input section
Set each input value A to 1 from the highest digit1Bit, l 2Bit
To ...sBit (where l1+12+ ... + 1s=
n) s blocks A1, A2, ..., AsSplit into
Input value division part and n bits which is a predetermined value
The key K of the1Bit, l2bit,
…, LsS blocks of bits K1, K2, ... Ks
Output from the input value division unit and the key division unit
Each Ai(Where i = 1, ..., S)i(A i) To
S number of l to transferiBit to liFunction φ to bitiHave
Φ function part and its constituent elements B as the first intermediate value B
i(Here, B1+ ... + Bs= B) to Bi= Φii
(Ai), Ki), The s number of li× l
iBit to liFunction Φ to bitiΦ function part with
And an n-bit key K that is a predetermined value is g
Have a function g from n bits to n bits that is transferred to (K)
g function part and the first intermediate value B for each m1Bit, m2bit
…, MtBit (where m1+ M2… + Mt= N
One t is set independently of s. ) T blocks B
1, B 2, ..., BtThe first intermediate value division part to divide into
The output result g (K) of the g-function part is m1Bit, m2B
T ... mtT blocks of bits g (K)1, G
(K)2, ..., g (K)tG (K) division part to divide into
And a function f from t n bits to n bitsi(I =
1, ..., T), and fi(G (K)) and the first intermediate value B
Each BiAnd the bitwise logical product of
Value z which is the exclusive OR ofiZ calculation unit for obtaining
And each of the constituent elements C as the second intermediate value C.i(I =
1, ..., t) is the ziAnd the above g (K)iWith the inversion of
The logical product of each bit is obtained and these areiA bit of
C is the exclusive OR of eachiBy
The calculation of the C and the third intermediate value D are performed by D = φ (C).
There is a function φ from 1 bit to 1 bit obtained by arithmetic
D calculation unit and n bits, which is a predetermined value
Key K to h (K) (where h (K) = g (K))
H function part having a function h from n bits to n bits
And the third intermediate value D for each l1Bit, l2Bit ...
sS blocks of bits D 1, D2, ..., Ds(here
To D1+ ... + Ds= D) third intermediate value division unit
And the output result h (K) of the h function part is1bit,
l2Bit ...sS blocks of bits h (K)
1, H (K)2…, H (K)s(Here, h (K)1+
… + H (K)s= H (K)) h (K) division unit
And, as the fourth intermediate value E, the respective constituent elements Ei(here
To E1+ ... + Es= E) to E i= Φi(H (K)i,
Di) Is calculated byi× liBit to li
Function Φ to bitiE calculation unit with s n bits
Function f from the output to n bitsiWith (i = 1, ..., s)
And each fi(Ei) As an output signal
And a block cipher device.
【請求項2】 前記Φ関数部及び前記E計算部における
i ×li ビットからli ビットへの関数Φi ,…,Φ
s は、Φi がli ビットの入力に関する値Ai
[a0 , …,ali-1]とKi =[k0,…, kli-1]を最
上位ビットの繰り上がりは考えないで加えた値を出力す
る関数であることを特徴とする請求項1記載のブロック
暗号作成装置。
2. A function of the l i × l i bits in the [Phi function unit and the E calculator to l i bits Φ i, ..., Φ
s is the value A i = for inputs where Φ i is l i bits
[A 0 , ..., a li-1 ] and K i = [k 0 , ..., k li-1 ] are the functions to output a value added without considering the carry of the most significant bit. The block cipher creation device according to claim 1.
【請求項3】 前記φ関数部におけるli ビットからl
i ビットへの関数φi,…,φs は、φi がli ビット
の入力に関する値Ai =[a0, …,ali-1]をiビット左
若しくは右巡回シフトさせた値を出力する関数、 φi (A)=[ai ,…,ai-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置。
3. From l i bits in the φ function part to l
Functions to i bits φ i, ..., φ s is, phi i is l i values A i = [a 0, ... , a li-1] for the input bits and a value obtained by i-bit left or right cyclic shift The block cipher creation device according to claim 1, wherein the output function is φ i (A) = [a i , ..., A i-1 ].
【請求項4】 前記φ関数部におけるli ビットからl
i ビットへの関数φ1,…,φs は、li ビットの前記
鍵Ki =[k0,…, kli-1]に依存して求められること
を特徴とする請求項1記載のブロック暗号作成装置。
4. From l i bits in the φ function part to l
2. The function φ 1 , ..., φ s for i bits is obtained depending on the key K i = [k 0 , ..., k li-1 ] of l i bits. Block cipher creation device.
【請求項5】 前記z演算部におけるnビットからnビ
ットへの関数f1 ,…,ft は、fi がnビットの入力
に関する値A=[a0 ,…,an-1 ]をiビット前記各
関数φi と同じ向きで左若しくは右巡回シフトさせた値
を出力する関数、 fi (A)=[ai ,…,ai-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置。
5. The n-bit-to-n-bit function f 1 , ..., F t in the z operation unit has a value A = [a 0 , ..., A n-1 ] related to an input in which f i is n bits. i-bit function f i (A) = [a i , ..., A i-1 ] which outputs a value obtained by cyclically shifting left or right in the same direction as each function φ i. 1. The block cipher creation device according to 1.
【請求項6】 前記z演算部におけるnビットからnビ
ットへの関数f1 ,…,ft は、nビットの入力に関す
る値A=[a0 ,…,an-1 ]に依存して求められるこ
とを特徴とする請求項1記載のブロック暗号作成装置。
6. The n-bit to n-bit function f 1 , ..., F t in the z operation unit depends on the value A = [a 0 , ..., A n-1 ] related to the n-bit input. The block cipher creation device according to claim 1, wherein the block cipher creation device is obtained.
【請求項7】 前記g関数部におけるnビットからnビ
ットへの関数gは、gがnビットの入力に関する値A=
[a0 ,…,an-1 ]をiビット前記φi と逆向きで右
若しくは左巡回シフトさせた値を出力する関数、 g(A)=[an-i ,…,an-i-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置。
7. The function g from n bits to n bits in the g function unit is a value A = for an input in which g is n bits.
[A 0 , ..., a n-1 ] is a function that outputs a value obtained by shifting i bits in the opposite direction to φ i in the right or left cyclic shift, g (A) = [a ni , ..., a ni-1 ] The block cipher creation device according to claim 1, wherein
【請求項8】前記h関数部におけるnビットからnビッ
トへの関数hは、hがnビットの入力に関する値A=
[a0 ,…,an-1 ]を前記φi と逆向きでiビット右
若しくは左巡回シフトさせた値を出力する関数、 h(A)=[an-i ,…,an-i-1 ] であることを特徴とする請求項1記載のブロック暗号作
成装置。
8. A function h from n bits to n bits in the h function section is such that a value A for an input in which h is n bits is A =
A function that outputs [a 0 , ..., A n-1 ] a value that is i-bit right or left cyclically shifted in the opposite direction to φ i , h (A) = [a ni , ..., A ni-1 ] The block cipher creation device according to claim 1, wherein
【請求項9】 前記D計算部におけるnビットからnビ
ットへの関数ψは、ψがnビットの入力に関する値C=
[c0 ,…,cn-1 ]を置換させた後前記φ i と同じ向
きにiビット左若しくは右巡回シフトさせた値とCとを
ビット毎の排他的論理和をとった値を出力する関数であ
ることを特徴とする請求項1記載のブロック暗号作成装
置。
9. From n bits to n bits in the D calculation unit.
The function ψ to the input is the value C = for inputs where ψ is n bits.
[C0, ..., cn-1] After replacing iSame direction as
The i-bit left or right cyclically shifted value and C
It is a function that outputs the value obtained by taking the exclusive OR of each bit.
The block cipher creation device according to claim 1, wherein
Place
JP13187793A 1993-06-02 1993-06-02 Block cipher creation device Expired - Lifetime JP3371981B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13187793A JP3371981B2 (en) 1993-06-02 1993-06-02 Block cipher creation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13187793A JP3371981B2 (en) 1993-06-02 1993-06-02 Block cipher creation device

Publications (2)

Publication Number Publication Date
JPH06342258A true JPH06342258A (en) 1994-12-13
JP3371981B2 JP3371981B2 (en) 2003-01-27

Family

ID=15068235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13187793A Expired - Lifetime JP3371981B2 (en) 1993-06-02 1993-06-02 Block cipher creation device

Country Status (1)

Country Link
JP (1) JP3371981B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052587A1 (en) * 2009-10-27 2011-05-05 日本電気株式会社 Block encryption apparatus, block encryption method and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120942A (en) * 1992-10-01 1994-04-28 Matsushita Electric Ind Co Ltd Bit agitator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120942A (en) * 1992-10-01 1994-04-28 Matsushita Electric Ind Co Ltd Bit agitator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052587A1 (en) * 2009-10-27 2011-05-05 日本電気株式会社 Block encryption apparatus, block encryption method and program
JP5488608B2 (en) * 2009-10-27 2014-05-14 日本電気株式会社 Block encryption apparatus, block encryption method and program
US8891758B2 (en) 2009-10-27 2014-11-18 Nec Corporation Block encryption device and method and computer program

Also Published As

Publication number Publication date
JP3371981B2 (en) 2003-01-27

Similar Documents

Publication Publication Date Title
Arab et al. An image encryption method based on chaos system and AES algorithm
Lipmaa et al. CTR-mode encryption
Andem A cryptanalysis of the tiny encryption algorithm
KR100362458B1 (en) Cryptographic processing apparatus, cryptographic processing method, and recording medium recording cryptographic processing program for realizing high-speed crypographic processing without impairing security
KR20110004474A (en) A closed galois field cryptographic system
JP4025722B2 (en) Method and apparatus for data encryption
KR100800468B1 (en) Hardware cryptographic engine and method improving power consumption and operation speed
Gafsi et al. High securing cryptography system for digital image transmission
Achkoun et al. SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes
JP2014197913A (en) Encryption device, encryption method, and program
Kapoor et al. Analysis of symmetric and asymmetric key algorithms
JPWO2012141189A1 (en) ENCRYPTION METHOD, ENCRYPTION DEVICE, AND ENCRYPTION PROGRAM
Ledda et al. Enhancing IDEA algorithm using circular shift and middle square method
JP3371981B2 (en) Block cipher creation device
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
Lu et al. Related-key attacks on the full-round Cobra-F64a and Cobra-F64b
Tarawneh Cryptography: Recent Advances and Research Perspectives
Fanfakh et al. Simultaneous encryption and authentication of messages over GPUs
Al-Rahman et al. A hybrid lightweight cipher algorithm
Nakahara Jr Lai-Massey Cipher Designs: History, Design Criteria and Cryptanalysis
Kothandan Modified Blowfish Algorithm to Enhance its Performance and Security
JPH10153954A (en) Ciphering device
Abd Al-Rahman et al. A Hybrid Lightweight Cipher Algorithm
Manikandan et al. Design of tri-layer image encryption scheme using Calendar Month Vowel Count (CMVC) approach
Adebayo A Multilevel Data Encryption Standard Cryptosystem with Residue Number System

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 11

EXPY Cancellation because of completion of term