JPH09251267A - Encryption device and encryption method - Google Patents

Encryption device and encryption method

Info

Publication number
JPH09251267A
JPH09251267A JP8059789A JP5978996A JPH09251267A JP H09251267 A JPH09251267 A JP H09251267A JP 8059789 A JP8059789 A JP 8059789A JP 5978996 A JP5978996 A JP 5978996A JP H09251267 A JPH09251267 A JP H09251267A
Authority
JP
Japan
Prior art keywords
encryption
internal state
conversion
unit
output
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.)
Pending
Application number
JP8059789A
Other languages
Japanese (ja)
Inventor
Hideo Shimizu
秀夫 清水
Shinichi Kawamura
信一 川村
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 JP8059789A priority Critical patent/JPH09251267A/en
Publication of JPH09251267A publication Critical patent/JPH09251267A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enhance the safety of cipher text by updating a stored content state by an internal state updating means every time encryption conversion is executed. SOLUTION: An F function 1 as an encryption conversion means receives the plaintext to be encrypted, an encryption key 5 and the internal state 6, executes the prescribed encryption conversion and produces an output 7. An internal state updating function 3 updates the internal state 6 every time the encryption conversion in an internal state storing means 2 for storing the internal state 6 and the F function 1 is executed, i.e., simultaneously with the encryption conversion. Even if the same plaintext and the cipher key are inputted, the output is changed by the updatable internal state according to such constitution and, therefore, the safety of a round function which can be an effective defense method against the differential attack based on the analysis of the input and output functions of the round function is enhanced. The device may be composed of the round functions of a smaller number of stages when the safety of about the same degree is taken into consideration.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は暗号化装置及び暗号
化方法に関し、特に、Feistel 型ブロック暗号において
暗号文の安全性を強化した暗号化装置及び暗号化方法に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption device and an encryption method, and more particularly to an encryption device and an encryption method for enhancing the security of ciphertext in Feistel type block cipher.

【0002】[0002]

【従来の技術】比較的安全性に劣った暗号をラウンド関
数とみなし、これを複数段積み重ねることによって安全
性を強化する暗号化方法が従来より知られている。この
ような暗号は積暗号と呼ばれているが、特に、Feistel
型ブロック暗号は暗号化回路と復号化回路とを共有でき
ることから、装置規模を小さくできる利点がある。「現
代暗号理論」、電子情報通信学会、池野信一、小山謙二
著、はこのような暗号化装置を開示している。
2. Description of the Related Art Conventionally, there is known an encryption method which regards a cipher having a relatively low security as a round function and stacks the round functions to enhance the security. Such ciphers are called product ciphers, but especially Feistel
The type block cipher has an advantage that the device scale can be reduced because the encryption circuit and the decryption circuit can be shared. "Modern Cryptography," IEICE, Shinichi Ikeno, Kenji Koyama, disclose such an encryption device.

【0003】また、特開昭51−108701号公報や
特開昭51−108702号公報はFeistel 型ブロック
暗号の代表的な暗号として良く知られているDES(Dat
a Encryption Standard)型暗号の基本的な考え方を開示
している。
Further, Japanese Unexamined Patent Publication No. 51-108701 and Japanese Unexamined Patent Publication No. 51-108702 disclose DES (Dat) which is well known as a representative cipher of the Feistel block cipher.
It discloses the basic idea of a Encryption Standard) type encryption.

【0004】さらに、特開平6−266284号公報
は、暗号化変換を制御しているビット列としての中間鍵
を、暗号化が行われる都度更新することによって、長い
平文の列を暗号化するときに同じ鍵で暗号化した多量の
暗号文を解読者に与えないようにする方法を開示してい
る。
Further, Japanese Patent Laid-Open No. 6-266284 discloses a method of encrypting a long plaintext string by updating an intermediate key as a bit string controlling encryption conversion each time encryption is performed. It discloses a method of preventing a large amount of ciphertext encrypted with the same key from being given to a decryption person.

【0005】一方、上記したFeistel 型暗号を解読する
ための有力な方法として、変換部の入出力関係に着目し
て暗号文の解析を行なう差分攻撃と呼ばれる攻撃法が知
られている。このような差分攻撃から暗号文を守るため
には、変換部の段数を増加させればよい。
On the other hand, as an effective method for deciphering the Feistel type cipher described above, an attack method called differential attack is known in which ciphertext is analyzed by paying attention to the input / output relation of the conversion unit. In order to protect the ciphertext from such a differential attack, the number of stages of the conversion unit may be increased.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、上記し
た従来技術はいずれも、差分攻撃から暗号文を守るため
に変換部の段数を増やすと、処理速度が低下してしまう
欠点があった。逆に、処理速度を重視して変換部の段数
を少なくすると差分攻撃によって暗号文が解読されてし
まうという問題があった。
However, all of the above-mentioned conventional techniques have a drawback that the processing speed is reduced if the number of stages of the conversion unit is increased in order to protect the ciphertext from the differential attack. On the other hand, if the processing speed is emphasized and the number of stages of the conversion unit is reduced, there is a problem that the ciphertext is decrypted by the differential attack.

【0007】本発明はこのような課題に着目してなされ
たものであり、その目的とするところは、処理速度を考
慮して少ない段数の変換部で装置を構成した場合であっ
ても暗号文の安全性をより増大させることができる暗号
化装置及び暗号化方法を提供することにある。
The present invention has been made by paying attention to such a problem, and an object of the present invention is to obtain a ciphertext even if the device is configured with a conversion unit having a small number of stages in consideration of processing speed. An object of the present invention is to provide an encryption device and an encryption method capable of further increasing the security of.

【0008】[0008]

【課題を解決するための手段】上記の目的を達成するた
めに、第1の発明に係る暗号化装置は、内部状態を記憶
するための記憶手段と、この記憶手段に記憶された内部
状態を更新するための内部状態更新手段と、暗号化すべ
きデータと、暗号化鍵と、前記記憶手段に記憶された内
部状態とを受けて暗号化変換を行なう暗号化変換手段と
を具備する変換部を複数段設けた暗号化装置であって、
前記暗号化変換手段により暗号化変換を行なうたびに、
前記記憶手段に記憶された内部状態を前記内部状態更新
手段によって更新する。
In order to achieve the above object, the encryption device according to the first aspect of the present invention stores a storage unit for storing an internal state and an internal state stored in the storage unit. A conversion unit including an internal state update unit for updating, data to be encrypted, an encryption key, and an encryption conversion unit that receives the internal state stored in the storage unit and performs encryption conversion. An encryption device having a plurality of stages,
Each time the encryption conversion is performed by the encryption conversion means,
The internal state stored in the storage means is updated by the internal state update means.

【0009】また、第2の発明に係る暗号化装置は、暗
号化すべきデータと、暗号化鍵とを受けて暗号化変換を
行なう暗号化変換手段と、内部状態を記憶する記憶手段
と、この記憶手段に記憶された内部状態を更新するため
の内部状態更新手段とを具備する変換部を複数段設けた
暗号化装置であって、前記暗号化変換手段により暗号化
変換を行なうたびに、前記記憶手段に記憶された内部状
態を前記内部状態更新手段によって更新しつつ、前記記
憶手段に記憶された内部状態に応じて前記暗号化変換手
段の出力を制御する。
The encryption device according to the second aspect of the present invention includes an encryption conversion means for receiving data to be encrypted and an encryption key for performing encryption conversion, a storage means for storing an internal state, and An encryption device having a plurality of stages of conversion units each including an internal state updating unit for updating the internal state stored in the storage unit, wherein the encryption device performs the encryption conversion every time the encryption conversion unit performs the encryption conversion. While updating the internal state stored in the storage means by the internal state update means, the output of the encryption conversion means is controlled according to the internal state stored in the storage means.

【0010】また、第3の発明に係る暗号化方法は、内
部状態を記憶手段に記憶する記憶工程と、記憶された内
部状態を内部状態更新手段によって更新する内部状態更
新工程と、暗号化すべきデータと、暗号化鍵と、記憶さ
れた内部状態とを受けて暗号化変換手段によって暗号化
変換を行なう暗号化変換工程とを具備する変換工程を複
数回行なう暗号化方法であって、前記暗号化変換工程に
おいて暗号化変換を行なうたびに、前記記憶手段に記憶
された内部状態を前記内部状態更新手段によって更新す
る工程を具備する。
In the encryption method according to the third aspect of the invention, a storage step of storing the internal state in the storage means, an internal state updating step of updating the stored internal state by the internal state updating means, and encryption should be performed. What is claimed is: 1. An encryption method for performing a conversion step a plurality of times, comprising an encryption conversion step of receiving data, an encryption key, and a stored internal state and performing encryption conversion by an encryption conversion means. Each time the encryption conversion process is performed, the internal state stored in the storage unit is updated by the internal state update unit.

【0011】また、第4の発明に係る暗号化方法は、暗
号化すべきデータと、暗号化鍵とを受けて暗号化変換手
段によって暗号化変換を行なう暗号化変換工程と、記憶
手段に内部状態を記憶する記憶工程と、記憶された内部
状態を内部状態更新手段によって更新する内部状態更新
工程とを具備する変換工程を複数回行なう暗号化方法で
あって、前記暗号化変換工程において暗号化変換を行な
うたびに、前記記憶手段に記憶された内部状態を前記内
部状態更新手段によって更新しつつ、前記記憶手段に記
憶された内部状態に応じて前記暗号化変換手段の出力を
制御する工程を具備する。
The encryption method according to the fourth aspect of the present invention includes an encryption conversion step of receiving data to be encrypted and an encryption key and performing encryption conversion by the encryption conversion means, and an internal state in the storage means. Is an encryption method for performing a plurality of conversion steps including a storage step of storing the internal state and an internal state update step of updating the stored internal state by an internal state update means, wherein the encryption conversion step is performed in the encryption conversion step. And updating the internal state stored in the storage unit by the internal state updating unit, and controlling the output of the encryption conversion unit according to the internal state stored in the storage unit. To do.

【0012】[0012]

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

【0013】図1は本発明が適用される変換部としての
ラウンド関数8の構成を示す図であり、暗号化すべき平
文4と、暗号化鍵5と、内部状態6とを受けて所定の暗
号化変換を行って出力7を出力する暗号化変換手段とし
てのF関数1と、内部状態6を記憶するための内部状態
記憶手段2と、F関数1での暗号化変換が行われるたび
に、すなわち、暗号化変換と同時に内部状態6を更新す
る内部状態更新関数3とを具備している。図1は第1段
のラウンド関数を示しているが、第2段以降のラウンド
関数では平文4の代わりに前の段のラウンド関数の出力
が入力される。
FIG. 1 is a diagram showing a configuration of a round function 8 as a conversion unit to which the present invention is applied, which receives a plaintext 4 to be encrypted, an encryption key 5 and an internal state 6 and then performs a predetermined encryption. F function 1 as an encryption conversion unit that performs an encryption conversion and outputs an output 7, an internal state storage unit 2 for storing an internal state 6, and an encryption conversion by the F function 1 each time That is, the internal state update function 3 for updating the internal state 6 simultaneously with the encryption conversion is provided. Although FIG. 1 shows the round function of the first round, the output of the round function of the previous round is input instead of the plaintext 4 in the round functions of the second round and thereafter.

【0014】このような構成によれば、同じ平文、暗号
化鍵が入力された場合でも、更新可能な内部状態によっ
て出力が変更されるので、ラウンド関数の入出力関係の
解析に基づく差分攻撃に対して有効な防御法となりラウ
ンド関数の安全性を増大させることができる。また、同
じ程度の安全性を考慮した場合は少ない段数のラウンド
関数で装置を構成することができる。また、内部状態の
更新はラウンド関数内のF関数の暗号化変換処理と同時
に行なうので、ラウンド関数全体の処理効率はほとんど
変わらず、ラウンド関数の段数を減らせる分、処理速度
を増大させることができる利点がある。
According to such a configuration, even if the same plaintext and encryption key are input, the output is changed by the updatable internal state, so a differential attack based on the analysis of the input / output relation of the round function can be performed. On the other hand, it becomes an effective defense method and can increase the security of the round function. Further, when considering the same degree of safety, the device can be configured with a round function having a small number of stages. Further, since the internal state is updated at the same time as the encryption conversion processing of the F function in the round function, the processing efficiency of the entire round function remains almost unchanged, and the processing speed can be increased by the number of round functions. There are advantages.

【0015】図2は上記したラウンド関数をn段並置し
た積暗号の構成例を示す図である。同図において、暗号
化鍵16は鍵処理部17に入力されてn個の拡大鍵1〜
nに変換されてn段のラウンド関数12〜15にそれぞ
れ入力される。このような構成によれば、平文11はn
段のラウンド関数による暗号化変換処理を経て、暗号文
18として出力される。ここで、平文11と暗号文18
は固定長であってもよいし、可変長であってもよい。ま
た、平文11の長さと暗号文18の長さは一致していな
くともよい。
FIG. 2 is a diagram showing a configuration example of a product cipher in which n round stages of the above round functions are arranged. In the figure, the encryption key 16 is input to the key processing unit 17 and n expanded keys 1 to
It is converted into n and input to the n round functions 12 to 15, respectively. With such a configuration, the plaintext 11 is n
It is output as ciphertext 18 through the encryption conversion processing by the round function of the round. Here, plaintext 11 and ciphertext 18
May have a fixed length or a variable length. Further, the length of the plaintext 11 and the length of the ciphertext 18 do not have to match.

【0016】図3は内部状態が内部状態更新関数3によ
って逐次更新されていく経過を示す図である。すなわ
ち、内部状態1(22)は最初、初期状態21に等しい
内部状態であるが、内部状態更新関数23によって更新
されて内部状態2(22)になる。次にこの内部状態2
(22)は内部状態更新関数23によって更新される。
このようにして、内部状態が逐次更新されていく。ここ
で、内部更新関数23が一方向性の関数である場合に
は、仮に内部状態kが第3者に知られることによりkよ
り大きい番号をもつ内部状態が解読されたとしても、過
去に遡ってkよりも小さい番号の内部状態が知られてし
まうことがなく、より安全である。
FIG. 3 is a diagram showing a process in which the internal state is sequentially updated by the internal state update function 3. That is, the internal state 1 (22) is initially an internal state equal to the initial state 21, but is updated by the internal state update function 23 to become the internal state 2 (22). Next, this internal state 2
(22) is updated by the internal state update function 23.
In this way, the internal state is sequentially updated. Here, when the internal update function 23 is a one-way function, even if the internal state k having a number larger than k is deciphered because the internal state k is known to a third party, it goes back in the past. It is safer because the internal state of a number smaller than k is not known.

【0017】図4は図1に示すラウンド関数8が、内部
状態初期化信号31を入力するための入力部を有する場
合の動作を説明するための図である。内部状態記憶手段
33に記憶された内部状態は、F関数35に送信される
とともに、内部状態更新関数34にも送信されて新たな
内部状態に更新される。このとき、外部から供給された
内部状態初期化信号31が内部状態初期化制御部32に
入力されると、内部状態初期化制御部32は内部状態記
憶手段33に記憶されている内部状態を初期化する。
FIG. 4 is a diagram for explaining the operation when the round function 8 shown in FIG. 1 has an input section for inputting the internal state initialization signal 31. The internal state stored in the internal state storage means 33 is transmitted to the F function 35 and also to the internal state update function 34 to be updated to a new internal state. At this time, when the internal state initialization signal 31 supplied from the outside is input to the internal state initialization control unit 32, the internal state initialization control unit 32 initializes the internal state stored in the internal state storage unit 33. Turn into.

【0018】このように、本実施形態では、内部状態の
初期化を外部から制御することができる。ここで、内部
状態初期化制御部32は安全性を考慮した場合、初期化
の頻度を監視する機能を有していることが望ましい。例
えば、1回の暗号化処理中には、1回しか初期化行えな
いようにするための監視機構を持つようにすることがで
きる。
As described above, in this embodiment, the initialization of the internal state can be controlled from the outside. Here, in consideration of safety, the internal state initialization control unit 32 preferably has a function of monitoring the frequency of initialization. For example, it is possible to provide a monitoring mechanism for enabling initialization only once during one encryption process.

【0019】図5は暗号化装置をブロック暗号モードで
使用するときの動作を説明するための図である。平文4
1は複数の平文ブロック42、43、44からなるもの
とすると、平文41は各ブロックごとに暗号化関数4
6、50、52によって暗号化されて、暗号ブロック5
4、55、56に変換される。これらを並置したものが
暗号文53となる。
FIG. 5 is a diagram for explaining the operation when the encryption apparatus is used in the block cipher mode. Plaintext 4
1 is composed of a plurality of plaintext blocks 42, 43 and 44, the plaintext 41 is an encryption function 4 for each block.
Cipher block 5 encrypted by 6, 50, 52
Converted to 4, 55, 56. The ciphertext 53 is a juxtaposition of these.

【0020】また、各暗号化関数46、50、52の内
部状態はブロック毎に初期化信号45、49、51によ
って初期化することができる。これによって、例えば、
平文ブロック43と平文ブロック44とが同じ内容A、
Aを持つものとすると、これらを暗号化した場合、同じ
内容B、Bをもつ暗号ブロック55、56に変換され
る。
The internal states of the encryption functions 46, 50 and 52 can be initialized for each block by initialization signals 45, 49 and 51. This allows, for example,
The plaintext block 43 and the plaintext block 44 have the same content A,
If they have A, when they are encrypted, they are converted into cipher blocks 55 and 56 having the same contents B and B.

【0021】このように、本実施形態は、初期化機能を
有する暗号化装置をブロック暗号モードの下で動作させ
ることができる。
As described above, in this embodiment, the encryption device having the initialization function can be operated in the block cipher mode.

【0022】図6は暗号化装置をストリーム暗号モード
で使用するときの動作を説明するための図である。平文
61は複数の平文ブロック62、63、64からなるも
のとすると、平文61は各ブロックごとに暗号化関数7
0、72、73によって暗号化されて、暗号ブロック7
6、77、78に変換される。これらを並置したものが
暗号文75となる。この実施形態では、暗号化関数70
の内部状態は暗号化に先だって、初期化信号65によっ
て1回だけ初期化される。したがって、例えば、平文ブ
ロック63と平文ブロック64とが同じ内容A、Aを持
つ場合であっても、これらを暗号化した場合、暗号化し
た結果は、異なる内容B、B′をもつ暗号ブロック7
7、78に変換される。すなわち、
FIG. 6 is a diagram for explaining the operation when the encryption apparatus is used in the stream encryption mode. Assuming that the plaintext 61 is composed of a plurality of plaintext blocks 62, 63, 64, the plaintext 61 is an encryption function 7 for each block.
Cipher block 7 encrypted by 0, 72, 73
Converted to 6, 77, 78. The ciphertext 75 is a juxtaposition of these. In this embodiment, the encryption function 70
The internal state of is initialized by the initialization signal 65 only once before encryption. Therefore, for example, even if the plaintext block 63 and the plaintext block 64 have the same contents A and A, when they are encrypted, the encrypted result is the cipher block 7 having different contents B and B ′.
Converted to 7,78. That is,

【数1】 となる。[Equation 1] Becomes

【0023】このように、本実施形態は、初期化機能を
有する暗号化装置をストリーム暗号モードの下で動作さ
せることができる。
As described above, in this embodiment, the encryption device having the initialization function can be operated in the stream encryption mode.

【0024】図7は本発明を秘密通信に適用した場合の
作用を説明するための図である。送信側87では、例え
ば平文ブロック82と平文ブロック83とからなる平文
81をブロックごとに暗号化関数84、85によって暗
号化して、暗号ブロック87、88を得る。この暗号ブ
ロック87、88は通信路90を介して受信側97に送
信される。受信側97では、暗号文91を暗号ブロック
92と暗号ブロック93とに分解して、各ブロックごと
に復号化関数94、95によって復号して平文ブロック
97、98を得る。この平文ブロック97、98を並置
することによって元の平文96が復元される。
FIG. 7 is a diagram for explaining the operation when the present invention is applied to secret communication. On the transmission side 87, the plaintext 81 including, for example, the plaintext block 82 and the plaintext block 83 is encrypted for each block by the encryption functions 84 and 85 to obtain cipher blocks 87 and 88. The cipher blocks 87 and 88 are transmitted to the receiving side 97 via the communication path 90. On the receiving side 97, the ciphertext 91 is decomposed into cipher blocks 92 and cipher blocks 93, and the plaintext blocks 97, 98 are obtained by decrypting the ciphertexts 91 by the decryption functions 94, 95 for each block. The original plaintext 96 is restored by juxtaposing the plaintext blocks 97 and 98.

【0025】このとき、送信側87と受信側97にそれ
ぞれ、初期化信号生成部89、99を設け、あらかじめ
打ち合わせておいたタイミングで、暗号化関数84、8
5の内部状態と、復号化関数94、95の内部状態とを
それぞれ、初期化信号200、201、202、203
によって初期化するようにする。初期化信号生成部8
9、99は初期化タイミングを内蔵しているものとす
る。ここで、初期化信号生成部89、99は、初期化タ
イミングの通信量を低減するために、例えば乱数発生器
によって構成して、乱数の種だけを交換するようにして
もよい。
At this time, the transmitting side 87 and the receiving side 97 are provided with the initialization signal generating sections 89 and 99, respectively, and the encryption functions 84 and 8 are set at the timings previously discussed.
5 and the internal states of the decoding functions 94 and 95 are respectively initialized signals 200, 201, 202 and 203.
To be initialized by. Initialization signal generator 8
It is assumed that the reference numerals 9 and 99 have a built-in initialization timing. Here, the initialization signal generation units 89 and 99 may be configured by, for example, a random number generator so as to exchange only the seeds of random numbers in order to reduce the communication amount at the initialization timing.

【0026】上記した実施形態によれば、受信側97が
送信側87の平文と同じ平文を復元するためには、復号
用の鍵の他に初期化のタイミングをも知っていなければ
ならない。したがって、不正な盗聴者が暗号を解読する
ためには、復号用の鍵に加えて、初期化タイミングをも
知らなければならないので、より安全な秘密通信を行な
うことができる。
According to the above-described embodiment, in order for the receiving side 97 to restore the same plaintext as the transmitting side 87, the initialization timing as well as the decryption key must be known. Therefore, in order for an unauthorized eavesdropper to decipher the cipher, in addition to the decryption key, the initialization timing must be known, and thus more secure secret communication can be performed.

【0027】図8は本発明を秘密通信に適用した場合の
他の実施形態を示す図である。
FIG. 8 is a diagram showing another embodiment in which the present invention is applied to secret communication.

【0028】この実施形態においては、送信側87では
初期化したい暗号化関数に対応する平文ブロック82、
83に、初期化を指示するための指示データとして特殊
記号204、206を付加しておく。平文81を構成す
る平文ブロック82、83はブロックごとに暗号化関数
84、85によって暗号ブロック87、88に変換す
る。暗号ブロック87、88を並置したものが暗号文8
6となる。このとき、平文ブロック82内の特殊記号2
04、あるいは平文ブロック83内の特殊記号206を
検出したときは、それぞれ初期化信号205、207に
よって暗号化関数84、85の内部状態を初期化するよ
うにする。暗号文86は通信路90を介して受信側97
に送信される。
In this embodiment, the plaintext block 82 corresponding to the encryption function desired to be initialized on the transmitting side 87,
Special symbols 204 and 206 are added to 83 as instruction data for instructing initialization. The plaintext blocks 82 and 83 forming the plaintext 81 are converted into cipher blocks 87 and 88 by encryption functions 84 and 85, respectively. Ciphertext 8 is the one in which cipher blocks 87 and 88 are arranged in parallel.
It becomes 6. At this time, the special symbol 2 in the plaintext block 82
04 or the special symbol 206 in the plaintext block 83 is detected, the internal states of the encryption functions 84 and 85 are initialized by the initialization signals 205 and 207, respectively. The ciphertext 86 is sent to the receiving side 97 via the communication path 90.
Sent to.

【0029】受信側97は、受信した暗号文91を暗号
ブロック92と暗号ブロック93に分解し、復号化関数
94、95によってそれぞれ、平文ブロック97、98
に変換する。このとき、平文ブロック97、98内の初
期化を指示するための特殊記号208、210を検出し
たときは、それぞれ初期化信号209、211によって
復号化関数94、95の内部状態を初期化する。なお、
必要に応じて、平文ブロック97、98内の特殊記号2
08、210を除去し、その後の平文ブロック97、9
8を並置したものを平文96としてもよい。
The receiving side 97 decomposes the received ciphertext 91 into cipher block 92 and cipher block 93, and plaintext blocks 97 and 98 are decrypted by decryption functions 94 and 95, respectively.
Convert to At this time, when the special symbols 208 and 210 for instructing the initialization in the plaintext blocks 97 and 98 are detected, the internal states of the decoding functions 94 and 95 are initialized by the initialization signals 209 and 211, respectively. In addition,
If necessary, special symbol 2 in plaintext blocks 97, 98
08 and 210 are removed and subsequent plaintext blocks 97 and 9
The plaintext 96 may be a juxtaposition of the eight.

【0030】このように、本実施形態では、内部状態を
初期化するタイミングを平文に含めるようにしたので、
送信者と受信者との間で、あらかじめ初期化のタイミン
グを打ち合わせておく必要がなくなる。
As described above, in this embodiment, since the timing for initializing the internal state is included in the plaintext,
It is not necessary to discuss the initialization timing in advance between the sender and the receiver.

【0031】図9は図1に示した内部状態更新関数3の
具体的構成を示す図であり、記憶素子100と加算器1
02とからなる線形レジスタから構成されている。記憶
素子100は1ビットの情報を記憶できる素子であり、
例えば、Dフリップフロップである。
FIG. 9 is a diagram showing a specific configuration of the internal state update function 3 shown in FIG. 1, in which the storage element 100 and the adder 1 are provided.
02 and a linear register. The storage element 100 is an element capable of storing 1-bit information,
For example, a D flip-flop.

【0032】各タップ101を接続するかどうかで様々
な特性多項式を表現することができる。例えば、タップ
101を接続するときを1、しないときを0とすると、 Cr r +Cr-1 r-1 +、…、+C1 x+C0 で表される特性多項式を表現することができる。特に、
表現多項式が原始多項式である場合、線形シフトレジス
タは最大系列長を出力することが知られている(今井秀
樹著、符号理論、電子情報通信学会)。原始多項式の例
としては、 x31+x3 +1 などが知られている。
Various characteristic polynomials can be expressed by whether or not each tap 101 is connected. For example, when the tap 101 is connected to 1 and the tap 101 is not connected to 0 , a characteristic polynomial represented by C r x r + C r-1 x r-1 +, ..., + C 1 x + C 0 can be expressed. . Especially,
It is known that the linear shift register outputs the maximum sequence length when the expression polynomial is a primitive polynomial (Hideki Imai, Code Theory, IEICE). As an example of the primitive polynomial, x 31 + x 3 +1 and the like are known.

【0033】線形シフトレジスタはクロック信号が入力
されるたびに、記憶素子100の記憶内容が左隣の記憶
素子100の内容で更新され、タップ101の接続状態
に応じて加算器102で加算された結果が一番左の記憶
素子100に入力されるとともに出力103として出力
される。
In the linear shift register, every time a clock signal is input, the storage content of the storage element 100 is updated with the content of the storage element 100 on the left side and added by the adder 102 according to the connection state of the tap 101. The result is input to the leftmost storage element 100 and is output as the output 103.

【0034】以下に、DES暗号を例にとって既存のブ
ロック暗号の安全性を強化する他の方法について述べ
る。
Another method for strengthening the security of the existing block cipher will be described below by taking the DES cipher as an example.

【0035】まず、DES暗号の概要を説明する。図1
0はDES暗号の全体構成を示す図である。まず、暗号
化したい64ビットの平文105は初期転置106によ
りビットの順番が並び替えられた後、上位32ビット
(入力L113)と下位32ビット(入力R114)に
分割された後、同じ構成をもつ16段のラウンド関数
(1〜16)107によって16回変換された後、最終
転置108が施されて、求める暗号文109となる。
First, the outline of the DES encryption will be described. FIG.
0 is a diagram showing the overall configuration of the DES encryption. First, the 64-bit plaintext 105 to be encrypted has the same configuration after the bit order is rearranged by the initial transposition 106 and then divided into upper 32 bits (input L113) and lower 32 bits (input R114). After 16 rounds of conversion by the round function (1 to 16) 107 of 16 rounds, the final transposition 108 is performed to obtain the desired ciphertext 109.

【0036】各ラウンド関数107はF関数110と、
排他的論理和111と、左右の変換112とによって構
成され、i段目のラウンド関数の入力Li とRi とは、
i段目の鍵をKi とすると、 Ri+1 = Li XOR F(Ri 、Ki ) Li+1 = Ri のように、i+1段目のラウンド関数の入力に変換され
る。
Each round function 107 includes an F function 110,
The inputs Li and Ri of the round function at the i-th stage are composed of the exclusive OR 111 and the left and right conversions 112.
When the key of the i-th stage is Ki, it is converted into the input of the round function of the i + 1-th stage such that Ri + 1 = Li XOR F (Ri, Ki) Li + 1 = Ri.

【0037】図11にDES暗号におけるF関数の詳細
な構成を示す。F関数は2つの入力、すなわち、32ビ
ットの入力R115と、48ビットの鍵Ki 116をも
ち、32ビットの1つの出力117をもつ。
FIG. 11 shows the detailed structure of the F function in the DES encryption. The F-function has two inputs, a 32-bit input R115 and a 48-bit key Ki 116, and a 32-bit output 117.

【0038】以下、データの流れに沿って動作を説明す
る。入力された32ビットの入力R115は拡大転置E
(118)、すなわちE変換によって48ビットのデー
タに拡大される。図12はこのような拡大転置Eに関す
る転置表であり、左上より、E変換された各出力ビット
が入力の何番目のビットになるかを示している。例え
ば、一番最初は32なので、E変換の出力の1ビット目
は入力の32ビット目と同一になる。E変換の出力の2
ビット目は、入力の1ビット目と同一であり、以下同様
である。
The operation will be described below according to the flow of data. The input 32-bit input R115 is the expanded transpose E
(118), that is, expanded to 48-bit data by E conversion. FIG. 12 is a transposition table relating to such an enlarged transpose E, and from the upper left, shows which E-converted output bit becomes the input bit. For example, since the first bit is 32, the first bit of the output of E conversion is the same as the 32nd bit of the input. Output 2 of E conversion
The bit number is the same as the input first bit, and so on.

【0039】次に、E変換の出力119と鍵Ki 116
との排他的論理和が排他的論理和120でとられ、その
結果は6ビットずつの8つのグループに分割されて、換
え字部としての8つのS箱(S1 〜S8 )121に入力
される。S箱121は6ビットの入力と4ビットの出力
とをもつ置換(換え字)表であり、図14はこのような
置換表の一例を示している。
Next, the output 119 of the E conversion and the key Ki 116
The exclusive OR with is taken by the exclusive OR 120, and the result is divided into eight groups of 6 bits each and input to the eight S boxes (S1 to S8) 121 as substitution characters. . The S box 121 is a substitution (replacement character) table having a 6-bit input and a 4-bit output, and FIG. 14 shows an example of such a substitution table.

【0040】S箱121の4ビットずつの8つの出力1
22は束ねられて32ビットの1つの出力123とな
り、P変換(P転置)124に入力される。P変換12
4ではビットの順番の並び替えが行われ、32ビットの
F関数の出力117となる。
8 outputs of 4 bits each in the S box 121
22 are bundled into one output 123 of 32 bits and input to the P conversion (P transposition) 124. P conversion 12
In 4, the bit order is rearranged, and the output 117 of the 32-bit F function is obtained.

【0041】図13は上記したP転置124の内容を示
す表である。この表も前記した図12の拡大転置Eの表
と同様に、左上から出力のビットがどの入力ビットと同
一かを示している。例えば、P変換124の出力の1ビ
ット目は入力の16ビット目と同一であり、2ビット目
は7ビット目と同一であり、以下同様である。
FIG. 13 is a table showing the contents of the P transposition 124 described above. Similar to the table of the enlarged transpose E in FIG. 12, this table also shows which input bit the output bit is from the upper left. For example, the first bit of the output of the P conversion 124 is the same as the 16th bit of the input, the second bit is the same as the 7th bit, and so on.

【0042】図15は上記した実施形態の変形例とし
て、DES暗号の安全性を強化するための構成を示す図
である。本変形例は、図10に示すような従来のF関数
110を、図15に示す構成によって置き換えることに
よって安全性を強化するものである。
FIG. 15 is a diagram showing a configuration for enhancing the security of the DES encryption as a modification of the above embodiment. In this modification, the conventional F function 110 as shown in FIG. 10 is replaced with the configuration shown in FIG. 15 to enhance safety.

【0043】すなわち、入力R125と鍵Ki 127は
従来のDES暗号のF関数126に入力され、32ビッ
トの出力128に変換される。この出力128は16ビ
ットずつ入力L129と入力R130に2分割される。
そして、入力L129はセレクタ133への第1の入力
134として入力されるとともに、セレクタ132への
第1の入力137として入力される。また、入力R13
0はセレクタ133への第2の入力135として入力さ
れるとともに、セレクタ132への第2の入力138と
して入力される。
That is, the input R 125 and the key Ki 127 are input to the F function 126 of the conventional DES encryption and converted into the 32-bit output 128. The output 128 is divided into an input L129 and an input R130 by 16 bits.
Then, the input L129 is input as the first input 134 to the selector 133 and is also input as the first input 137 to the selector 132. Also, input R13
0 is input as the second input 135 to the selector 133 and is also input as the second input 138 to the selector 132.

【0044】セレクタ131は制御入力133によって
2つの入力134、135のうちいずれかを出力139
として出力する。また、セレクタ132も同様に、制御
入力136によって2つの入力137、138のうちい
ずれかを出力140として出力する。ここで、2つの制
御入力133と136とは互いに負論理になっているの
で必ず異なる出力となる。すなわち、1ビットの制御線
141によって入力L129と入力R130を交換する
か否かが決定されてF関数126の出力となる。
The selector 131 outputs one of the two inputs 134 and 135 by the control input 133 to output 139.
Output as Similarly, the selector 132 outputs one of the two inputs 137 and 138 as the output 140 by the control input 136. Here, since the two control inputs 133 and 136 are in negative logic with each other, they always have different outputs. That is, whether or not the input L129 and the input R130 are exchanged is determined by the 1-bit control line 141 and becomes the output of the F function 126.

【0045】制御線141は内部状態142と接続され
ているので、入力L129と入力R130を交換するか
否かは内部状態142に依存することになる。内部状態
142は内部状態更新関数143によって新たな状態に
更新される。
Since the control line 141 is connected to the internal state 142, whether or not the input L129 and the input R130 are exchanged depends on the internal state 142. The internal state 142 is updated to a new state by the internal state update function 143.

【0046】上記した構成法はDES暗号に限定され
ず、同様の構成を有する他のブロック暗号に対しても適
用可能である。
The above-mentioned configuration method is not limited to the DES cipher, but can be applied to other block ciphers having the same structure.

【0047】なお、上記した実施形態ではF関数の後段
にセレクタを配置したが、F関数の前段にセレクタを配
置するようにしてもよい。
Although the selector is arranged in the latter stage of the F function in the above embodiment, the selector may be arranged in the former stage of the F function.

【0048】図16はDES暗号の安全性を強化するた
めの他の変形例を示す図であり、前記した図11に示す
拡大転置E118を、内部状態146に依存した拡大転
置E′144に置き換えることによって、安全性を強化
するものである。図16において、入力R145は内部
状態146に依存した拡大転置E′144に入力され、
出力147として出力される。
FIG. 16 is a diagram showing another modification for strengthening the security of the DES encryption. The above-mentioned enlarged transpose E118 shown in FIG. 11 is replaced with an enlarged transpose E'144 depending on the internal state 146. By doing so, it enhances safety. In FIG. 16, the input R145 is input to the expanded transpose E'144 depending on the internal state 146,
It is output as the output 147.

【0049】図17はこのような拡大転置E′の転置表
を示す図である。図17において、Xi は内部状態14
6からの入力であり、Ri は入力R145からの入力を
示している。左上から順にE′変換の出力がどの入力の
どのビットと同一であるかを示しており、例えば、出力
の1ビット目は内部状態146からの入力の1ビット目
であり、出力の2ビット目は入力Rの1ビット目であ
る。なお、拡大転置E′の転置として図17に示すもの
以外のものを用いてもよい。
FIG. 17 is a diagram showing a transposition table of such an expanded transpose E '. In FIG. 17, Xi is the internal state 14
6 is input, and Ri represents the input from the input R145. From the upper left, it shows which output of E ′ conversion is the same as which bit of which input. For example, the first bit of the output is the first bit of the input from the internal state 146, and the second bit of the output. Is the first bit of the input R. The transposition of the enlarged transposition E'may be other than that shown in FIG.

【0050】図18はDES暗号の安全性を強化するた
めの他の変形例を示す図である。ここでは、内部状態に
依存してS箱への入力を動的に入れ替えることで安全性
の強化を図っている。
FIG. 18 is a diagram showing another modification for strengthening the security of the DES encryption. Here, the safety is enhanced by dynamically exchanging the input to the S box depending on the internal state.

【0051】すなわち、入力R148に対して拡大転置
E149を施した結果と、鍵Ki 150との排他的論理
和の出力151は、内部状態152の値によってシフト
量が変化する可変ローテート装置153によってローテ
ートされた後、すなわち、ビット位置がずらされた後
で、S箱(S1 〜S8 )155に入力される。
That is, the result of subjecting the input R148 to the expanded transpose E149 and the output 151 of the exclusive OR of the key Ki 150 are rotated by the variable rotate device 153 whose shift amount changes according to the value of the internal state 152. After that, that is, after the bit position is shifted, the data is input to the S box (S1 to S8) 155.

【0052】上記した可変ローテートとしてはバレルシ
フタを用いた高速な実装法が知られている。ローテート
ビット数が少なすぎたり、多すぎたりすると暗号化の効
果が低くなってしまうので、ローテートビット数をある
決められた範囲に制限すればよい。例えば、8ビットか
ら40ビットの範囲に設定すると範囲が32ビットとな
る。この場合、内部状態152からの出力は5ビットで
よい。
As the variable rotate described above, a high-speed mounting method using a barrel shifter is known. If the number of rotate bits is too small or too large, the effect of encryption becomes low, so the number of rotate bits may be limited to a certain range. For example, if the range is set from 8 bits to 40 bits, the range becomes 32 bits. In this case, the output from internal state 152 may be 5 bits.

【0053】図19はDES暗号の安全性を強化するた
めの他の変形例を示す図である。図19において、排他
的論理和159において入力R156と内部状態157
の出力との排他的論理和がとられた後、拡大転置E15
8に入力される。排他的倫理和159は別の演算、例え
ば、繰り上がりを無視した32ビット加算や減算で置き
換えてもよい。
FIG. 19 is a diagram showing another modification for strengthening the security of the DES encryption. In FIG. 19, the input R 156 and the internal state 157 in the exclusive OR 159.
After exclusive OR with the output of
8 is input. The exclusive ethical sum 159 may be replaced by another operation, for example, 32-bit addition or subtraction in which carry is ignored.

【0054】図20はDES暗号の安全性を強化するた
めの他の変形例を示す図である。従来のDES暗号のF
関数では、暗号化鍵は排他的論理和によって加算されて
いたが、演算に自由度を持たせることで安全性をより高
めることができる。
FIG. 20 is a diagram showing another modification for enhancing the security of the DES encryption. F of conventional DES encryption
In the function, the encryption keys are added by exclusive OR, but the security can be further improved by giving the operation a degree of freedom.

【0055】すなわち、図20において、入力R160
は拡大転置E161において拡大転置が施された後、鍵
Ki 162との間で、内部状態163の出力164で指
定された演算がALU165において施される。ALU
165の出力は6ビットからなる8つのグループに分割
されてS箱(S1 〜S8 )166に入力される。これ以
降は従来のDES暗号と同様の動作を行なう。
That is, in FIG. 20, the input R160
After the expansion transposition is performed in the expansion transposition E161, the operation specified by the output 164 of the internal state 163 is executed in the ALU 165 with the key Ki 162. ALU
The output of 165 is divided into eight groups of 6 bits and input to the S box (S1 to S8) 166. After that, the same operation as the conventional DES encryption is performed.

【0056】図21はDES暗号の安全性を強化するた
めの他の変形例を示す図である。この変形例ではS箱の
列を入れ替えることによって安全性を強化する。DES
暗号のS箱の各行には、0から15までの番号が1つず
つ含まれているので列の交換を行ってもその性質は変化
しない。
FIG. 21 is a diagram showing another modification for strengthening the security of the DES encryption. In this modification, safety is enhanced by replacing the rows of S boxes. DES
Since each row of the S box of the code contains one number from 0 to 15, the property does not change even if the columns are exchanged.

【0057】内部状態167の8ビットの出力は上位4
ビット168と、下位4ビット169とに分離され、各
々S箱170のどの列を交換するかを指定するために用
いる。8つの内部状態を用意してすべてのS箱の内容を
変更するようにしてもよい。また、装置規模を節約する
ために、変更を行なうS箱を8個より少なくすることも
可能である。
The 8-bit output of the internal state 167 is the upper 4
It is separated into a bit 168 and a lower 4 bits 169, each of which is used to specify which column of the S box 170 is to be exchanged. Eight internal states may be prepared to change the contents of all S boxes. Further, it is possible to reduce the number of S boxes to be changed to less than 8 in order to save the apparatus scale.

【0058】図22は、本発明の暗号化装置によって暗
号化された暗号文を復号する復号装置におけるラウンド
関数177の構成を示す図である。このラウンド関数1
77は、F関数178と、順序反転部191と、内部状
態一時記憶部176と、内部状態記憶手段174と、内
部状態更新関数175とを具備している。
FIG. 22 is a diagram showing the configuration of the round function 177 in the decryption device for decrypting the ciphertext encrypted by the encryption device of the present invention. This round function 1
The 77 includes an F function 178, an order inversion unit 191, an internal state temporary storage unit 176, an internal state storage unit 174, and an internal state update function 175.

【0059】ブロック暗号をOFB(Out Feedback Bas
ic)モードで使用する場合は不必要であるが、使用する
モードによっては、復号処理で内部状態を逆順に更新し
なければならない。Feistel 型のブロック暗号装置での
復号処理は中間鍵を与える順序を逆転した暗号化処理と
同一の手順により行われる。これは本発明の各ラウンド
関数における内部状態の与え方も順序を逆にしなければ
ならないことを意味している。
The block cipher is called OFB (Out Feedback Bas
It is unnecessary when used in ic) mode, but depending on the mode used, the internal state must be updated in reverse order in the decoding process. The decryption process in the Feistel block cipher device is performed by the same procedure as the encryption process in which the order of giving the intermediate key is reversed. This means that the order of giving the internal state in each round function of the present invention must be reversed.

【0060】ラウンド関数177において復号処理を行
なうに先だって、内部状態記憶手段174に記憶された
内部状態は内部状態更新関数175によって更新され、
内部状態一時記憶部176に格納される。
Prior to performing the decoding process in the round function 177, the internal state stored in the internal state storage means 174 is updated by the internal state update function 175,
It is stored in the internal state temporary storage unit 176.

【0061】そして、復号処理時は、中間暗号文171
と、復号鍵172と、内部状態一時記憶部176に記憶
された内部状態を順序反転部191で反転した信号17
3とがF関数178に入力されて所定の暗号化変換が行
われて、ラウンド関数177の出力としての中間平文1
79が得られる。
At the time of decryption processing, the intermediate ciphertext 171
, A decryption key 172, and a signal 17 obtained by inverting the internal state stored in the internal state temporary storage unit 176 by the order inversion unit 191.
3 and 3 are input to the F function 178, a predetermined encryption conversion is performed, and the intermediate plaintext 1 as the output of the round function 177
79 is obtained.

【0062】n段のFeistel 型暗号の各段の復号鍵と暗
号化鍵の対応を図23に示す。復号時には、暗号化のと
きの最終段であるn段目に用いた暗号化鍵と同一の暗号
化鍵を復号の第1ラウンド目に用い、復号の2ラウンド
目では、n−1段目の暗号鍵を用いる。以下同様であ
る。
FIG. 23 shows the correspondence between the decryption key and the encryption key at each stage of the n-stage Feistel type encryption. At the time of decryption, the same encryption key as the encryption key used at the n-th stage, which is the final stage at the time of encryption, is used at the first round of decryption, and at the second round of decryption, at the (n-1) -th stage. Use an encryption key. The same applies hereinafter.

【0063】本発明におけるFeistel 型暗号の各段にお
ける暗号化用と復号用の内部状態の対応を図24に示
す。復号の1ラウンド目の内部状態は、暗号化の最終段
であるn段目の内部状態と同じでなければならず、2ラ
ウンド目では、n−1ラウンド目の内部状態と同じでな
ければならない。以下、同様である。内部状態更新関数
が一方向性を有する場合は、逆順に内部状態を発生する
ことはできないことと、nラウンド先の内部状態を知る
ことはできないので、初期状態からはじめて、nラウン
ド分の内部状態をあらかじめ発生して蓄えておき、逆順
に出力する機構が必要となり、それが図22の内部状態
一時記憶部176と順序反転部191である。
FIG. 24 shows the correspondence between the internal states for encryption and decryption in each stage of the Feistel type encryption according to the present invention. The internal state of the first round of decryption must be the same as the internal state of the nth stage, which is the final stage of encryption, and must be the same as the internal state of the (n-1) th round in the second round. . Hereinafter, the same applies. When the internal state update function has a one-way property, the internal states cannot be generated in reverse order and the internal state of n rounds ahead cannot be known. Is required in advance, and is stored in advance, and is output in reverse order. This is the internal state temporary storage unit 176 and the order inversion unit 191 in FIG.

【0064】図25は本発明における暗号化装置と復号
装置とを融合した構成した図である。暗号化装置と復号
装置は内部状態一時記憶を除いて同じ構成であるので、
暗号化処理中か復号処理中であるかを示す信号E/D1
80に基づいてスイッチ181を切り替え、内部状態記
憶手段182の出力、もしくは、内部状態一時記憶部1
83の出力をF関数184に入力する構成を用いると、
装置規模を小さくすることができる。
FIG. 25 is a diagram showing a configuration in which the encryption device and the decryption device according to the present invention are integrated. Since the encryption device and the decryption device have the same configuration except the internal state temporary storage,
Signal E / D1 indicating whether encryption processing or decryption processing is in progress
Based on 80, the switch 181 is switched to output the internal state storage unit 182 or the internal state temporary storage unit 1
Using the configuration in which the output of 83 is input to the F function 184,
The device scale can be reduced.

【0065】図26は遅延の生じない復号処理のための
パイプライン復号処理のタイムチャートである。同図は
右に進むほど時間が経過していることを示すものとす
る。上段185は内部状態の更新の様子を示し、斜線の
部分187は内部状態の更新処理を表している。下段1
86は復号処理の様子を示し、網掛けの部分188は復
号処理を表している。さらに、矢印189は内部状態の
更新と復号処理との対応付けるものであり、矢印189
の先の復号処理190には内部状態187が用いられる
ことを表している。
FIG. 26 is a time chart of the pipeline decoding process for the delay-free decoding process. It is assumed that the same figure shows that the time elapses toward the right. The upper stage 185 shows how the internal state is updated, and the hatched portion 187 shows the internal state update process. Bottom 1
Reference numeral 86 indicates a decoding process, and a shaded portion 188 indicates a decoding process. Further, the arrow 189 corresponds to the update of the internal state and the decoding process, and the arrow 189
It indicates that the internal state 187 is used in the decoding process 190.

【0066】図26において、時間的な処理の流れを考
察すると、復号処理188と同時に次の復号処理190
に必要となる内部状態の更新処理187が行われてお
り、これによって、内部状態の更新処理に起因する処理
の遅延を回避することが可能となる。
Considering the temporal processing flow in FIG. 26, the decoding process 188 and the next decoding process 190 are performed at the same time.
The internal state update process 187 required for the internal state update process 187 is performed, which makes it possible to avoid a delay in the process due to the internal state update process.

【0067】[0067]

【発明の効果】本発明によれば、処理速度を考慮して少
ない段数の変換部で装置を構成した場合であっても暗号
文の安全性をより増大させることができる。
According to the present invention, the security of ciphertext can be further increased even when the apparatus is configured with a small number of conversion units in consideration of the processing speed.

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

【図1】本発明の一実施形態に係るラウンド関数の構成
を示す図である。
FIG. 1 is a diagram showing a configuration of a round function according to an embodiment of the present invention.

【図2】ラウンド関数をn段並置した積暗号の構成例を
示す図である。
FIG. 2 is a diagram showing a configuration example of a product cipher in which n round functions are juxtaposed.

【図3】内部状態が内部状態更新関数によって逐次更新
されていく経過を示す図である。
FIG. 3 is a diagram showing a process in which an internal state is sequentially updated by an internal state update function.

【図4】図1に示すラウンド関数が、内部状態初期化信
号を有する場合の動作を説明するための図である。
FIG. 4 is a diagram for explaining an operation when the round function shown in FIG. 1 has an internal state initialization signal.

【図5】暗号化装置をブロック暗号モードで使用すると
きの動作を説明するための図である。
FIG. 5 is a diagram for explaining an operation when the encryption device is used in a block cipher mode.

【図6】暗号化装置をストリーム暗号モードで使用する
ときの動作を説明するための図である。
FIG. 6 is a diagram for explaining an operation when the encryption device is used in the stream encryption mode.

【図7】本発明を秘密通信に適用した場合の作用を説明
するための図である。
FIG. 7 is a diagram for explaining an operation when the present invention is applied to secret communication.

【図8】本発明を秘密通信に適用した場合の他の実施形
態を示す図である。
FIG. 8 is a diagram showing another embodiment in which the present invention is applied to secret communication.

【図9】図1に示した内部状態更新関数の具体的構成を
示す図である。
9 is a diagram showing a specific configuration of the internal state update function shown in FIG.

【図10】DES暗号の全体構成を示す図である。FIG. 10 is a diagram showing an overall configuration of DES encryption.

【図11】DES暗号におけるF関数の詳細な構成を示
す図である。
FIG. 11 is a diagram showing a detailed configuration of an F function in DES encryption.

【図12】拡大転置Eに関する転置表である。FIG. 12 is a transposition table for an enlarged transposition E.

【図13】P転置の内容を示す表である。FIG. 13 is a table showing the contents of P transposition.

【図14】S箱の内容を示す図である。FIG. 14 is a diagram showing the contents of an S box.

【図15】本実施形態の変形例として、DES暗号の安
全性を強化するための構成を示す図である。
FIG. 15 is a diagram showing a configuration for enhancing the security of DES encryption as a modified example of the present embodiment.

【図16】DES暗号の安全性を強化するための他の変
形例を示す図である。
FIG. 16 is a diagram showing another modification for enhancing the security of the DES encryption.

【図17】図16に示す変形例に関する拡大転置の表で
ある。
FIG. 17 is an enlarged transposition table for the variation shown in FIG.

【図18】DES暗号の安全性を強化するための他の変
形例を示す図である。
FIG. 18 is a diagram showing another modification for enhancing the security of the DES encryption.

【図19】DES暗号の安全性を強化するための他の変
形例を示す図である。
FIG. 19 is a diagram showing another modification for enhancing the security of the DES encryption.

【図20】DES暗号の安全性を強化するための他の変
形例を示す図である。
FIG. 20 is a diagram showing another modification for enhancing the security of the DES encryption.

【図21】DES暗号の安全性を強化するための他の変
形例を示す図である。
FIG. 21 is a diagram showing another modification for strengthening the security of DES encryption.

【図22】本発明の暗号化装置により暗号化された暗号
文を復号する復号装置におけるラウンド関数の構成を示
す図である。
FIG. 22 is a diagram showing a configuration of a round function in a decryption device that decrypts a ciphertext encrypted by the encryption device of the present invention.

【図23】Feistel 型暗号の各段における復号鍵と暗号
化鍵との対応を示す図である。
FIG. 23 is a diagram showing correspondence between a decryption key and an encryption key in each stage of Feistel encryption.

【図24】Feistel 型暗号の各段における復号用と暗号
化用の内部状態の対応を示す図である。
FIG. 24 is a diagram showing correspondence between internal states for decryption and encryption in each stage of Feistel encryption.

【図25】本発明における暗号化装置と復号装置とを融
合した構成を示す図である。
FIG. 25 is a diagram showing a configuration in which an encryption device and a decryption device according to the present invention are integrated.

【図26】遅延の生じない復号処理のためのパイプライ
ン復号処理のタイムチャートである。
FIG. 26 is a time chart of a pipeline decoding process for a decoding process without delay.

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

1…F関数、2…内部状態記憶手段、3…内部状態更新
関数、4…平文、5…暗号化鍵、6…内部状態、7…出
力、8…ラウンド関数。
1 ... F function, 2 ... internal state storage means, 3 ... internal state update function, 4 ... plaintext, 5 ... encryption key, 6 ... internal state, 7 ... output, 8 ... round function.

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 内部状態を記憶するための記憶手段と、 この記憶手段に記憶された内部状態を更新するための内
部状態更新手段と、 暗号化すべきデータと、暗号化鍵と、前記記憶手段に記
憶された内部状態とを受けて暗号化変換を行なう暗号化
変換手段と、 を具備する変換部を複数段設けた暗号化装置であって、 前記暗号化変換手段により暗号化変換を行なうたびに、
前記記憶手段に記憶された内部状態を前記内部状態更新
手段によって更新するようにしたことを特徴とする暗号
化装置。
1. A storage unit for storing an internal state, an internal state updating unit for updating the internal state stored in the storage unit, data to be encrypted, an encryption key, and the storage unit. An encryption device having a plurality of stages of conversion units including: an encryption conversion unit that performs an encryption conversion in response to an internal state stored in the encryption unit, each time an encryption conversion is performed by the encryption conversion unit. To
An encryption device characterized in that the internal state stored in the storage means is updated by the internal state update means.
【請求項2】 暗号化すべきデータと、暗号化鍵とを受
けて暗号化変換を行なう暗号化変換手段と、 内部状態を記憶する記憶手段と、 この記憶手段に記憶された内部状態を更新するための内
部状態更新手段と、 を具備する変換部を複数段設けた暗号化装置であって、 前記暗号化変換手段により暗号化変換を行なうたびに、
前記記憶手段に記憶された内部状態を前記内部状態更新
手段によって更新しつつ、前記記憶手段に記憶された内
部状態に応じて前記暗号化変換手段の出力を制御するよ
うにしたことを特徴とする暗号化装置。
2. An encryption conversion means for receiving data to be encrypted and an encryption key for encryption conversion, a storage means for storing an internal state, and an internal state stored in this storage means. And an internal state updating unit for providing a plurality of stages of conversion units each including an encryption unit, each time an encryption conversion is performed by the encryption conversion unit,
The internal state stored in the storage means is updated by the internal state update means, and the output of the encryption conversion means is controlled according to the internal state stored in the storage means. Encryption device.
【請求項3】 前記内部状態更新手段が一方向性の関数
であることを特徴とする請求項1または2記載の暗号化
装置。
3. The encryption device according to claim 1, wherein the internal state updating means is a one-way function.
【請求項4】 前記内部状態を初期化することを指示す
るための入力部をさらに有することを特徴とする請求項
1乃至3のいずれかに記載の暗号化装置。
4. The encryption device according to claim 1, further comprising an input unit for instructing to initialize the internal state.
【請求項5】 前記暗号化変換手段により暗号化変換を
行なうたびに、前記内部状態を初期化することを特徴と
する請求項4記載の暗号化装置。
5. The encryption device according to claim 4, wherein the internal state is initialized every time the encryption conversion is performed by the encryption conversion means.
【請求項6】 暗号化装置から得られた暗号文を送信者
と受信者間で通信するに先だって、前記内部状態を一度
だけ初期化するようにしたことを特徴とする請求項4記
載の暗号化装置。
6. The cipher according to claim 4, wherein the internal state is initialized only once before the ciphertext obtained from the encryption device is communicated between the sender and the receiver. Device.
【請求項7】 送信者と受信者間で暗号化装置から得ら
れた暗号文を通信するにあたって、両者間であらかじめ
定めておいたタイミングで前記内部状態を初期化するよ
うにしたことを特徴とする請求項4記載の暗号化装置。
7. When transmitting a ciphertext obtained from an encryption device between a sender and a receiver, the internal state is initialized at a predetermined timing between them. The encryption device according to claim 4.
【請求項8】 前記暗号化すべきデータが、前記内部状
態を初期化するタイミングを指示するデータを含んでい
ることを特徴とする請求項1乃至3のいずれかに記載の
暗号化装置。
8. The encryption device according to claim 1, wherein the data to be encrypted includes data instructing a timing of initializing the internal state.
【請求項9】 前記暗号化変換手段が暗号化すべきデー
タを拡大転置する拡大転置部と、この拡大転置部の出力
と暗号化鍵との間で所定の演算を行なう演算部と、この
演算部からの出力を複数のグループに分離して、各グル
ープごとに所定の置換を施す換え字部とを具備すること
を特徴とする請求項1または2記載の暗号化装置。
9. An enlarging transposing unit for enlarging and transposing the data to be encrypted by the enciphering converting unit, a computing unit for performing a predetermined computation between an output of the enlarging transposing unit and an encryption key, and this computing unit. 3. The encryption apparatus according to claim 1, further comprising a paraphrase section for separating the output from the group into a plurality of groups and performing a predetermined substitution for each group.
【請求項10】 前記拡大転置部に更新可能な内部状態
を入力して、その出力を制御するようにしたことを特徴
とする請求項9記載の暗号化装置。
10. The encryption apparatus according to claim 9, wherein an updatable internal state is input to the enlarged transposing unit and the output thereof is controlled.
【請求項11】 前記演算部からの出力のビット位置を
ずらすためのビット位置可変部をさらに具備し、このビ
ット位置可変部に更新可能な内部状態を入力して、その
出力を制御するようにしたことを特徴とする請求項9記
載の暗号化装置。
11. A bit position varying unit for shifting the bit position of the output from said arithmetic unit is further provided, and an updatable internal state is input to this bit position varying unit to control its output. The encryption device according to claim 9, wherein
【請求項12】 前記拡大転置部において暗号化すべき
データを拡大転置するに先だって、更新可能な内部状態
との排他的論理和をとるようにしたことを特徴とする請
求項9記載の暗号化装置。
12. The encryption apparatus according to claim 9, wherein the expanded transposing unit takes an exclusive OR with an updatable internal state before expanding and transposing the data to be encrypted. .
【請求項13】 前記演算部に更新可能な内部状態を入
力してその出力を制御するようにしたことを特徴とする
請求項9記載の暗号化装置。
13. The encryption apparatus according to claim 9, wherein an updatable internal state is input to the arithmetic unit and its output is controlled.
【請求項14】 前記換え字部に更新可能な内部状態を
入力してその出力を制御するようにしたことを特徴とす
る請求項9記載の暗号化装置。
14. The encryption device according to claim 9, wherein an updatable internal state is input to the substitute character portion and the output thereof is controlled.
【請求項15】 内部状態を記憶手段に記憶する記憶工
程と、 記憶された内部状態を内部状態更新手段によって更新す
る内部状態更新工程と、 暗号化すべきデータと、暗号化鍵と、記憶された内部状
態とを受けて暗号化変換手段によって暗号化変換を行な
う暗号化変換工程と、 を具備する変換工程を複数回行なう暗号化方法であっ
て、 前記暗号化変換工程において暗号化変換を行なうたび
に、前記記憶手段に記憶された内部状態を前記内部状態
更新手段によって更新する工程を具備することを特徴と
する暗号化装置。
15. A storing step of storing an internal state in a storing means, an internal state updating step of updating the stored internal state by an internal state updating means, data to be encrypted, an encryption key, and a stored key. An encryption conversion step of performing an encryption conversion by an encryption conversion means in response to an internal state, and a conversion step comprising a plurality of conversion steps, each time an encryption conversion is performed in the encryption conversion step. The encryption device, further comprising the step of updating the internal state stored in the storage means by the internal state update means.
【請求項16】 暗号化すべきデータと、暗号化鍵とを
受けて暗号化変換手段によって暗号化変換を行なう暗号
化変換工程と、 記憶手段に内部状態を記憶する記憶工程と、 記憶された内部状態を内部状態更新手段によって更新す
る内部状態更新工程と、 を具備する変換工程を複数回行なう暗号化方法であっ
て、 前記暗号化変換工程において暗号化変換を行なうたび
に、前記記憶手段に記憶された内部状態を前記内部状態
更新手段によって更新しつつ、前記記憶手段に記憶され
た内部状態に応じて前記暗号化変換手段の出力を制御す
る工程を具備することを特徴とする暗号化方法。
16. An encryption conversion step of receiving data to be encrypted and an encryption key to perform encryption conversion by an encryption conversion means, a storage step of storing an internal state in a storage means, and a stored internal An internal state updating step of updating a state by an internal state updating means, and an encryption method comprising a plurality of conversion steps comprising: storing in the storage means every time an encryption conversion is performed in the encryption conversion step. An encryption method comprising the step of controlling the output of the encryption conversion means in accordance with the internal state stored in the storage means while updating the generated internal state by the internal state update means.
JP8059789A 1996-03-15 1996-03-15 Encryption device and encryption method Pending JPH09251267A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8059789A JPH09251267A (en) 1996-03-15 1996-03-15 Encryption device and encryption method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8059789A JPH09251267A (en) 1996-03-15 1996-03-15 Encryption device and encryption method

Publications (1)

Publication Number Publication Date
JPH09251267A true JPH09251267A (en) 1997-09-22

Family

ID=13123410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8059789A Pending JPH09251267A (en) 1996-03-15 1996-03-15 Encryption device and encryption method

Country Status (1)

Country Link
JP (1) JPH09251267A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209317A (en) * 2000-01-27 2001-08-03 Micro Technology Kk Generating method of ciphering and reconstructing tables
DE10027974A1 (en) * 2000-06-06 2002-01-24 Toralf Heidel End-to-end encryption method for data communication system, involves splitting data into symbols using subscriber key blocks, and converting them to assigned data block values
WO2003050784A1 (en) * 2001-12-12 2003-06-19 Electronics And Telecommunications Research Institute Encryption apparatus applying kasumi encryption algorithm
JPWO2008072497A1 (en) * 2006-12-11 2010-03-25 三菱電機株式会社 Information reproducing apparatus and method
JP2019003144A (en) * 2017-06-19 2019-01-10 ローレルバンクマシン株式会社 Encrypted communication system, encryption device, encryption method, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209317A (en) * 2000-01-27 2001-08-03 Micro Technology Kk Generating method of ciphering and reconstructing tables
DE10027974A1 (en) * 2000-06-06 2002-01-24 Toralf Heidel End-to-end encryption method for data communication system, involves splitting data into symbols using subscriber key blocks, and converting them to assigned data block values
WO2003050784A1 (en) * 2001-12-12 2003-06-19 Electronics And Telecommunications Research Institute Encryption apparatus applying kasumi encryption algorithm
JPWO2008072497A1 (en) * 2006-12-11 2010-03-25 三菱電機株式会社 Information reproducing apparatus and method
KR101011605B1 (en) * 2006-12-11 2011-01-27 미쓰비시덴키 가부시키가이샤 Information reproducing device and information reproducing method
US9281004B2 (en) 2006-12-11 2016-03-08 Mitsubishi Electric Corporation Content assessment apparatus, content assessment method, information reproducing apparatus, and information reproducing method
JP2019003144A (en) * 2017-06-19 2019-01-10 ローレルバンクマシン株式会社 Encrypted communication system, encryption device, encryption method, and program

Similar Documents

Publication Publication Date Title
AU2003213318B2 (en) Block cipher apparatus using auxiliary transformation
JP3029381B2 (en) Data converter
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
JP4828068B2 (en) Computer efficient linear feedback shift register
US4731843A (en) Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
US5740249A (en) Encryption apparatus and method capable of controlling encryption process in accordance with an internal state
JPH0863097A (en) Method and system for symmetric encoding for encoding of data
JP2000066585A (en) Encryption and decryption apparatus, encryption and decryption method and their program memory medium
KR100377172B1 (en) Key Scheduller of encryption device using data encryption standard algorithm
JP4025722B2 (en) Method and apparatus for data encryption
KR20180081559A (en) Generate key sequence for encryption operation
JP2000066587A (en) Data processor and communication system as well as recording medium
JPH10240500A (en) Random number generator and method, enciphering device and method, decoder and method and stream cipher system
JP3769804B2 (en) Decoding method and electronic device
Blaze et al. The MacGuffin block cipher algorithm
JPH09251267A (en) Encryption device and encryption method
JPH0697930A (en) Block cipher processor
JP4515716B2 (en) Extended key generation device, encryption device, and encryption system
KR100190157B1 (en) Encryption apparatus and encryption method
JP2000075785A (en) High-speed cipher processing circuit and processing method
Islam et al. Data encryption standard
JPH09269727A (en) Ciphering method and ciphering device
JPH04335730A (en) Random ciphering communication system
Labbi et al. Symmetric encryption algorithm for RFID systems using a dynamic generation of key
JPH10153954A (en) Ciphering device