JPH03254538A - Cryptographic system - Google Patents

Cryptographic system

Info

Publication number
JPH03254538A
JPH03254538A JP2053371A JP5337190A JPH03254538A JP H03254538 A JPH03254538 A JP H03254538A JP 2053371 A JP2053371 A JP 2053371A JP 5337190 A JP5337190 A JP 5337190A JP H03254538 A JPH03254538 A JP H03254538A
Authority
JP
Japan
Prior art keywords
data
processing
bit
key
cryptographic
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
JP2053371A
Other languages
Japanese (ja)
Inventor
Akihiro Shimizu
明宏 清水
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2053371A priority Critical patent/JPH03254538A/en
Publication of JPH03254538A publication Critical patent/JPH03254538A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To attain cryptographic processing at a faster speed than a speed of a conventional system by applying parallel processing to a division data resulting from dividing an input plain sentence data comprising plural bits by means of variable bit rotation and addition, and further applying rotation processing to the entire data. CONSTITUTION:In a cryptographic system in which an input plain sentence data comprising plural bits is processed by using an intermediate key obtained from processing a secret key data comprising of plural bits to obtain a cryptographic data, a key processing section 10 processes a 128-bit secret key K to calculate a 256-bit intermediate key KS. The intermediate key KS consists of parallel data KS<0>, KS<1>, KS<2>, KS<3> in 64-bit (8-bit) each. Moreover, the key processing section 10 calculates a 4X4 matrix R using bit rotation number being an integral number of 3-10 as its elements. The cryptographic processing is implemented after the end of key processing. A cryptographic processing section 20 uses the 256-bit intermediate key KS and the matrix R, ciphers a 126-bit plain sentence data Y in parallel processing to obtain a cryptographic sentence Y'.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、高速な共通鍵(秘密鍵)暗号方式に関するも
のである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a high-speed common key (private key) cryptosystem.

〔従来の技術〕[Conventional technology]

通信とコンピュータを融合したシステムの進展にともな
い、情報セキュリティの確保が重要な課題となっている
。情報セキュリティ技術のひとつに秘密鍵暗号方式があ
る。秘密鍵暗号方式は、通信、蓄積の各データの暗号化
をはじめ、認証への応用など1幅広い適用が可能である
With the advancement of systems that integrate communications and computers, ensuring information security has become an important issue. One of the information security technologies is secret key cryptography. Secret key cryptography can be used in a wide range of applications, including encryption of communication and storage data, as well as authentication.

従来、秘密鍵暗号方式としては、DES方式(文献NB
S:“D ata E ncryption S ta
ndard” 。
Conventionally, the DES method (Reference NB
S: “Data Encryption S ta
ndard”.

FIPS−PUB−45(1977))、FEAL方式
(文献清水、宮口:“高速データ暗号アルゴリズムFE
AL”、信学論(D)、J70−D。
FIPS-PUB-45 (1977)), FEAL method (Reference Shimizu, Miyaguchi: “High-speed data encryption algorithm FE
AL”, Theory of Faith (D), J70-D.

?、pp、1413−1423 (1987))などが
知れている。DES方式は、ハードウェアでの実現を目
的に開発された方式であるが、LSIの暗量化速度は1
0〜20 Mbps程度である(文献池野、小山:“現
代暗号理論”、電子情報通信学会論、pP、256−2
57 (1986))。一方、FEAL方式は、ソフト
ウェアでの高速処理を目的に開発された方式であり、現
在バージョンアップしてFEAL−8(文献室ロ、白石
、清水:“FEAL−8アルゴリズム”、研実報、第3
7巻、第475号、pp、321−327(1988)
)として用いられている。FEAL−8のLSIは、9
6Mbpsのものが開発されている(文献H0Mori
ta、 M、 5asaoka、 S 、 Miyag
uchi :“5ecurity Design fo
r F E A L −8Encipherment 
 L  S  I  and  B  0ARD/ B
  OX″Digest of papers of 
FTC8−18,Po5terSession、 pp
、21−24 (1988)) 。
? , pp. 1413-1423 (1987)). The DES method was developed with the aim of realizing it in hardware, but the LSI darkening speed is 1
0 to 20 Mbps (References Ikeno, Koyama: “Modern Cryptography Theory”, IEICE Theory, pP, 256-2
57 (1986)). On the other hand, the FEAL method was developed for the purpose of high-speed processing in software, and is currently upgraded to FEAL-8 (Literature Room Ro, Shiraishi, Shimizu: "FEAL-8 Algorithm", Research Report, Vol. 3
Volume 7, No. 475, pp, 321-327 (1988)
) is used as. The LSI of FEAL-8 is 9
A 6Mbps version has been developed (Reference H0Mori
ta, M, 5asaoka, S, Miyag
uchi: “5Ecurity Design for
r F E A L -8Encipherment
L S I and B 0ARD/B
OX″Digest of papers of
FTC8-18, Po5terSession, pp
, 21-24 (1988)).

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

現在、LAN環境を中心に高速化、マルチメディア化が
進んでいる。特に、LANの下位レイヤの情報や高精細
動画の暗号化には、数百Mbpsの暗号化速度が必要で
ある。この領域に適用するためには、DES方式やFE
AL方式よりさらに高速処理が可能な暗号方式が必要で
ある。
Currently, high speed and multimedia technology are progressing mainly in LAN environments. In particular, encryption speeds of several hundred Mbps are required to encrypt lower layer information of a LAN and high-definition video. In order to apply it to this area, it is necessary to use the DES method and FE method.
There is a need for an encryption method that can perform faster processing than the AL method.

本発明の目的は、数百Mbpsで暗号化処理が可能な高
速暗号方式を提供することにある。
An object of the present invention is to provide a high-speed encryption method that can perform encryption processing at several hundred Mbps.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、本発明は、複数ビットから
なる入力平文データを、複数ビットからなる秘密鍵デー
タを処理して得た中間軸を用いて処理し、暗号文データ
を得る暗号方式において。
In order to achieve the above object, the present invention provides a cryptographic method for processing input plaintext data consisting of a plurality of bits using an intermediate axis obtained by processing secret key data consisting of a plurality of bits, and obtaining ciphertext data. .

入力データを2つの等長データ(a、bとする)に分割
し、a、bの各データに対して、中間軸で可変な、ある
いは定数として予めきめてある回転数だけ回転した各2
種類のデータをa1、a2゜b1、b2とし、a1、a
2、b1、b2のそれぞれのデータを等長の小データに
分割し、alおよびblに属する小データをそれぞれ並
列に加算して新たにaのデータとし、また、a2および
b2に属する小データをそれぞれ並列に加算して新たに
bのデータとし、さらに、a、bあわせたデータを複数
ビット左右いずれかの方向へ回転させて得られる結果を
出力データとすることを特徴とするものである。
Divide the input data into two pieces of equal length data (a and b), and for each data of a and b, rotate the intermediate axis by a variable or predetermined number of rotations as a constant.
Type data is a1, a2゜b1, b2, a1, a
Divide each data of 2, b1, and b2 into small data of equal length, add the small data belonging to al and bl in parallel to create new data of a, and add the small data belonging to a2 and b2 in parallel. It is characterized in that each of these data is added in parallel to create new data of b, and then the combined data of a and b is rotated in either the left or right direction by a plurality of bits, and the result obtained is used as output data.

〔作 用〕[For production]

本発明では、暗号処理の中核処理であり、通常、f関数
と呼ばれている処理について、従来のFEAL方式では
分割したデータを加算と固定ビットローテーションの直
列処理で乱数化していた部分を1分割データを可変ビッ
トローテーションと加算で並列列理し、さらに全体デー
タをローテーション処理する。これにより、従来より高
速な暗号化が可能になる。
In the present invention, regarding the core processing of cryptographic processing, which is usually called the f function, in the conventional FEAL method, divided data is converted into random numbers by serial processing of addition and fixed bit rotation, but the part is divided into one part. The data is processed in parallel using variable bit rotation and addition, and then the entire data is rotated. This enables faster encryption than before.

本発明の暗号方式を用いると、従来64ビツトであった
f関数の入力を128ビツトにすることが可能になり、
先に述べた並列化の効果とあいまって、従来技術(FE
AL−8,96Mbps)の5倍を超える暗号化処理速
度を達成することができる。
By using the encryption method of the present invention, it is possible to reduce the input of the f function from 64 bits to 128 bits,
Combined with the effect of parallelization mentioned earlier, the conventional technology (FE
It is possible to achieve an encryption processing speed that is more than five times that of AL-8 (96 Mbps).

〔実施例〕〔Example〕

以下に本発明の一実施例を説明するが、実施例では12
8ビツトブロツクの入力データを一度に処理するものと
する。また、実施例の論理的な動作を説明するために、
以下のような記法を用いる。
An embodiment of the present invention will be described below.
It is assumed that 8-bit blocks of input data are processed at once. Also, in order to explain the logical operation of the example,
Use the following notation.

■ 8ビツトをlバイトとする。■ 8 bits are 1 byte.

■ 8および16バイトデータの左からj千1番目の4
バイトデータを右下の添字jで表す。
■ 4 of the j1,000th from the left of 8 and 16 byte data
The byte data is represented by the subscript j at the bottom right.

■ 32バイトデータのj+1番目の8バイトデータを
右上の添字jで表す。
■ The j+1st 8-byte data of the 32-byte data is represented by the subscript j at the upper right.

■ 4および8バイトデータのj千1番目の1バイトデ
ータを左下の添字jで表す。
■ The j1,000th 1-byte data of the 4- and 8-byte data is represented by the subscript j at the lower left.

■ 0はビット対応の排他的論理和(XOR)を表す。■ 0 represents bit-based exclusive OR (XOR).

■ 等号は右辺から左辺への代入を表す。■ The equal sign represents assignment from the right side to the left side.

■ +は、2つの1バイトデータを加算して28で割っ
た余りを算出する。
■ + calculates the remainder when two 1-byte data are added and divided by 28.

■ M[m]は配列Mのm+1番目のデータを示す。■ M[m] indicates the m+1st data of array M.

■ M[m]  [nlは2次元配列Mのm+1行n+
1列目のデータを示す、また、この場合、M[m]は2
次元配列Mのm+1行目のデータを示す。
■ M[m] [nl is m+1 row n+ of two-dimensional array M
Indicates the data in the first column, and in this case, M[m] is 2
The data of the m+1th row of the dimensional array M is shown.

第1図は本発明による暗号製電の一実施例の概略ブロッ
ク図である。鍵処理部10は128ビツトの秘101K
を処理して、256ビツトの中間軸KSを算出する。中
間軸KSは、各々64ビツト(8バイト)の並列データ
KS’、KS”、KS”KS”からなる、また、健処理
部10では3〜lOの整数値をとるビット回転数を要素
とする4×4の配列Rを算出する。暗号処理は、この鍵
処理終了後に行われる。暗号化処理部20では、256
ビツトの中間軸KSと配列Rを用い、128ビツトの平
文データYを並列処理にて暗号化し、暗号文Y′を得る
FIG. 1 is a schematic block diagram of an embodiment of cryptographic power production according to the present invention. The key processing unit 10 has 128 bits of secret 101K.
is processed to calculate a 256-bit intermediate axis KS. The intermediate axis KS consists of parallel data KS', KS", and KS"KS" of 64 bits (8 bytes) each, and in the health processing section 10, the element is the bit rotation number that takes an integer value from 3 to IO. A 4×4 array R is calculated. Encryption processing is performed after this key processing is completed. In the encryption processing unit 20, 256
Using the bit intermediate axis KS and array R, 128-bit plaintext data Y is encrypted in parallel processing to obtain ciphertext Y'.

第2図及び第3図に鍵処理部10、暗号化処理部20の
詳細構成を示す、また、第4図に第3@の暗号化処理部
に対応する復号処理部を示す、こコテ、FO,HFL、
HFRおよびFXは各処理部の構成要素であり、以下で
は、これらを関数として扱う、これらの関数うち、FO
,HFL、HFRはインボリューション(文献A、G。
2 and 3 show the detailed configurations of the key processing section 10 and the encryption processing section 20, and FIG. 4 shows the decryption processing section corresponding to the encryption processing section 3@. FO, HFL,
HFR and FX are constituent elements of each processing unit, and below, they will be treated as functions. Among these functions, FO
, HFL, and HFR are involutions (References A and G.

Kohnheim、  Cryptography :
 “A  primer、clause6.6  IN
VOLUTIONS、pp、236−240”#  A
  Wiley  I nterscience  P
 ublication 。
Kohnheim, Cryptography:
“A primer, clause6.6 IN
VOLUTIONS, pp, 236-240”#A
Wiley Interscience P
publication.

John  Wiley  &  5ons、New 
 York  (Jan、1986))である、インボ
リューションは、f (f(x))=x、すなわち、2
度適用するともとに戻る関数である。具なるインボリュ
ーションの連続適用により暗号化を行う場合、暗号化と
逆の順序にインボリューシ1ンを適用することにより復
号化することができる。HFL、HFRはROL。
John Wiley & 5ons, New
York (Jan, 1986)), the involution is f (f(x))=x, i.e. 2
It is a function that returns to the original state after being applied once. When encryption is performed by successively applying certain involutions, decryption can be performed by applying involutions in the reverse order of encryption. HFL and HFR are ROL.

RORと示すビットローテーション関数、ADD8と示
す1バイト毎の加算関数、およびBRORと示すバイト
ローテーション関数を使用する。
A bit rotation function denoted ROR, a byte-by-byte addition function denoted ADD8, and a byte rotation function denoted BROR are used.

以下、はじめに各関数の仕様を示し、次に第2図乃至第
4図の動作を説明する。
Hereinafter, the specifications of each function will be shown first, and then the operations shown in FIGS. 2 to 4 will be explained.

(1) FO(X) 引き数: XはX、からX、で構成される。(1) FO(X) argument: X is composed of X, to X.

処理: FOは第51!1に示すように、以下の処理を行う。process: The FO performs the following processing as shown in No. 51!1.

X、= X、  Φ X2 X、= X、  Φ X。X, = X, Φ X2 X, = X, Φ X.

(2)HFL  (X、A、B、N) 引き数: XはxoからX、で構成される。(2) HFL (X, A, B, N) argument: X is composed of xo to X.

Aは八〇とA、で構成される。A is composed of 80 and A.

BはB、とB、で構成される。B is composed of B and B.

Nは3〜10の整数値をとる4つのデータからなる配列
である。
N is an array consisting of four data having integer values of 3 to 10.

処理: HFLは第6図に示すように、以下の処理を行う。process: As shown in FIG. 6, the HFL performs the following processing.

a=X、  Φ 八〇 b=x3 Φ A1 t 、 =ADD8(ROR(a、 N [0]) 、
 ROL(b、 N [11))1、=^DD8(RO
R(b、 N [2]) 、 ROL(a、 N [3
]))BROR(t) X、=t、Φ X。
a=X, Φ 80b=x3 Φ A1 t, =ADD8(ROR(a, N [0]),
ROL(b, N[11))1,=^DD8(RO
R(b, N [2]), ROL(a, N [3]
]))BROR(t)X,=t,ΦX.

X1=t工Φ x8 B、=X。X1=t work Φ x8 B,=X.

B、=X。B,=X.

(3)HFR(X) 引き数: XはX、からX、で構成される。(3) HFR(X) argument: X is composed of X, to X.

処理: HFRは第7図に示すように、以下の処理を行う。process: As shown in FIG. 7, HFR performs the following processing.

t、=ADD8((ROR(X、、3)、 ROL(X
、、3))J=ムDD8((ROR(X、、3)、 R
OL(X、、3))BROR(t) X、=t、Φ xs X、=t1Φ X。
t,=ADD8((ROR(X,,3), ROL(X
,,3)) J=muDD8((ROR(X,,3), R
OL(X,,3))BROR(t) X,=t,Φ xs X,=t1ΦX.

(4)FX (X、R) 引き数: XはX、からX、で構成される。(4) FX (X, R) argument: X is composed of X, to X.

Rは4×4の四次元配列である。R is a 4×4 four-dimensional array.

処理: FXは第8図に示すように以下の処理を行う。process: FX performs the following processing as shown in FIG.

X、、 X、の各32ビツトデータを4ビツト毎の1〜
8傭に分割する。
Each 32-bit data of X, ,
Divide into 8 units.

各4ビツトデータの右寄り6ビツトで表されるO〜7の
データに3を加えた値をR[O][01゜R[O][1
]、・・・、R[3][3]に設定する。
The value obtained by adding 3 to the data from 0 to 7 represented by the right 6 bits of each 4-bit data is R[O][01°R[O][1
],..., R[3] Set to [3].

(5)ROL (x、n) 引き数: Xは4バイトデータである。(5) ROL (x, n) argument: X is 4-byte data.

nは3〜10の整数値をとるデータである。n is data that takes an integer value of 3 to 10.

処理: Xを左にnビット回転する。process: Rotate X to the left by n bits.

(6)ROR(X、n) 引き数: Xは4バイトデータである。(6) ROR(X, n) argument: X is 4-byte data.

nは3〜10の整数値をとるデータである。n is data that takes an integer value of 3 to 10.

処理: Xを右にnビット回転する。process: Rotate X to the right by n bits.

(7) ADD8 (x、 y) 引き数: Xおよびyは4バイトデータである。(7) ADD8 (x, y) argument: X and y are 4-byte data.

処理: ADD8は第9図に示すように、1バイト毎の加算を行
い、4バイトデータ2を返す、処理は以下の通りである
Processing: As shown in FIG. 9, the ADD 8 performs addition for each byte and returns 4-byte data 2. The processing is as follows.

。2=。x十、y □z=1x+、y+1 、z=、x+工y 3z=3x十。y+1 (8) BROR(t) 引き数: tは8バイトデータである。. 2=. x ten, y □z=1x+,y+1 , z=, x + engineering y 3z=3x10. y+1 (8) BROR(t) argument: t is 8-byte data.

処理: BRORは第10図に示すように、8バイトデータを右
方向に1バイト回転する。処理は以下の通りである。
Processing: As shown in FIG. 10, BROR rotates 8-byte data by 1 byte in the right direction. The processing is as follows.

C=。t 、1 =、 1 vt”it 、 1 =、1 s t =4 t 4t”at at:2t 、1=11 、t=c m(第2図) まず、前処理として次の処理を行う、鍵処理部のパラメ
ータとして32バイトデータ1を設定する。1°および
11にはシステム固有の値を設定し、13および13に
はに0〜Kaをこの順に設定する。
C=. t , 1 =, 1 vt"it , 1 =, 1 s t = 4 t 4t"at: 2t , 1 = 11, t = cm (Figure 2) First, the following processing is performed as preprocessing. Set 32-byte data 1 as a parameter for the key processing unit. 1° and 11 are set to system-specific values, and 13 and 13 are set to 0 to Ka in this order.

Rの要素(R[O][O]〜R[3][3] )をすべ
て6に初期化する。その後、以下の手順で健処理を行う
All elements of R (R[O][O] to R[3][3]) are initialized to 6. After that, perform the health treatment using the following steps.

FO(K) FHL (K、1’、KS’、R[O] )HFR(K
) HFL (K、1’、KS”、R[1] )FO(K) HFL (K、1”、KS”、R[2] )HFR(K
) HFL (K、1”、KS”、R[3] )FO(K) FX (K、R) 暗号化処理(第3図) Zを64ビツトのワークエリアとして、以下の手順で暗
号化を行う。ここで、FO(Y)が暗号文Y′に対応す
る。
FO(K) FHL (K, 1', KS', R[O] ) HFR(K
) HFL (K, 1', KS", R[1] ) FO (K) HFL (K, 1", KS", R[2] ) HFR (K
) HFL (K, 1", KS", R[3] ) FO (K) FX (K, R) Encryption process (Figure 3) Set Z as a 64-bit work area, and perform encryption using the following steps. conduct. Here, FO(Y) corresponds to ciphertext Y'.

FO(Y) HFL (Y、KS’、Z、R[01)HFR(Y) HFL  (Y、KS1、Z、R[1コ)FO(Y) HFL (Y、KS”、Z、R[2] )HFR(Y) HFL (Y、KS”、Z、R[3] )FO(Y) 東i五皇(第4図) 復号処理は鍵処理終了後に行われる。復号処理は、暗号
文Y′に対して、暗号化処理と逆順にインボリューショ
ンを適用し、256ビツトの中間@KSを用いて工28
ビットの平文データYを復号する。処理は、Zを64ビ
ツトのワークエリアとして、以下の手順で行う。
FO(Y) HFL (Y, KS', Z, R[01) HFR(Y) HFL (Y, KS1, Z, R[1 piece) FO(Y) HFL (Y, KS'', Z, R[2 ] ) HFR (Y) HFL (Y, KS”, Z, R [3] ) FO (Y) East Five Emperors (Figure 4) Decryption processing is performed after the key processing is completed. In the decryption process, involution is applied to the ciphertext Y' in the reverse order of the encryption process, and the process is performed using the 256-bit intermediate @KS.
Decrypt the bit plaintext data Y. The processing is performed using the following procedure with Z as a 64-bit work area.

FO(Y) HFL  (Y、KS”、Z、R[3] )HFR(Y
) HFL  (Y、KS”、Z、R[2コ )FO(Y) HFL  (Y、KS1、Z、R[1コ)HFR(Y) HFL  (Y、KS’、Z、R[O] )FO(Y) 以下に、本実施例の性能を、データランダム化性能、構
造強度ならびに速度性能に分けて評価する。
FO(Y) HFL (Y, KS", Z, R[3] ) HFR(Y
) HFL (Y, KS”, Z, R [2 pieces) FO (Y) HFL (Y, KS1, Z, R [1 piece) HFR (Y) HFL (Y, KS', Z, R [O] ) FO(Y) Below, the performance of this example will be evaluated by dividing into data randomization performance, structural strength, and speed performance.

(1)データランダム化性能 平文と暗号文の統語的性質をもとにした暗号破りに対す
る強度を把握するために、アルゴリズムのデータランダ
ム化性能を評価する。
(1) Data randomization performance The data randomization performance of the algorithm is evaluated in order to understand its strength against code breaking based on the syntactic properties of plaintext and ciphertext.

理想的に強いアルゴリズムは、平文、秘密鍵の変化にか
かわらず、暗号文のビット変化が二項分布B (n、1
/2)に従う、そこで、暗号アルゴリズムの安全性を、
平文および秘密鍵のあらゆるビット変化に対応した暗号
文のビット変化の分布がどの程度二項分布に近いかを示
す指標によって行う方法が提案されている(文献室ロ、
平野:“暗号/認証アルゴリズム強度評価指標”、信学
論、Vo1.J69−A、Halo。
An ideally strong algorithm is such that the bit changes in the ciphertext have a binomial distribution B (n, 1
/2), so the security of the cryptographic algorithm is
A method has been proposed that uses an index that indicates how closely the distribution of bit changes in ciphertext corresponding to all bit changes in plaintext and private keys is close to the binomial distribution (Reference Room B,
Hirano: “Cryptography/Authentication Algorithm Strength Evaluation Index”, IEICE Theory, Vol. 1. J69-A, Halo.

pp、1252−1259 (1986))、指標は、
平文変化、鍵変化のそれぞれについて求める。
pp. 1252-1259 (1986)), the index is
Find each plaintext change and key change.

この評価法によると、標本数4096での理想アルゴリ
ズムの二項分布への近似度、すなわち指標の理論値は、
96.5%である。
According to this evaluation method, the degree of approximation of the ideal algorithm to the binomial distribution with a sample size of 4096, that is, the theoretical value of the index is:
It is 96.5%.

第11図に、本実施例の各関数適用後の指標値の変化を
示す、第11に示すように、平文のあらゆるビット変化
の影響は、2つ目のHFRを適用し終わったところでほ
ぼ失われる。また、秘密鍵のビット変化の影響は、最初
のHERの適用で吸収される。すなわち1本実施例に対
して、平文と暗号文の統計的性質をもとにして秘密鍵を
推測する暗号破りを行うことは不可能であるといえる。
Figure 11 shows the changes in index values after applying each function in this example. As shown in Figure 11, the effects of any bit changes in the plaintext are almost completely gone after the second HFR is applied. be exposed. Furthermore, the effect of bit changes in the secret key is absorbed by the first application of HER. In other words, for this embodiment, it is impossible to break the code by guessing the secret key based on the statistical properties of the plaintext and ciphertext.

(2)構造強度 アルゴリズムの構造強度を高めるためには処理を複雑に
すればよいが、これは、高速化とのトレードオフで実施
しなければならない。
(2) In order to increase the structural strength of the structural strength algorithm, the processing may be made more complex, but this must be done in a trade-off with speeding up.

本実施例では、秘密鍵を鍵処理部によって処理したデー
タに基づいて、暗号化/復号処理部のHFL関数中のデ
ータのビット回転数を可変にしている。HFLのビット
回転数を可変にするのではなく、例えば6ビツト固定と
しても同様のデータランダム化性能が得られるが、処理
速度をできるだけ犠牲にすることなく構造強度を向上さ
せるために、この方式を採用した。
In this embodiment, the number of bit rotations of the data in the HFL function of the encryption/decryption processing section is made variable based on the data obtained by processing the secret key by the key processing section. Similar data randomization performance can be obtained by fixing the HFL bit rotation speed to, for example, 6 bits instead of making it variable, but in order to improve structural strength without sacrificing processing speed as much as possible, we decided to use this method. Adopted.

各ビット回転数は3〜10の8通りの自由度がある。4
@のHFLにそれぞれ4箇所ビット回転演算があるため
1本実施例は、81“、すなわち、2°通りの種類があ
ることになる。これにより、アルゴリズムの構造を手が
かりにした暗号破りが著しく困難になる。
Each bit rotation number has 8 degrees of freedom from 3 to 10. 4
Since there are 4 bit rotation operations in each HFL of @, there are 81 ", or 2 degrees, types in this example. This makes it extremely difficult to break the code using the structure of the algorithm as a clue. become.

(3)速度性能 本実施例の暗号化処理速度を、FEAL−8のLSIと
比較して示す。
(3) Speed performance The encryption processing speed of this embodiment is shown in comparison with the FEAL-8 LSI.

まず、本発明の主構成要件であるf関数について比較す
る。第13図にEFAL−8のf関数を示す0本発明の
実施例でこのf関数に対応するのは、HFL関数として
示した処理部である。まず、FEAL−8について説明
する。FEAL−8のf関数は第13図に示すように、
ハードウェアとしては、XOR3段および8ビツト加算
3段からなる(文献室ロ、白石、清水:“EFAL−8
アルゴリズム”、研実報。
First, a comparison will be made regarding the f function, which is the main component of the present invention. FIG. 13 shows the f-function of EFAL-8. In the embodiment of the present invention, what corresponds to this f-function is a processing section shown as an HFL function. First, FEAL-8 will be explained. The f-function of FEAL-8 is shown in Figure 13,
The hardware consists of three stages of XOR and three stages of 8-bit addition (Reference Room Ro, Shiraishi, Shimizu: “EFAL-8
Algorithm”, Research Report.

第37巻、第415号、pP、321−327(198
8))、8ビツト加算の処理時間は、XORの3倍程度
であるので、EFAL−8のf関数は、XOR換算で、
12段ということになる。これに対して、本実施例のH
FLは第6図に示すように、XOR2段、ビットローテ
ーション1段、8ビツト加算1段で構成される。
Volume 37, No. 415, pP, 321-327 (198
8)) The processing time for 8-bit addition is about three times that of XOR, so the f function of EFAL-8 is
That's 12 steps. On the other hand, in this example, H
As shown in FIG. 6, the FL is composed of two stages of XOR, one stage of bit rotation, and one stage of 8-bit addition.

このうち、ビットローテーションはXORとほぼ同等の
処理時間であるので、XOR換算で6段に相当する。こ
のように1本実施例のHFL処理s−0処理段数はFE
AL−8の半分であり。
Of these, bit rotation takes approximately the same processing time as XOR, so it corresponds to 6 stages in terms of XOR. In this way, the number of HFL processing s-0 processing stages in this embodiment is FE
It is half of AL-8.

さらに、処理するデータが2倍であるため、結果として
4倍高速であることがわかる。
Furthermore, since the data to be processed is twice as much, it can be seen that the result is four times faster.

次に全体構造を考えて、みる。FEAL−8の暗号化処
理部は第12図に示す通りである。ハードウェアでの並
列処理を考える場合、出入口にある各2段のXOR(排
他的論理和)、さらに、先に示したXOR換算12段の
f関数を8回直列に処理するので、XOR換算で合計1
00段相当程度の処理を行うことになる。これに対して
、本実施例は、XoRI段のFOが3つ、XOR換算で
6段のHFLが4つ、同様にXOR換算で5段のHFR
が2つで構成される0合計でX0R37段の処理に相当
する。FEAL−8の約3倍弱である。
Next, think about the overall structure. The encryption processing section of FEAL-8 is as shown in FIG. When considering parallel processing in hardware, the 2-stage XOR (exclusive OR) at each entrance and exit, and the 12-stage f function in XOR conversion shown earlier are processed 8 times in series, so in XOR conversion Total 1
Processing equivalent to 00 stages will be performed. On the other hand, in this embodiment, there are three FOs in the XoRI stage, four HFLs with 6 stages in XOR conversion, and 5 HFRs in XOR conversion.
A total of 0 consisting of two corresponds to processing of 37 stages of X0R. It is about 3 times weaker than FEAL-8.

ところが先に示したように1本実施例の暗号装置では、
FEAL−8の2倍の128ビツトのデータを一度に処
理できるため、5倍以上高速である。
However, as shown above, in the cryptographic device of this embodiment,
It can process 128 bits of data at once, twice as much as FEAL-8, so it is more than five times faster.

次に実際の暗号化速度について述べる。FEAL−8の
LSIはcyLos、ゲートアレイで構成されており、
クロックは12MHzである。これは。
Next, we will discuss the actual encryption speed. The FEAL-8 LSI consists of cyLos and gate array.
The clock is 12MHz. this is.

先の説明でf関数として示した部分の回路を処理単位と
しており、XORの処理が3ナノ秒程度として12段で
36ナノ秒、レジスタとのやりとりおよび余裕を考えて
設定したクロック数である。
The processing unit is the circuit of the part shown as the f function in the previous explanation, and assuming that the XOR processing takes about 3 nanoseconds, 36 nanoseconds for 12 stages is the number of clocks set in consideration of the exchange with the register and margin.

8クロツクで64ビツトブロツクデータの暗号化処理を
行っており、96Mbpsの暗号化処理速度を達成して
いる(文献H、Morita 、 M 、 S asa
oka 。
64-bit block data is encrypted in 8 clocks, achieving an encryption processing speed of 96 Mbps (References H, Morita, M, Sasa
okay.

S 、 Miyaguchi : “5ecurity
 Design for F EAL−8Enciph
erment LS I and BOARD/BOX
”、 Digest of Papers of F 
T CS −18、Po5tr 5ession、 p
p、21−24 (1988))。
S. Miyaguchi: “5 security
Design for F EAL-8 Enciph
element LS I and BOARD/BOX
”, Digest of Papers of F
TCS-18, Po5tr 5ession, p
p., 21-24 (1988)).

これに対して、本発明の実施例では、HFL処理部を処
理単位とした場合、XOR6段は18ナノ秒程度で処理
できるので、レジスタとのやりとりを考えても20MH
zのクロックは十分使える。
On the other hand, in the embodiment of the present invention, when the HFL processing unit is used as a processing unit, the 6 stages of XOR can be processed in about 18 nanoseconds, so even considering the exchange with the register,
Z's clock is usable enough.

6クロツクで128ビツトを処理する場合、暗号化処理
速度は427 Mbpsである。さらにゲート数の増加
を許す場合には、全体でX0R37段すなわち100ナ
ノ秒余りの処理を8MHzのlクロックで処理すること
が可能である。この場合の処理速度はIGbpsを超え
る。
When processing 128 bits in 6 clocks, the encryption processing speed is 427 Mbps. Furthermore, if the number of gates is allowed to increase, it is possible to process a total of 37 stages of X0R, that is, a process of over 100 nanoseconds, with one clock of 8 MHz. The processing speed in this case exceeds IGbps.

以上説明した実施例の暗号装置の構造を左右逆にしても
同じ効果が得られる。また、この実施例で説明したFO
,HFL、HFRなどの処理部の配電順序を入れ換えて
構成したバリエーションも本発明の範囲である。さらに
、これらの処理部の配置数を増減した構成も本発明の範
囲である。
The same effect can be obtained even if the structure of the cryptographic device of the embodiment described above is reversed left and right. In addition, the FO described in this example
, HFL, HFR, etc., variations in which the power distribution order of the processing units is changed are also within the scope of the present invention. Furthermore, the scope of the present invention also includes configurations in which the number of these processing units is increased or decreased.

〔発明の効果〕〔Effect of the invention〕

以上の説明から明らかな如く、本発明によれば、ハード
ウェアで高速に処理可能な暗号装置が実現できる0本発
明による暗号装置は、鍵長が例えば128ビツトである
ため、健のしらみ潰しによる暗号破りが困難である。ま
た、入力される平文と秘密鍵におけるビット変化に関係
なく暗号文が乱数化されるので、平文と暗号文の統計的
性質を用いて秘密鍵を推測する暗号破りが困難である。
As is clear from the above explanation, according to the present invention, it is possible to realize a cryptographic device that can perform high-speed processing using hardware.Since the cryptographic device according to the present invention has a key length of, for example, 128 bits, It is difficult to break the code. Furthermore, since the ciphertext is randomized regardless of bit changes in the input plaintext and secret key, it is difficult to break the code by guessing the secret key using the statistical properties of the plaintext and ciphertext.

さらに、鍵によって処理中のビット回転数を可変にして
いるため、処理の構造を利用した暗号破りを困難にして
いる。
Furthermore, the number of bit rotations during processing is made variable depending on the key, making it difficult to break the code using the processing structure.

先の実施例の暗号化速度性能は400 Mbps〜1G
bpsである。これは、DESの数10倍、FEAL−
8の約5倍の性能である。このように本発明方式は高速
であるため、LANの下位レイヤで扱う通信データや高
精細動画を含むマルチメディア情報の暗号化を可能にす
るハードウェアを汎用のCMOSゲートアレイの1チツ
プLSIで実現することができる。
The encryption speed performance of the previous example is 400 Mbps ~ 1G
bps. This is several ten times as much as DES, FEAL-
The performance is about 5 times that of 8. Since the method of the present invention is high-speed, it is possible to implement hardware that enables encryption of communication data handled in the lower layer of the LAN and multimedia information including high-definition videos using a single-chip LSI of a general-purpose CMOS gate array. can do.

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

第1図は本発明による暗号装置の一実施例の概略ブロッ
ク図、第2WIは鍵処理部の詳細構成を示す図、第3図
は暗号化処理部の詳細構成を示す図、第4図は復号処理
部の詳細構成を示す図、第5図はFO関数の処理を説明
する図、第6図はHFL関数の処理を説明する図、第7
図はHFRyR数の処理を説明する図、第8図はFX関
数の処理を説咀する図、第9図はADD8の処理を説明
する図、第10図はBRORの処理を説明する図、第1
1図は本発明の実施例におけるデータ乱数化指標の測定
結果を示す図、第12図は従来のFEAL−8暗号化処
理装置の全体構成図、第13図は第12図のf処理部の
詳細構成を示す図である。 10・・・鍵処理部。 20・・・暗号化処理部。 第2図 第5図 w!&6図 十3 十3 +3 3 第8図 十3 ψ F([0][0] −Rf7J[3J ↑3 +3 十3 + R[2]IO] 〜l’<[3]f:3コ十3 十3 ス W&12図 時が巳&遵訃 d尺項LP
FIG. 1 is a schematic block diagram of an embodiment of the encryption device according to the present invention, 2nd WI is a diagram showing the detailed configuration of the key processing section, FIG. 3 is a diagram showing the detailed configuration of the encryption processing section, and FIG. 4 is a diagram showing the detailed configuration of the encryption processing section. Figure 5 is a diagram showing the detailed configuration of the decoding processing unit; Figure 5 is a diagram explaining the processing of the FO function; Figure 6 is a diagram explaining the processing of the HFL function; Figure 7 is a diagram explaining the processing of the HFL function.
Figure 8 is a diagram explaining the processing of the HFRyR number, Figure 8 is a diagram explaining the processing of the FX function, Figure 9 is a diagram explaining the processing of ADD8, Figure 10 is a diagram explaining the processing of BROR, 1
Fig. 1 is a diagram showing the measurement results of the data randomization index in the embodiment of the present invention, Fig. 12 is an overall configuration diagram of a conventional FEAL-8 encryption processing device, and Fig. 13 is a diagram showing the f processing section of Fig. 12. FIG. 3 is a diagram showing a detailed configuration. 10...Key processing section. 20... Encryption processing unit. Figure 2 Figure 5 lol! &6 Fig. 13 13 +3 3 Fig. 8 3 13th SW & 12 Figures Time Snake & Junpai d Shakan LP

Claims (1)

【特許請求の範囲】[Claims] (1)複数ビットからなる入力平文データを、複数ビッ
トからなる秘密鍵データを処理して得た中間鍵を用いて
処理し、暗号文データを得る暗号方式において、 入力データを2つの等長データ(a、bとする)に分割
し、a、bの各データに対して、中間鍵で可変な、ある
いは定数として予めきめてある回転数だけ回転した各2
種類のデータをa1、a2、b1、b2とし、a1、a
2、b1、b2のそれぞれのデータを等長の小データに
分割し、a1およびb1に属する小データをそれぞれ並
列に加算して新たにaのデータとし、また、a2および
b2に属する小データをそれぞれ並列に加算して新たに
bのデータとし、さらに、a、bあわせたデータを複数
ビット左右いずれかの方向へ回転させて得られる結果を
出力データとすることを特徴とする暗号方式。
(1) In a cryptographic method that obtains ciphertext data by processing input plaintext data consisting of multiple bits using an intermediate key obtained by processing secret key data consisting of multiple bits, the input data is divided into two pieces of equal length data. (referred to as a, b), and each data of a and b is rotated by a variable number of rotations using an intermediate key or a predetermined number of rotations as a constant.
Let the type data be a1, a2, b1, b2, a1, a
Divide each data of 2, b1, and b2 into small data of equal length, add the small data belonging to a1 and b1 in parallel to create new data of a, and add the small data belonging to a2 and b2 in parallel. An encryption method characterized by adding each in parallel to create new data of b, and then rotating the combined data of a and b by a plurality of bits in either direction to the left or right and using the result as output data.
JP2053371A 1990-03-05 1990-03-05 Cryptographic system Pending JPH03254538A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2053371A JPH03254538A (en) 1990-03-05 1990-03-05 Cryptographic system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2053371A JPH03254538A (en) 1990-03-05 1990-03-05 Cryptographic system

Publications (1)

Publication Number Publication Date
JPH03254538A true JPH03254538A (en) 1991-11-13

Family

ID=12940955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2053371A Pending JPH03254538A (en) 1990-03-05 1990-03-05 Cryptographic system

Country Status (1)

Country Link
JP (1) JPH03254538A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100377172B1 (en) * 2000-06-13 2003-03-26 주식회사 하이닉스반도체 Key Scheduller of encryption device using data encryption standard algorithm
JP2016503195A (en) * 2013-01-11 2016-02-01 クアルコム,インコーポレイテッド Method and apparatus for a computable, large, variable and safe replacement box

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100377172B1 (en) * 2000-06-13 2003-03-26 주식회사 하이닉스반도체 Key Scheduller of encryption device using data encryption standard algorithm
JP2016503195A (en) * 2013-01-11 2016-02-01 クアルコム,インコーポレイテッド Method and apparatus for a computable, large, variable and safe replacement box
US10142099B2 (en) 2013-01-11 2018-11-27 Qualcomm Incorporated Method and apparatus for a computable, large, variable and secure substitution box

Similar Documents

Publication Publication Date Title
CA2373432C (en) Block cipher apparatus using auxiliary transformation
US5003597A (en) Method and apparatus for data encryption
CN107465501B (en) Processor and system for Advanced Encryption Standard (AES)
US8094816B2 (en) System and method for stream/block cipher with internal random states
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US20070071236A1 (en) High speed configurable cryptographic architecture
CA2302784A1 (en) Improved block cipher method
US20060023875A1 (en) Enhanced stream cipher combining function
JP2000162965A (en) Ciphering and deciphering device, and storage medium
Biham et al. Differential-linear cryptanalysis of serpent
Alabdulrazzaq et al. Performance evaluation of cryptographic algorithms: DES, 3DES, blowfish, twofish, and threefish
Amorado et al. Enhanced data encryption standard (DES) algorithm based on filtering and striding techniques
US20040120521A1 (en) Method and system for data encryption and decryption
JPH0697930A (en) Block cipher processor
Anusha et al. Analysis and comparison of symmetric key cryptographic algorithms on FPGA
JPH03254538A (en) Cryptographic system
EP1016240A1 (en) Improved block cipher method
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
Noura et al. DKEMA: GPU-based and dynamic key-dependent efficient message authentication algorithm
RU2206961C2 (en) Method for iterative block encryption of binary data
Henricksen et al. The HKC authenticated stream cipher (Ver. 1)
JPH0744375A (en) Ciphered data processor
Hassan New Approach for Modifying DES Algorithm Using 4-States Multi-keys
Tun et al. Message Security using One Time Pad and AES Hybrid Cryptography
JPH0954547A (en) Cipher device