JPH1124558A - Ciphering device - Google Patents
Ciphering deviceInfo
- Publication number
- JPH1124558A JPH1124558A JP9173671A JP17367197A JPH1124558A JP H1124558 A JPH1124558 A JP H1124558A JP 9173671 A JP9173671 A JP 9173671A JP 17367197 A JP17367197 A JP 17367197A JP H1124558 A JPH1124558 A JP H1124558A
- Authority
- JP
- Japan
- Prior art keywords
- data
- linear
- key
- unit
- conversion
- 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
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、データの通信ま
たは蓄積において、データを秘匿するための暗号化装
置、特に、秘密鍵の制御のもとでデータをブロック単位
で暗号化または復号を行う共通鍵暗号方式による暗号化
装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption device for concealing data in data communication or storage, and more particularly to a common device for encrypting or decrypting data in block units under control of a secret key. The present invention relates to an encryption device using a key encryption method.
【0002】[0002]
【従来の技術】データを秘匿するための暗号化装置に含
まれる代表的な共通鍵暗号方式には、米国連邦標準暗号
であるDES(Data Encryption Standard)暗号があ
る。図6は、DES暗号の機能構成を示す。DES暗号
では、56ビットの秘密鍵を用い、64ビットのデータ
ブロック単位に暗号化または復号を行う。図6におい
て、暗号化処理は、平文Pの64ビットを初期変転部1
1において初期転値で変換した後、32ビットごとのブ
ロックデータL0 ,R0 に分割される。次に、R0 は図
7に示す関数演算部12への入力として用いられ、関数
演算部12において48ビットの拡大鍵k0 の制御のも
とにf(R0 ,k0 )に変換される。この変換データf
(R0 ,k0 )とL0 との排他的論理和を回路13でと
り、さらにその値とR0 とを入れ替えて、次のブロック
データL1 ,R1 を生成する。すなわち、R1 =L
0 (+)f(R0 ,k0 ),L1 =R0 である。このよ
うに二つのブロックデータL0 ,R0 を入力として演算
部12と排他的論理和回路13とデータの入れ替えとに
よりL1 ,R1 を出力する処理段140 が構成され、同
じような処理段141 〜1415が縦続的に設けられる。
つまり各処理段14i (0<i<16)では、Ri+1 =
Li (+)f(Ri ,ki ),Li+1 =Ri の処理が行
われ、最後にR16,L16を統合して64ビットにした
後、最終転値部15において最終転値で変換して暗号文
64ビットを出力する。復号処理においては、関数fに
入力する拡大鍵k0 ,k1 ,…,k14,k15の順序だけ
を逆転させて、k15,k14,…,k1 ,k0 の順に入力
するようにする点を除けば、暗号化処理と同じ手順で実
行できる。なお、拡大鍵k0 ,k1 ,…,k14,k
15は、暗号化処理とは別の拡大鍵生成ルーチン16で5
6ビットの秘密鍵が48ビットの拡大鍵16個の計76
8ビットに拡大されることによって生成される。2. Description of the Related Art A typical common key encryption system included in an encryption device for concealing data is a DES (Data Encryption Standard) encryption, which is a US federal standard encryption. FIG. 6 shows a functional configuration of the DES encryption. In the DES encryption, a 56-bit secret key is used to perform encryption or decryption in 64-bit data block units. In FIG. 6, the encryption process converts the 64 bits of the plaintext P into the initial transformation unit 1.
After conversion with the initial inverted value in 1, the data is divided into block data L 0 , R 0 every 32 bits. Next, R 0 is used as an input to the function operation unit 12 shown in FIG. 7, and is converted into f (R 0 , k 0 ) under the control of the 48-bit expanded key k 0 in the function operation unit 12. You. This conversion data f
The exclusive OR of (R 0 , k 0 ) and L 0 is taken by the circuit 13, and the value is replaced with R 0 to generate the next block data L 1 , R 1 . That is, R 1 = L
0 (+) f (R 0 , k 0), is L 1 = R 0. The two block data L 0, R processing stage 14 0 for outputting the L 1, R 1 by the exchange of data and an exclusive OR circuit 13 and the arithmetic unit 12 0 as the input is configured such like processing stage 14 1-14 15 is provided in cascade manner.
That is, in each processing stage 14 i (0 < i <16), R i + 1 =
The processing of Li (+) f (R i , k i ), L i + 1 = R i is performed, and finally R 16 and L 16 are integrated into 64 bits. Conversion is performed using the final inverted value, and 64 bits of ciphertext are output. In the decoding process, extended key k 0, k 1 to be input to the function f, ..., only by reversing the order of k 14, k 15, k 15 , k 14, ..., and inputs the order of k 1, k 0 Except for this, it can be executed in the same procedure as the encryption process. The expanded keys k 0 , k 1 ,..., K 14 , k
Reference numeral 15 denotes an extended key generation routine 16 different from the encryption processing.
A total of 76 6-bit secret keys consisting of 16 48-bit expanded keys
It is generated by being expanded to 8 bits.
【0003】さて、関数演算内部12の処理は、図7に
示すように行われる。まず、32ビットのブロックデー
タRi は拡大転値部17で48ビットデータE(Ri )
に変換される。これに拡大鍵ki とで排他的論理和を回
路18で取り、48ビットデータE(Ri )(+)ki
に変換した後、8個の6ビットごとのサブブロックデー
タに分割する。この8個のサブブロックデータはそれぞ
れ異なるS−boxS 0 〜S7 に入力され、各々が4ビ
ットの出力を得る。なお、このS−boxSj(j=
0,1,…,7)は6ビットの入力データから4ビット
の出力データに変換する非線形変換テーブルであり、D
ES暗号の本質的な安全性を担っている部分である。S
−boxS0 〜S7 の8つの出力データは、再び連結さ
れて32ビットデータになった後、転置変換部19を経
て、図6に示されるように、Li と排他的論理和される
関数fの出力f(Ri ,ki )となる。The processing inside the function operation 12 is shown in FIG.
It is performed as shown. First, the 32-bit block data
RiIs a 48-bit data E (Ri)
Is converted to This is the expanded key kiExclusive OR with
Taken at the path 18, and the 48-bit data E (Ri) (+) Ki
After conversion to 8
Divided into Each of these eight sub-block data
Different S-boxS 0~ S7Are input to each
Get the output of the Note that this S-boxSj(J =
0, 1, ..., 7) are 4 bits from 6-bit input data
Is a non-linear conversion table for converting to output data of
This part is responsible for the essential security of the ES encryption. S
-BoxS0~ S7The eight output data of
After being converted to 32-bit data,
Thus, as shown in FIG.iXORed with
The output f (Ri, Ki).
【0004】次に、暗号解読法について述べる。DES
暗号を始めとする従来の共通鍵暗号方式についてはさま
ざまな方面から暗号解読が試みられており、そのなかで
も、極めて効果的な解読法であるのがE.Biham および
A.Shamirによって提案された差分解読法(“Differen
tial Cryptanalysis of DES-like Cryptosystems. ”Pr
oceedings of CRYPTO'90)と松井によって提案された線
形解読法(“DES暗号の線形解読法(I),”199
3年暗号と情報セキュリティシンポジウムSCIS93
−3C)である。Next, the decryption method will be described. DES
With regard to conventional common key cryptosystems such as cryptography, attempts have been made to decipher the cryptosystem from various aspects. Biham and A.S. Differential cryptanalysis proposed by Shamir (“Differen
tial Cryptanalysis of DES-like Cryptosystems.
oceedings of CRYPTO'90) and the linear decryption method proposed by Matsui ("Linear decryption method for DES cryptography (I)," 199).
3-year cryptography and information security symposium SCIS93
-3C).
【0005】差分解読法は、2つのデータX,X* の差
分をΔX=X(+)X* としたとき、解読者が入手して
いる平文・暗号文の2組を以下の式に適用して、最終ラ
ウンドにおける拡大鍵k15を求めることを目的としてい
る。 f(L16,k15)(+)f((L16(+) ΔL16),k15)=ΔR
16(+) ΔR14 このとき、L16,ΔL16,ΔR16は暗号文から得られる
データであるので既知の情報である。このため、解読者
がΔR14を正しく求めることができるならば、上式はk
15のみが未知定数となり、既知の平文・暗号文の組を用
いてk15に関する全数探索を行うことで、解読者は必ず
正しいk15を見つけだすことができる。一方、ΔR14に
ついてみてみると、この値は中間差分値であるため、一
般には求めることが困難である。そこで、1ラウンド目
から最終ラウンドの一つ前までのラウンド目までにおい
て、各ラウンドが確率pi でΔRi+1 =ΔLi (+)Δ
{f(ΔRi )},ΔLi+1 =ΔRi+1 のように近似さ
れるとおく。ここでのポイントは、あるΔRi が入力さ
れたとき、拡大鍵ki の値に関わらず、確率pi でΔ
{f(ΔRi )}を予測できるということにある。この
ように近似できるのは、Δ{f(ΔRi )}に影響を与
えるのが非線形な変換であるS−boxの部分だけであ
り、しかもS−boxにおいて、入力差分によっては差
分出力の分布に極めて大きな偏りが生じるためである。
例えば、S1−boxでは、入力差分「110100」
のとき、1/4の確率で出力差分「0010」に変換さ
れるためである。そこで、各々のS−boxが確率psi
で入力差分と出力差分との関係が予測できるとおき、こ
れらを組み合わせることで各ラウンドの近似を求める。
さらに、各ラウンドでの近似を連結していくことで、Δ
R14は確率P=Πpi でΔL 0 ,ΔR0 (ΔL0 ,ΔR
0 は平文から得られるデータであるので既知の情報であ
る)から求められることになる。なお、この確率Pが大
きいほど、暗号解読が容易である。このようにして、拡
大鍵k15が求められると、今度は1段少ない15段DE
S暗号とみなして、同様の手法で、拡大鍵k14を求めて
いくということを繰り返して、最終的に拡大鍵k0 まで
求めていく。[0005] The differential cryptanalysis method comprises two data X, X*Difference
Minute by ΔX = X (+) X*And when the reader gets it
Apply the two sets of plaintext and ciphertext to
Expanded key k in undFifteenAim to seek
You. f (L16, KFifteen) (+) f ((L16(+) ΔL16), kFifteen) = ΔR
16(+) ΔR14 At this time, L16, ΔL16, ΔR16Is obtained from ciphertext
Since it is data, it is known information. For this reason, readers
Is ΔR14Can be calculated correctly,
FifteenOnly unknown constants are used, and a set of known plaintext / ciphertext is used.
And kFifteenBy performing an exhaustive search on
Correct kFifteenCan be found. On the other hand, ΔR14To
Looking at this value, it is an intermediate difference value,
Generally, it is difficult to find. So the first round
To the first round before the last round
And each round has probability piAt ΔRi + 1= ΔLi(+) Δ
{F (ΔRi)}, ΔLi + 1= ΔRi + 1Approximated as
I will keep it. The point here is a certain ΔRiIs entered
When the key is expandediRegardless of the value ofiAnd Δ
{F (ΔRi)} Can be predicted. this
Can be approximated as Δ {f (ΔRiAffects}
The only thing that can be obtained is the S-box, which is a nonlinear transformation.
Moreover, in the S-box, the difference depends on the input difference.
This is because an extremely large deviation occurs in the distribution of the minute output.
For example, in S1-box, the input difference “110100”
Is converted to the output difference "0010" with a probability of 1/4
This is because Then, each S-box has probability psi
If the relationship between the input difference and the output difference can be predicted by
An approximation of each round is obtained by combining them.
Furthermore, by connecting approximations in each round, Δ
R14Is the probability P = ΠpiAt ΔL 0, ΔR0(ΔL0, ΔR
0Is known information because it is data obtained from plaintext.
). Note that this probability P is large.
The easier it is, the easier it is to break the code. In this way, expansion
Large key kFifteenIs required, this time one stage less 15-stage DE
Considering the S cipher, the expanded key k14In search of
Repeatedly go, finally the expanded key k0Until
I will seek.
【0006】Biham らによると、この解読法では、247
組の選択された既知平文・暗号文の組があればDES暗
号を解読できるとしている。また、線形解読法は、以下
の線形近似式を構成し、解読者が入手している平文・暗
号文の組による最尤法を用いて拡大鍵を求めることを目
的としている。 (L0 ,R0)・Γ(L0 ,R0)(+)(L16, R16)・Γ(
L16, R16)=(k0,k1 ,…,k15)・Γ(k0 ,
k1 ,…,k15) ただし、Γ(X)はXの特定のビット位置を選択するベ
クトルを表し、マスク値という 線形近似式の役割は、暗号アルゴリズム内部を線形表現
で近似的に置き換え、平文・暗号文の組に関する部分と
拡大鍵に関する部分とに分離することにある。つまり、
平文・暗号文の組に関して、平文の特定のビット位置の
値と暗号文の特定のビット位置の値との全ての排他的論
理和が一定値となり、その値は拡大鍵の特定のビット位
置の値の排他的論理和に等しくなることを表している。
したがって、解読者は(L0 ,R0)・Γ(L0 ,R0)
(+)(L16, R16)・Γ( L16, R16)の情報から
(k0 ,k1 ,…,k15)・Γ(k0 ,k1 ,…,
k15)(1ビット)の情報が得られるということにな
る。このとき、(L0 ,R0),(L16,R 16)はそれぞ
れ平文・暗号文のデータであるので既知の情報である。
このため、解読者がΓ(L0 ,R0),Γ(L16,
R16),Γ(k0 ,k1 ,…,k15)を正しく求めるこ
とができるならば、(k0 ,k1 ,…,k15)・Γ(k
0 ,k1 ,…,k15)(1ビット)を求めることができ
る。[0006] According to Biham et al.47
If there is a selected set of known plaintext / ciphertext, DES encryption
The issue can be decrypted. Also, the linear decoding method is as follows
Constructs a linear approximation of
The goal is to find an extended key using the maximum likelihood method
It has been the target. (L0, R0) ・ Γ (L0, R0) (+) (L16, R16) ・ Γ (
L16, R16) = (K0, K1, ..., kFifteen) ・ Γ (k0,
k1, ..., kFifteenHowever, Γ (X) is a method for selecting a specific bit position of X.
The role of a linear approximation expression called a mask value is a linear expression inside the cryptographic algorithm
Approximately replace with
It is to separate it from the part related to the extended key. That is,
For a plaintext / ciphertext pair,
All exclusions between the value and the value of a particular bit position in the ciphertext
The logical sum becomes a constant value, which is a specific bit position of the expanded key.
It is equal to the exclusive OR of the values of the values.
Therefore, the reader (L0, R0) ・ Γ (L0, R0)
(+) (L16, R16) ・ Γ (L16, R16)
(K0, K1, ..., kFifteen) ・ Γ (k0, K1,…,
kFifteen) (1 bit) information is obtained.
You. At this time, (L0, R0), (L16, R 16)
This is known information because it is plaintext / ciphertext data.
For this reason, the reader is Γ (L0, R0), Γ (L16,
R16), Γ (k0, K1, ..., kFifteen)
If you can (k0, K1, ..., kFifteen) ・ Γ (k
0, K1, ..., kFifteen) (1 bit)
You.
【0007】DES暗号では、非線形な変換が起きる部
分はS−boxしかないため、S−boxについてのみ
線形表現ができれば、容易に線形近似式が構成できる。
そこで、各々のS−boxが確率psiで線形表現できる
とおく。ここでのポイントは、S−boxに対する入力
マスク値が与えられたとき、確率psiでその出力マスク
値を予測できるということにある。これは、非線形変換
テーブルであるS−boxにおいて、入力マスク値によ
っては差分マスク値の分布に極めて大きな偏りが生じる
ためにおこる。例えば、S5−boxでは、入力マスク
値「010000」のとき、3/16の確率で出力マス
ク値「1111」が予測されるためである。これらS−
boxにおけるマスク値を組み合わせることによって、
各ラウンドが確率pi で入力マスク値と出力マスク値の
あいだに線形近似することができ、各ラウンドでの線形
近似を連結していくことで、Γ(L0 ,R0),Γ
(L16,R16),Γ(k0 ,k1 ,…,k15)は確率P
=2n-1 ・Π|pi −1/2 |で求められることになる。
なお、この確率Pが大きいほど、暗号解読が容易であ
る。[0007] In the DES encryption, the only part where nonlinear conversion occurs is only the S-box. Therefore, if only the S-box can be linearly expressed, a linear approximation equation can be easily formed.
Therefore, it is assumed that each S-box can be linearly represented by the probability p si . The point here is that when an input mask value for the S-box is given, the output mask value can be predicted with the probability p si . This occurs because, in the S-box, which is a non-linear conversion table, the distribution of the difference mask value is extremely biased depending on the input mask value. For example, in S5-box, when the input mask value is “010000”, the output mask value “1111” is predicted with a probability of 3/16. These S-
By combining the mask values in the box,
Each round can be linearly approximated between the input mask value and the output mask value with the probability p i , and by connecting the linear approximations in each round, Γ (L 0 , R 0 ), Γ
(L 16 , R 16 ), Γ (k 0 , k 1 ,..., K 15 ) are the probability P
= 2 n-1 · Π | p i −1/2 |
The larger the probability P is, the easier the decryption is.
【0008】松井によると、この解読法で、243組の既
知平文・暗号文の組を用いて、DES暗号の解読に成功
している。[0008] According to Matsui, in this cryptanalysis, using two 43 sets of known plaintext-ciphertext pair, it has succeeded in deciphering of the DES encryption.
【0009】[0009]
【発明が解決しようとする課題】この発明の目的は、差
分解読法および線形解読法に対し、従来よりも安全性が
高い暗号装置を提供することにある。SUMMARY OF THE INVENTION It is an object of the present invention to provide a cryptographic device which is more secure than the conventional one for the differential cryptanalysis and the linear cryptanalysis.
【0010】[0010]
【課題を解決するための手段】この発明では、特に非線
形関数手段において、非線形関数手段の入力データに鍵
記憶手段に蓄積された鍵データに基づいて線形変換を行
う鍵依存線形変換手段と、その鍵依存線形手段の出力デ
ータを2個のビット列に分割する分割手段と、予め決め
られた複数の構造から、鍵記憶手段に蓄積された鍵デー
タに基づいて決定される1つの構造において2つのビッ
ト列間で非線形変換を行う非線形変換手段と、その非線
形変換手段からの2つの出力ビット列を結合してこの非
線形関数手段の出力データとする結合手段とを備えるこ
とを特徴とする。According to the present invention, in particular, in the nonlinear function means, a key-dependent linear conversion means for performing a linear conversion on the input data of the nonlinear function means based on the key data stored in the key storage means; Dividing means for dividing the output data of the key-dependent linear means into two bit strings; and two bit strings in one structure determined based on the key data stored in the key storage means from a plurality of predetermined structures. And a non-linear conversion means for performing non-linear conversion between the non-linear conversion means and a coupling means for coupling two output bit strings from the non-linear conversion means to obtain output data of the non-linear function means.
【0011】さらに安全性を向上させるためには、前記
非線形関数手段内の前記非線形変換手段として、前記非
線形関数手段と同様に鍵依存線形変換手段と分割手段と
非線形変換手段と結合手段とを備え、その非線形変換手
段に前記鍵記憶手段に蓄積されている鍵データが入力さ
れ、前記非線形関数手段と同様の動作を再帰的に実行す
る。作用 この発明によれば、S−boxにおける入力差分と出力
差分との関係が予期できる確率psiがp si<pb <1で
あるとき、pb はpsi中の最大値であり、各ラウンドに
おける選択可能構造数をmとすると、各ラウンドを近似
するときの確率はp i <pb 2 /m(ただし、差分解読
法の場合は関数fへの入力差分が0でないとき、線形解
読法の場合は関数fでの出力マスク値が0でないとき)
となることが保証される。また、関数fが全単射(入力
が異なれば出力も必ず異ったものとなる)であるとき、
3段以上のラウンド数がある暗号方式としての確率はP
<pi 2 <pb 4 /m2 となる。これは、従来の暗号方
式ではP<pb 4 であったのに対して、m2 倍だけ小さ
い値で上限を押さえられ、差分解読法および線形解読法
に対して少なくともm2 倍安全な暗号装置を提供でき
る。In order to further improve the security, the non-linear function means in the non-linear function means includes a key-dependent linear conversion means, a dividing means, a non-linear conversion means, and a coupling means, like the non-linear function means. The key data stored in the key storage means is input to the non-linear conversion means, and the same operation as the non-linear function means is recursively executed. According to the working this invention, when the probability p si the relationship between the input difference and output difference of S-box can be expected is a p si <p b <1, p b is the maximum value in the p si, each Assuming that the number of selectable structures in a round is m, the probability of approximating each round is p i < p b 2 / m (however, in the case of differential cryptanalysis, when the input difference to the function f is not 0, linear decryption is performed. Method, when the output mask value of the function f is not 0)
Is guaranteed. Also, when the function f is bijective (the output is always different if the input is different),
The probability as an encryption method with three or more rounds is P
<A p i 2 <p b 4 / m 2. This is because the the conventional encryption method was P <p b 4, pressed the upper limit by a small value by twice m, at least m 2 fold secure encryption against differential cryptanalysis and linear cryptanalysis Equipment can be provided.
【0012】[0012]
【発明の実施の形態】以下、この発明の一実施例を図面
を用いて説明する。図1は、この発明の一実施例を示す
暗号装置における、機能構成を示したものである。平文
に相当する入力データPを入力手段301から暗号装置
内に入力する。入力データPは、鍵記憶手段322に蓄
積されている鍵データfkによる鍵依存初期線形変換手
段302で変換された後、初期分割手段303で二つの
データL0,R0 に分割される。この分割は例えば64
ビットデータが32ビットづつのデータL0 ,R0 とビ
ット分割である。データR0 は、鍵記憶手段322に蓄
積されている鍵データk0 ,s0 とともに非線形関数手
段304に入力され、非線形関数手段304で変換処理
を行われてデータY0 に変換される。データY0 とデー
タL0 は線形演算手段305で演算され、データL0 *
に変換される。データL0 * とデータR0 は交換手段3
06でデータ位置の交換が行われ、L1 =R0,R1 =
L0 * のように交換される。以下、二つのデータL1 ,
R1 について上記と同様の処理を繰り返し行う。すなわ
ち、第iラウンドでは、二つのデータL i ,Ri につい
て、データRi は、鍵記憶手段322に蓄積されている
鍵データki ,si とともに非線形関数手段304に入
力され、非線形関数手段304で変換処理を行われ、デ
ータYi に変換される。データYi とデータLi は線形
演算手段305で演算され、データLi * に変換され
る。データLi * とデータR i は交換手段306でデー
タ位置の交換が行われ、Li+1 =Ri ,Ri+1 =Li *
のように交換される。線形演算手段305は例えば排他
的論理和演算手段である。BRIEF DESCRIPTION OF THE DRAWINGS FIG.
This will be described with reference to FIG. FIG. 1 shows an embodiment of the present invention.
3 shows a functional configuration of the encryption device. Plaintext
From the input means 301 to the encryption device
Enter within. The input data P is stored in the key storage unit 322.
Key-dependent initial linear transformation method based on the accumulated key data fk
After being converted in the stage 302, the two
Data L0, R0Is divided into This division is, for example, 64
Bit L is data L of 32 bits each0, R0And bi
This is a division into two sets. Data R0Is stored in the key storage unit 322.
Key data k0, S0With nonlinear function
The signal is input to the stage 304 and converted by the nonlinear function means 304.
Is performed and the data Y0Is converted to Data Y0And day
L0Is calculated by the linear calculation means 305, and the data L0 *
Is converted to Data L0 *And data R0Means exchange means 3
At 06, the data positions are exchanged, and L1= R0, R1=
L0 *Will be replaced like Hereinafter, two data L1,
R1, The same processing as described above is repeatedly performed. Sand
In the i-th round, two data L i, RiAbout
And data RiIs stored in the key storage unit 322
Key data ki, SiTogether with the nonlinear function means 304
Is converted by the nonlinear function means 304,
Data YiIs converted to Data YiAnd data LiIs linear
The data L calculated by the calculating means 305i *Is converted to
You. Data Li *And data R iIs the data
Data positions are exchanged, and Li + 1= Ri, Ri + 1= Li *
Will be replaced like The linear operation means 305 is, for example, exclusive
Logical OR operation means.
【0013】暗号方式としての安全性を確保するための
適切な繰り返し回数(ラウンド数)をnとすると、この
繰り返し処理の結果、最終的にデータLn ,Rn が得ら
れる。このデータLn ,Rn を最終結合手段307で結
合した後、つまり例えば各32ビットのデータLn ,R
n を64ビットの1つのデータとし、この結合データを
鍵記憶手段322に蓄積されている鍵データekによる
鍵依存最終線形変換手段308で変換し、出力手段30
9から暗号文として出力データCを出力する。Assuming that an appropriate number of repetitions (number of rounds) for ensuring the security of the encryption system is n , data L n and R n are finally obtained as a result of this repetition processing. After the data L n and R n are combined by the final combining means 307, that is, for example, 32-bit data L n and R n
n is one data of 64 bits, and the combined data is converted by the key-dependent final linear conversion means 308 using the key data ek stored in the key storage means 322, and the output means 30
9 outputs the output data C as a ciphertext.
【0014】復号については、暗号化処理手順と逆の手
順をたどることによって、暗号文Cから平文Pが得られ
る。つまりDES暗号の場合と同様に、図1において、
入力データの代りに暗号データを入力し、鍵データを暗
号化の時とは逆に、図において上からek,kn-1 ,s
n-1 ,…,k1 ,s1 ,k0 ,s0 ,fkを順次与えれ
ばよい。For decryption, a plaintext P is obtained from the ciphertext C by following a procedure reverse to the encryption processing procedure. That is, as in the case of the DES encryption, in FIG.
The encryption data is input instead of the input data, and the key data is ek, k n−1 , s from the top in FIG.
n-1, ..., k 1 , s 1, k 0, s 0, fk it may be sequentially Ataere a.
【0015】次に、非線形関数手段304の内部を詳細
に説明する。図2は、非線形関数手段304の内部の機
能構成を抜き出して示したものである。データRi は、
鍵記憶手段322に蓄積されている鍵データki ,si
とともに非線形関数手段304への入力データとなる。
データRi は、鍵データki による鍵依存線形変換手段
341によりデータRi * に線形変換される。次に、デ
ータRi * は分割手段342において例えば32ビット
のデータが2つの16ビットづつのデータin0 ,in
1 にビット分割される。2つのデータin0 ,in
1 は、非線形変換手段343においてデータout0 ,
out1 に非線形変換された後、結合手段344におい
て2つの例えば16ビットのデータout0 ,out1
がビット結合されて非線形関数手段304からの32ビ
ットの出力データYi が生成される。Next, the inside of the nonlinear function means 304 will be described in detail. FIG. 2 shows a functional configuration extracted from the nonlinear function means 304. The data Ri is
Key data k i , s i stored in key storage means 322
Along with the input data to the nonlinear function means 304.
The data R i is linearly converted to data R i * by key-dependent linear conversion means 341 using the key data k i . Next, the data R i * is divided into two 16-bit data in 0 , in by, for example, 32-bit data by the dividing means 342.
It is divided into 1 bits. Two data in 0 , in
1 is the data out 0 ,
After the non-linear conversion to out 1 , the combining means 344 outputs two data, for example, 16-bit data out 0 and out 1
Are bit-combined to generate 32-bit output data Y i from the nonlinear function means 304.
【0016】ここで、非線形変換手段343は、差分解
読法および線形解読法に対して同じ安全性を有し、かつ
その内部には3つの非線形変換手段351,352,3
53が含まれている機能構造が複数3430 ,34
31 ,…あり、その機能構造の1つが鍵データsi によ
って選択される。非線形変換手段351,352,35
3はそれぞれ、DES暗号のS−boxの1つのボック
ス素子と同様に入力データごとに固有の出力データを出
力するものである。Here, the non-linear conversion means 343 has the same security as the differential cryptanalysis and the linear cryptanalysis, and has three non-linear conversion means 351, 352, 3 inside.
Multiple 343 functions structure 53 contains 0, 34
3 1, ... In, is selected by 1 Tsugakagi data s i of the functional structures. Nonlinear conversion means 351, 352, 35
Reference numeral 3 denotes output of unique output data for each input data, similarly to one box element of the S-box of the DES encryption.
【0017】このような機能構造の例を図3、図4に示
す。図3Aでは、データin1 が非線形変換手段351
で非線形変換され、その変形結果と、データin0 とが
回路354で排他的論理和演算がなされ、その演算結果
は非線形変換手段352で非線形変換され、その変換結
果とデータin1 とが回路355で排他的論理和演算が
なされ、その演算結果はデータout1 となると共に非
線形変換手段353で非線形変換され、その変換結果と
回路354の演算結果とが回路356で排他的論理和演
算がなされ、その演算結果がout0 となる。FIGS. 3 and 4 show examples of such a functional structure. In FIG. 3A, the data in 1 is converted to the nonlinear conversion means 351.
In a non-linear transformation, its transformation results, and data in 0 is made exclusive OR operation by the circuit 354, the operation result is nonlinear converted by the nonlinear conversion means 352, the result of the conversion data in 1 and the circuit 355 , An exclusive OR operation is performed, and the operation result becomes data out 1 and is nonlinearly converted by the nonlinear conversion means 353. The conversion result and the operation result of the circuit 354 are subjected to an exclusive OR operation in a circuit 356. the calculation result is out 0.
【0018】図3Bではデータin0 が非線形変換手段
351で変形されて回路354へ入力され、データin
1 と排他的論理和演算され、またデータin1 は非線形
変換手段352で変形された後回路355で回路354
の演算結果との排他的論理和演算がなされ、その演算結
果がデータout1 となり、また回路354の演算結果
が非線形変換手段353で変換され、その変換結果は回
路355の演算結果と回路356で排他的論理和演算が
なされてデータout0 となる。これらと、図4A〜F
に示す構成より、3つの非線形変換手段351,35
2,353と、3つの排他的論理和回路354,35
5,356とを用い、データin0 ,in1を、相互の
排他的論理和、非線形変換、非線形変換後の排他的論理
和、あるいは排他的論理和後の非線形変換を相互に行っ
てデータout0 ,out1 を得るものである。In FIG. 3B, the data in 0 is transformed by the nonlinear conversion means 351 and input to the circuit 354, where
An exclusive OR operation with 1 is performed, and the data in 1 is transformed by the non-linear conversion means 352, and then transformed by the circuit 355 into the circuit 354.
The exclusive OR operation is performed with the operation result of ( 1) , the operation result is data out1, and the operation result of the circuit 354 is converted by the non-linear conversion means 353. The conversion result is obtained by the operation result of the circuit 355 and the circuit 356. An exclusive OR operation is performed and the result is data out 0 . These and FIGS. 4A to 4F
According to the configuration shown in FIG.
2, 353 and three exclusive OR circuits 354, 35
5 and 356, the data in 0 and in 1 are mutually subjected to exclusive OR, nonlinear conversion, exclusive OR after nonlinear conversion, or nonlinear conversion after exclusive OR to perform data out. 0, is intended to obtain an out 1.
【0019】なお、鍵データfk,k0 ,s0 ,…,k
n-1 ,sn-1 ,ekは、鍵入力手段320から暗号装置
内に入力された鍵情報Keyが鍵データ生成手段321
によって変換され、鍵記憶手段322に蓄積されたデー
タである。鍵データ生成手段321としては、例えばD
ES暗号装置に用いられている拡大鍵生成ルーチン16
と同様のものを用いることができ、鍵データs0 ,
s1 ,…はそれぞれ鍵データk0 ,k1 ,…の予め決め
られた複数のビット位置のデータを用いたり、あるいは
非線形関数手段の鍵依存線形変換手段341へ供給する
鍵データk0 〜kn- 1 に必要とする分よりも1つ乃至複
数個多くの鍵データを作り、その余分のものをビット分
割して鍵データs0 ,s1 ,…,sn-1 に順次割当てて
もよい。The key data fk, k 0 , s 0 ,..., K
n-1 , s n-1 , and ek are the key information Key input from the key input unit 320 into the encryption device and the key data generation unit 321.
Is converted by the key storage unit 322 and stored in the key storage unit 322. As the key data generating means 321, for example, D
Extended key generation routine 16 used in ES encryption device
The key data s 0 ,
s 1, ... each key data k 0 is, k 1, ... of the key data k 0 to k supplied beforehand or using data of a plurality of bit position determined, or the key-dependent linear transformation means 341 of the non-linear function means n-1 creates one or a plurality number of key data than the partial requiring to its extra to be bit-sliced those key data s 0, s 1, ..., be sequentially assigned to s n-1 Good.
【0020】上記のように構成された暗号装置において
は、例えば、非線形変換手段351〜353が差分解読
法および線形解読法に対して確率pb =2-12 で近似表
現できるように設計され、かつ鍵データsi で選択でき
る機能構造数がm=23 であるならば、前記「課題を解
決すべき手段」の「作用」の項で示したことから各ラウ
ンドは確率p i <2-27 で近似表現することができ、3
ラウンド以上の暗号装置全体としては、確率P<2-54
で近似表現できることになる。従来の暗号方式ではm=
1であるので、この場合の確率はp i <2-24 ,P<2
-48 である。このことから、差分解読法および線形解読
法に対して少なくとも26 倍安全性が高い暗号装置であ
るといえる。In the encryption device configured as described above, for example, the nonlinear conversion means 351 to 353 are designed so as to be able to approximately express the difference cryptanalysis and the linear cryptanalysis with a probability p b = 2 −12 , and the key if the number of functional structures that can be selected in the data s i is m = 2 3, wherein each round from that shown in the section "action" in "means to solve the problem" probability p i <2 - Can be approximated by 27 and 3
As a whole, the probability P < 2-54 of the encryption device of the round or more is obtained.
Can be approximated. In the conventional encryption method, m =
1, the probability in this case is p i < 2 −24 , P < 2
-48 . From this, it can be said that the encryption device is at least 26 times more secure than the differential cryptanalysis and the linear cryptanalysis.
【0021】なお、この発明はこの例に特定されるだけ
でなく、例えば図5に示すように、非線形変換手段35
1〜353の内部にもそれぞれ非線形変換手段304と
同じ処理を行う手段を有し、非線形変換手段351〜3
53のそれぞれについて鍵データki0,ki1,ki2,s
i0,si1,si2による非線形変換を行うことができるよ
うな構造とすることも可能である。この場合、非線形変
換手段351〜353それぞれについても鍵データで選
択できる機能構造数をm=23 とするならば、各ラウン
ドで選択できる機能構造数はm=212となり、さらに安
全性の高い暗号装置を実現できる。It should be noted that the present invention is not limited to this example. For example, as shown in FIG.
1 to 353 have means for performing the same processing as the nonlinear conversion means 304, respectively.
Key data k i0 , k i1 , k i2 , s for each of 53
It is also possible to adopt a structure capable of performing nonlinear conversion by i0 , si1 , and si2 . In this case, if the number of function structures that can be selected with the key data for each of the nonlinear conversion units 351 to 353 is m = 2 3 , the number of function structures that can be selected in each round is m = 2 12 , and the security is higher. An encryption device can be realized.
【0022】鍵依存初期線形変換手段302、鍵依存最
終線形変換手段308は必ずしも設けなくてもよい。こ
れら鍵依存初期線形変換手段302、鍵依存最終線形変
換手段308、鍵依存線形変換手段341は例えば、入
力データを鍵データに応じたビット数だけ回転シフトす
る手段、あるいは入力データと鍵データとの排他的論理
和演算を行うなどの手段である。また鍵依存初期線形変
換手段302、鍵依存最終線形変換手段308はそれぞ
れ、又は一方は鍵に依存しない線形変換手段であっても
よい。この場合はいわゆる転置テーブル、又は固定ビッ
ト数だけ回転シフトするものなどが用いられる。The key-dependent initial linear transformation means 302 and the key-dependent final linear transformation means 308 need not always be provided. The key-dependent initial linear conversion means 302, the key-dependent final linear conversion means 308, and the key-dependent linear conversion means 341 are, for example, means for rotating and shifting input data by the number of bits corresponding to the key data, or between input data and key data. It is a means such as performing an exclusive OR operation. The key-dependent initial linear conversion means 302 and the key-dependent final linear conversion means 308 may each be one or one of them may be a key-independent linear conversion means. In this case, a so-called transposition table or a table that rotates and shifts by a fixed number of bits is used.
【0023】[0023]
【発明の効果】以上、詳細に説明したように、この発明
によれば、データの通信または蓄積においてデータを秘
匿するための暗号装置において、同一繰返し数(ラウン
ド数)でも従来の暗号装置よりも、差分解読法および線
形解読法に対して安全性が高い暗号装置を提供すること
ができる。As described above in detail, according to the present invention, in an encryption device for concealing data in data communication or storage, even with the same number of repetitions (number of rounds), compared with a conventional encryption device. , It is possible to provide a cryptographic device that is highly secure against differential cryptanalysis and linear cryptanalysis.
【図1】この発明の実施例の機能構成を示すブロック
図。FIG. 1 is a block diagram showing a functional configuration of an embodiment of the present invention.
【図2】図1の実施例における非線形関数手段304の
詳細機能構成例示すブロック図。FIG. 2 is a block diagram showing a detailed functional configuration example of a nonlinear function unit 304 in the embodiment of FIG.
【図3】図2中の非線形変換手段343の各種構造の機
能構成の例を示す図。FIG. 3 is a diagram showing an example of a functional configuration of various structures of a nonlinear conversion unit 343 in FIG. 2;
【図4】図2中の非線形変換手段343の他の各種構造
の機能構成を示す図。FIG. 4 is a diagram showing a functional configuration of various other structures of the nonlinear conversion unit 343 in FIG. 2;
【図5】図1の実施例における非線形関数手段304の
代りの詳細機能構成例を示す図。FIG. 5 is a diagram showing a detailed functional configuration example instead of the nonlinear function means 304 in the embodiment of FIG. 1;
【図6】従来のDES暗号装置の機能構成を示す図。FIG. 6 is a diagram showing a functional configuration of a conventional DES encryption device.
【図7】DES暗号の関数演算部12の機能構成を示す
図。FIG. 7 is a diagram showing a functional configuration of a function operation unit 12 of the DES encryption.
フロントページの続き (72)発明者 青木 克彦 東京都武蔵野市吉祥寺本町一丁目14番5号 エヌ・ティ・ティ・エレクトロニクステ クノロジー株式会社内 (72)発明者 松本 勉 神奈川県相模原市上鶴間2603−1−210Continuing on the front page (72) Inventor Katsuhiko Aoki 1-14-5 Kichijoji Honmachi, Musashino-shi, Tokyo NTT Electronics Technology Co., Ltd. (72) Inventor Tsutomu Matsumoto 2603- Kamizuruma, Sagamihara-shi, Kanagawa 1-210
Claims (6)
データに分割し、これら部分データの一つに対し、非線
形関数手段で鍵記憶手段に蓄積された鍵データに依存し
たデータ変換処理を行い、その非線形関数手段の出力デ
ータを前記部分データの他方の一つに線形演算手段で作
用させ、その線形演算手段の出力データと前記非線形関
数手段の入力部分データとの配列順番を交換手段で交換
し、前記交換手段よりの二つの交換されたデータを二つ
の部分データとして前記非線形関数手段と前記線形演算
手段と前記交換手段とを繰返し手段で複数回繰返し、前
記繰返し手段の最終回の繰返しにおける前記交換手段よ
りの二つのデータを一つの出力データに最終結合手段で
結合して、その出力データを出力する暗号装置におい
て、 前記非線形関数手段は、入力されたデータに前記鍵記憶
手段に蓄積された鍵データに基づいて線形変換を行う鍵
依存線形変換手段と、 その鍵依存線形手段の出力データを2個のビット列に分
割する分割手段と、 予め決められた複数の機能構造から、前記鍵記憶手段に
蓄積された鍵データに基づいて決定される一つの構造に
おいて前記2個のビット列間で非線形変換を行う非線形
変換手段と、 その非線形変換手段よりの2個の出力ビット列を結合し
て前記非線形関数手段の出力データとする結合手段とを
備えることを特徴とする暗号装置。An input data is divided into two pieces of partial data by an initial dividing means, and one of these partial data is subjected to data conversion processing dependent on the key data stored in the key storing means by a non-linear function means. The output data of the non-linear function means is applied to the other of the partial data by the linear operation means, and the arrangement order of the output data of the linear operation means and the input partial data of the non-linear function means is exchanged by the exchange means. Then, the non-linear function means, the linear operation means, and the exchange means are repeated a plurality of times by the repetition means with the two exchanged data from the exchange means as two partial data in the last repetition of the repetition means. A cryptographic device that combines the two data from the exchange means into one output data by final combining means and outputs the output data; The stage includes key-dependent linear conversion means for performing linear conversion on input data based on key data stored in the key storage means, and division means for dividing output data of the key-dependent linear means into two bit strings. A non-linear conversion means for performing a non-linear conversion between the two bit strings in one structure determined based on the key data stored in the key storage means from a plurality of predetermined functional structures; A combining unit combining two output bit strings from the conversion unit to output data of the non-linear function unit.
分割手段と、非線形変換手段と結合手段とを備え、前記
鍵記憶手段に蓄積されている鍵データが入力され、前記
非線形関数手段と同様の動作を再帰的に実行することを
特徴とする暗号装置。2. The encryption device according to claim 1, wherein the non-linear conversion means in the non-linear function means includes a key-dependent linear conversion means, like the non-linear function means.
A cryptographic device comprising a dividing unit, a non-linear converting unit, and a combining unit, wherein the key data stored in the key storing unit is input, and the same operation as the non-linear function unit is performed recursively. .
置において、 前記入力データに線形変換を行って前記初期分割手段へ
入力する初期線形変換手段を備えていることを特徴とす
る暗号装置。3. The encryption device according to claim 1, further comprising an initial linear conversion unit that performs a linear conversion on the input data and inputs the input data to the initial division unit. .
記載の暗号装置において、 前記最終結合手段の出力データに線形変換を行い暗号装
置の出力データとする最終線形変換手段を備えることを
特徴とする暗号装置。4. The encryption device according to claim 1, further comprising a final linear conversion unit that performs a linear conversion on the output data of the final combination unit and outputs the output data of the encryption device. Characteristic encryption device.
データに基づき線形変換を行う手段であることを特徴と
する暗号装置。5. The encryption device according to claim 3, wherein the initial linear conversion unit is a unit that performs a linear conversion based on the key data stored in the key storage unit.
データに基づいて線形変換を行う手段であることを特徴
とする暗号装置。6. The encryption device according to claim 4, wherein the final linear conversion unit is a unit that performs a linear conversion based on the key data stored in the key storage unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9173671A JPH1124558A (en) | 1997-06-30 | 1997-06-30 | Ciphering device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9173671A JPH1124558A (en) | 1997-06-30 | 1997-06-30 | Ciphering device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1124558A true JPH1124558A (en) | 1999-01-29 |
Family
ID=15964950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9173671A Pending JPH1124558A (en) | 1997-06-30 | 1997-06-30 | Ciphering device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1124558A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037482A (en) * | 2001-01-23 | 2003-02-07 | Hitachi Ltd | Pseudo-random number generator, and decoder using the same |
KR100607464B1 (en) * | 1999-07-13 | 2006-08-02 | 한국전자통신연구원 | Data ciphering method in wireless communication system |
WO2006121149A1 (en) * | 2005-05-13 | 2006-11-16 | Ochanomizu University | Pseudo random number generation system, encryption system, and decryption system |
JP2011128655A (en) * | 2011-03-19 | 2011-06-30 | Ochanomizu Univ | Pseudo random number generation system |
JP2011145698A (en) * | 2011-03-19 | 2011-07-28 | Ochanomizu Univ | Encryption system and decryption system |
JP2011150368A (en) * | 2011-03-19 | 2011-08-04 | Ochanomizu Univ | Encryption system and decryption system |
WO2012132622A1 (en) * | 2011-03-28 | 2012-10-04 | ソニー株式会社 | Data processing device, data processing method, and programme |
-
1997
- 1997-06-30 JP JP9173671A patent/JPH1124558A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100607464B1 (en) * | 1999-07-13 | 2006-08-02 | 한국전자통신연구원 | Data ciphering method in wireless communication system |
JP2003037482A (en) * | 2001-01-23 | 2003-02-07 | Hitachi Ltd | Pseudo-random number generator, and decoder using the same |
WO2006121149A1 (en) * | 2005-05-13 | 2006-11-16 | Ochanomizu University | Pseudo random number generation system, encryption system, and decryption system |
US8553880B2 (en) | 2005-05-13 | 2013-10-08 | Ochanomizu University | Pseudorandom number generating system, encryption system, and decryption system |
JP2011128655A (en) * | 2011-03-19 | 2011-06-30 | Ochanomizu Univ | Pseudo random number generation system |
JP2011145698A (en) * | 2011-03-19 | 2011-07-28 | Ochanomizu Univ | Encryption system and decryption system |
JP2011150368A (en) * | 2011-03-19 | 2011-08-04 | Ochanomizu Univ | Encryption system and decryption system |
WO2012132622A1 (en) * | 2011-03-28 | 2012-10-04 | ソニー株式会社 | Data processing device, data processing method, and programme |
US9083507B2 (en) | 2011-03-28 | 2015-07-14 | Sony Corporation | Data processing device, data processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1052611B1 (en) | Data converter and recording medium on which program for executing data conversion is recorded | |
JP3679936B2 (en) | Encryption / decryption device and storage medium | |
US5745577A (en) | Symmetric cryptographic system for data encryption | |
WO2015146431A1 (en) | Encryption processing device, and encryption processing method and program | |
Biham et al. | Differential-linear cryptanalysis of serpent | |
WO2015146430A1 (en) | Encryption processing device, and encryption processing method and program | |
US20030190041A1 (en) | Expansion key generating device, encryption device and encryption system | |
JPH1124558A (en) | Ciphering device | |
JP3782210B2 (en) | Crypto device | |
RU2141729C1 (en) | Method for encrypting of binary data units | |
JP4515716B2 (en) | Extended key generation device, encryption device, and encryption system | |
RU2206961C2 (en) | Method for iterative block encryption of binary data | |
KR100494560B1 (en) | Real time block data encryption/decryption processor using Rijndael block cipher and method therefor | |
Kumari et al. | An RTL Implementation of the Data Encryption Standard (DES) | |
JPWO2008117804A1 (en) | Pseudorandom number generator for stream cipher, program and method | |
EP1043863B1 (en) | Method for the cryptographic conversion of L-bit input blocks of digital data info into L-bit output blocks | |
JPH09269727A (en) | Ciphering method and ciphering device | |
JP3017726B2 (en) | Data converter | |
JP3017725B2 (en) | Data converter | |
JP3473171B2 (en) | Sequential encryption | |
WO2015146432A1 (en) | Cryptographic processing device, method for cryptographic processing, and program | |
RU2204212C2 (en) | Iterative method for block encryption | |
Hassan | New Approach for Modifying DES Algorithm Using 4-States Multi-keys | |
Malav | Security Improvement for Realistic Data Using International Data Encryption Cryptographic Algorithm | |
RU2172075C1 (en) | Iterative method of block coding |