JPS6113233B2 - - Google Patents

Info

Publication number
JPS6113233B2
JPS6113233B2 JP53114352A JP11435278A JPS6113233B2 JP S6113233 B2 JPS6113233 B2 JP S6113233B2 JP 53114352 A JP53114352 A JP 53114352A JP 11435278 A JP11435278 A JP 11435278A JP S6113233 B2 JPS6113233 B2 JP S6113233B2
Authority
JP
Japan
Prior art keywords
data
processing
bits
encryption
algorithm
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.)
Expired
Application number
JP53114352A
Other languages
Japanese (ja)
Other versions
JPS5541423A (en
Inventor
Yukio Izeki
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11435278A priority Critical patent/JPS5541423A/en
Publication of JPS5541423A publication Critical patent/JPS5541423A/en
Publication of JPS6113233B2 publication Critical patent/JPS6113233B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、暗号化処理システム、特に例えばマ
イクロプログラム処理によつて暗号化処理およ
び/または復号処理を行なう暗号化処理システム
において、暗号処理および/または復号処理に当
つて必要とするコード変換操作とビツト位置置換
操作とをテーブル索引処理によつて代行させ、処
理速度を向上させた暗号化処理システムに関する
ものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an encryption processing system, particularly an encryption processing system that performs encryption processing and/or decryption processing by microprogram processing. The present invention relates to an encryption processing system that improves processing speed by performing necessary code conversion operations and bit position substitution operations using table lookup processing.

一般に積暗号法と呼ばれる暗号化(復号化)方
法には、データに対して、(i)或るビツト列を他の
ビツト列に置き換えるコード変換操作(ビツト値
を変えることを含む)と、(ii)ビツトの値を変えな
いでビツト列内での位置を置きかえるビツト位置
置換操作とを基本操作としている。そしてこの2
操作を複数回繰返すことによつて、データを暗号
化し、また暗号データを復号する。
An encryption (decryption) method generally called product cryptography involves (i) a code conversion operation (including changing the bit value) that replaces a certain bit string with another bit string, and ( ii) The basic operation is a bit position replacement operation that replaces the position within the bit string without changing the value of the bit. And this 2
By repeating the operation multiple times, data is encrypted and encrypted data is decrypted.

この種の暗号法の代表例として米国NBS発行の
FIPS46 DESが知られている。該DESは基本的に
は第1図図示の構成をとり、次の如く処理され
る。即ち、 (1) 与えられた暗号キイKOに対して副キイ演算
部1により所定の変換処理を行なつた上で1つ
の副キイK1を生成する。
A typical example of this type of cryptography is the one published by NBS in the United States.
FIPS46 DES is known. The DES basically has the configuration shown in FIG. 1, and is processed as follows. That is, (1) the sub-key calculation unit 1 performs a predetermined conversion process on the given cryptographic key KO, and then generates one sub-key K1.

(2) 一方与えられたデータD0に対してデータ準
備回路部により所定の変換処理を行なつて48
ビツトずつの2つのデータRとLとに分け、そ
の1つをデータD1とする。
(2) On the other hand, the data preparation circuit section performs a predetermined conversion process on the given data D0.
It is divided into two pieces of data R and L, one of which is data D1.

(3) 上記データD1と副キイK1とが暗号処理部
3に入力されて出力(D1*K1)を得る。即
ち、両データに対してビツト対応に排他的論理
和をとる。そして該排他的論理和によつてつく
られた48ビツトを6ビツトずつの8組のデータ
に分ける。該8組のデータは夫々S1ないしS
8と呼ばれるアルゴリズムにしたがつてコード
変換を行なつて4ビツトずつの8組のデータを
得る。その結果の計32ビツトについてPと呼ば
れるアルゴリズムによるビツト位置置換操作を
行なう。そして該位置置換操作を行なつたデー
タに対して、上記残るデータLとビツト対応に
排他的論理和をとる。
(3) The data D1 and the subkey K1 are input to the encryption processing section 3 to obtain an output (D1*K1). That is, an exclusive OR is performed on both data bitwise. Then, the 48 bits created by the exclusive OR are divided into 8 data sets of 6 bits each. The eight sets of data are S1 to S, respectively.
Code conversion is performed according to an algorithm called 8 to obtain 8 sets of data of 4 bits each. A bit position permutation operation is performed on the resulting 32 bits using an algorithm called P. Then, for the data subjected to the position replacement operation, an exclusive OR is performed with the remaining data L in a bitwise manner.

(4) 該出力データ(D1*K1)はデータ準備回
路部2に戻されて上記と同様にデータD2を得
る。
(4) The output data (D1*K1) is returned to the data preparation circuit section 2 to obtain data D2 in the same manner as above.

(5) 一方副キイ演算部1においては、上記副キイ
K1に変換をほどこした副キイK2を生成す
る。
(5) On the other hand, the sub-key calculating section 1 generates a sub-key K2 which is converted to the above-mentioned sub-key K1.

(6) 上記データD2と副キイK2とが暗号処理部
3に入力されて出力データ(D2*K2)を得
る。
(6) The data D2 and the subkey K2 are input to the encryption processing section 3 to obtain output data (D2*K2).

(7) 上記の処理を例えば16回操作し、この段階で
暗号処理部3から出力される出力データ(D1
6*K16)をもつて、暗号結果(復号結果)
のデータとして出力される。
(7) The above process is performed, for example, 16 times, and at this stage the output data (D1
6*K16), the encryption result (decryption result)
is output as data.

上記ハードウエアによつて暗号化を行なう場
合、上記副キイK1,K2,……,K16の生成
処理をデータD1,D2,……,D16の発生処
理と並行して行なうことが必要となる。上記副キ
イの生成を、図示の副キイ演算部1の如き専用ハ
ードウエアを用いることなく、ビツト処理によつ
てマイクロプログラムで実行しようとすると、非
常に多くの処理ステツプを必要とする。このため
に、副キイK1,K2,……をその都度生成して
暗号化を行なうようにすると、暗号処理に当つて
上記副キイ生成のための処理時間が大となり、暗
号処理時間が大幅に大となる。
When encryption is performed by the hardware, it is necessary to perform the generation process of the subkeys K1, K2, . . . , K16 in parallel with the generation process of the data D1, D2, . If the generation of the above-mentioned sub-keys were to be executed by a microprogram by bit processing without using dedicated hardware such as the sub-key calculating section 1 shown in the figure, a very large number of processing steps would be required. For this reason, if subkeys K1, K2, etc. are generated each time for encryption, the processing time for generating the subkeys will be large, and the encryption processing time will be significantly increased. Becomes large.

また、上記暗号処理部におけるビツトに対応し
たコード変換とビツト位置置換とに多くの処理ス
テツプを必要とする。
In addition, many processing steps are required for code conversion and bit position replacement in the cryptographic processing section corresponding to the bits.

本発明は、上記の点特にコード変換とビツト位
置置換とを効率よく実行することによつて処理速
度を向上することを目的としている。そして、そ
のため本発明の暗号化処理システムは指定された
データに対して指定された暗号キイにもとづいて
生成された副キイを作用せしめて暗号処理およ
び/または復号処理を行ない、該暗号処理およ
び/または復号処理に当つて予め定められたコー
ド変換操作と予め定められたビツト位置置換操作
とを含む処理が行なわれる暗号化処理システムに
おいて、上記コード変換操作と上記ビツト位置置
換操作とに対応した情報変換テーブルをもうけ、
該情報変換テーブルは上記データと上記副キイと
の論理処理を行なつた結果の論理処理データの関
数で与えられるアドレス情報によつてアクセスさ
れ、当該情報変換テーブルの当該アドレス位置の
内容が上記データに対して上記コード変換操作を
行なつた後に上記ビツト位置置換操作を行なつた
結果に対応するよう構成されることを特徴として
いる。
An object of the present invention is to improve processing speed by efficiently executing the above points, particularly code conversion and bit position substitution. Therefore, the encryption processing system of the present invention performs encryption processing and/or decryption processing by applying a subkey generated based on a specified encryption key to specified data, and performs encryption processing and/or decryption processing on specified data. Or, in an encryption processing system in which a process including a predetermined code conversion operation and a predetermined bit position substitution operation is performed in the decryption process, information corresponding to the code conversion operation and the bit position substitution operation. Create a conversion table,
The information conversion table is accessed by address information given by a function of logical processing data resulting from logical processing of the above data and the subkey, and the contents of the address position of the information conversion table are changed to the above data. It is characterized in that it is configured to correspond to the result of performing the above-mentioned bit position substitution operation after performing the above-mentioned code conversion operation on the data.

以下図面を参照しつつ説明する。 This will be explained below with reference to the drawings.

第2図は本発明に用いる暗号(復号)処理命令
の一実施例命令フオーマツト、第3図は本願にい
うパラメータのデータ・フオーマツトの一実施
例,第4図は本発明の暗号化処理システムの一実
施例構成、第5図は本発明の処理を説明する一実
施例フローチヤート,第6図は第5図に示す「暗
号/復号処理」部分における処理を具体的に表わ
したフローチヤート,第7図はDESにおけるS
1アルゴリズムによるコード変換を説明する説明
図、第8図はDESにおけるPアルゴリズムによ
るビツト位置置換を説明する説明図、第9図は
DESにおけるEアルゴリズムによるビツト拡張
を説明する説明図、第10図は本発明に用いる情
報変換テーブルのうち上記S1対応テーブルを説
明する説明図を示す。
FIG. 2 shows an example instruction format of the encryption (decryption) processing instruction used in the present invention, FIG. 3 shows an example of the data format of the parameters referred to in the present application, and FIG. FIG. 5 is a flowchart of an embodiment of the present invention, and FIG. Figure 7 shows S in DES.
Figure 8 is an explanatory diagram explaining code conversion using the P algorithm in DES. Figure 9 is an explanatory diagram explaining bit position substitution using the P algorithm in DES.
FIG. 10 is an explanatory diagram illustrating bit expansion using the E algorithm in DES. FIG. 10 is an explanatory diagram illustrating the S1 correspondence table among the information conversion tables used in the present invention.

本発明の場合、暗号処理に先立つて第3図図示
の如きパラメータ4が用意され、該パラメータ4
には、(i)暗号処理に使用する暗号キイK0、(ii)暗
号処理の対象とされるデータが格納されているア
ドレス情報(先頭アドレス)、(iii)暗号処理を行な
うのか復号処理を行なうかの指示情報、(iv)暗号処
理の対象とされるデータのデータ長情報がセツト
される。そして、暗号(復号)処理に当つて、第
2図図示の如き処理命令5中に与えられる「パラ
メータ先頭アドレス」パート6の内容により、第
3図図示のパラメータ4がアクセスされる。
In the case of the present invention, a parameter 4 as shown in FIG. 3 is prepared prior to encryption processing, and the parameter 4 is
(i) Encryption key K0 used for encryption processing, (ii) Address information (starting address) where the data subject to encryption processing is stored, (iii) Information on whether to perform encryption processing or decryption processing. (iv) data length information of the data to be cryptographically processed. In the encryption (decryption) process, the parameter 4 shown in FIG. 3 is accessed based on the contents of the "parameter start address" part 6 given in the processing command 5 shown in FIG.

第4図は本発明の暗号化処理システムの一実施
例構成を示し、図中の符号4はパラメータ(又は
パラメータ格納領域)、5は処理命令(又は命令
格納領域)、6はパラメータ先頭アドレス・パー
ト、7は記憶装置、8はデータ処理装置、9はデ
ータ格納領域、10は制御記憶部ででマイクロ命
令が格納されているもの、11はワーク・メモリ
部、12は副キイ格納領域、13はS1〜S8テ
ーブルを表わしている。
FIG. 4 shows the configuration of an embodiment of the encryption processing system of the present invention, in which reference numeral 4 is a parameter (or parameter storage area), 5 is a processing instruction (or instruction storage area), and 6 is a parameter start address. Part 7 is a storage device, 8 is a data processing device, 9 is a data storage area, 10 is a control storage section in which microinstructions are stored, 11 is a work memory section, 12 is a subkey storage area, 13 represents the S1 to S8 tables.

第5図図示フローチヤートを参照すると明瞭に
なる如く、次の如く処理が行なわれる。即ち、 (8) 処理命令5が読み出されてデータ処理装置8
に与えられたとき、該処理命令5中のパラメー
タ先頭アドレス・パート6の内容によつて、パ
ラメータ格納領域4の先頭アドレスA1が指示
される。
As will be clear from the flowchart shown in FIG. 5, the following processing is performed. That is, (8) the processing instruction 5 is read and the data processing device 8
When given, the contents of the parameter start address part 6 in the processing instruction 5 indicate the start address A1 of the parameter storage area 4.

(9) 該先頭アドレスA1にもとづいて、図示パラ
メータ4の内容がデータ処理装置8にフエツチ
される。
(9) Based on the start address A1, the contents of the illustrated parameter 4 are fetched to the data processing device 8.

(10) データ処理装置8は、上記パラメータ4中に
書込まれている暗号キイK0にもとづいて、副
キイK1,K2,……,K16を演算し夫々副
キイ格納領域12内にセツトする。
(10) The data processing device 8 calculates sub-keys K1, K2, .

(11) データ処理装置8は、次いでパラメータ4中
の「データ先頭アドレス」パートの内容A2に
もとづいてデータDAをフエツチする。
(11) The data processing device 8 then fetches the data DA based on the content A2 of the "data start address" part in the parameter 4.

(12) そして処理が暗号化を行なうものである場
合、副キイ格納領域12の図示アドレスA3か
ら順次アドレス(A3+DL)、アドレス(A3
+2DL),……の如く、副キイK1,K2,…
…,K16を取出すよう準備する。また処理が
復号化を行なうものである場合、副キイ格納領
域12の図示アドレスA4から、副キイK1
6,K15,……,K1を取出すよう準備す
る。
(12) If the process involves encryption, address (A3+DL), address (A3
+2DL), etc., sub keys K1, K2,...
..., prepare to take out K16. Further, if the process is decoding, the subkey K1 is input from the illustrated address A4 of the subkey storage area 12.
6.K15,..., prepare to take out K1.

(13) 処理が暗号化を行なうものである場合、上
記第1図を参照して説明した処理(3)ないし(7)と
同様に、上記フエツチしたデータDAをデータ
D1とみなしてデータD1に副キイK1を作用
せしめたデータ(D1*K1)を得る。そして
該データ(D1*K1)をデータD2として、
副キイK2を作用せしめるようにする。
(13) If the process involves encryption, the fetched data DA is regarded as data D1 and converted into data D1, similar to processes (3) to (7) explained with reference to Figure 1 above. Data (D1*K1) obtained by activating the subkey K1 is obtained. Then, the data (D1*K1) is set as data D2,
Activate the subkey K2.

(14) そして、データ(D16*K16)をもつ
て、上記データDAに対応した暗号結果のデー
タDA′とする。
(14) Then, the data (D16*K16) is set as the encrypted result data DA ' corresponding to the above data DA.

(15) データ処理装置8は、次いでデータDBを
フエツチし、同様に処理して暗号結果のデータ
B′をつくる。以下同様に処理を行ない、パラ
メータ4中の「データ長」パートで指定される
長さ分のデータに対して暗号処理を実行する
と、上記処理命令6によつて指示された処理を
終了する。なお上記データ処理装置8における
一連の処理は、図示制御記憶10に格納されて
いるマイクロプログラムによつて実行されるも
のと考えてよい。
(15) The data processing device 8 then fetches the data DB and processes it in the same way to create the encrypted result data DB '. Processing is performed in the same manner thereafter, and when the cryptographic processing is executed on the data of the length specified by the "data length" part of parameter 4, the processing instructed by the processing command 6 is completed. Note that the series of processes in the data processing device 8 may be considered to be executed by a microprogram stored in the illustrated control storage 10.

(16) 処理が復号化を行なうものである場合、上
記フエツチしたデータDAをデータD1とみな
して該データD1に副キイK16を作用せしめ
たデータ(D1*K16)を得る。そして該デ
ータ(D1*K16)をデータD2として、副
キイK15を作用せしめるようにし、データ
(D16*K1)をもつて上記データDAに対応
した復号結果のデータDA″とする。
(16) If the processing is decoding, the fetched data DA is regarded as data D1, and data (D1*K16) obtained by applying the subkey K16 to the data D1 is obtained. Then, the data (D1*K16) is set as data D2, the subkey K15 is activated, and the data (D16*K1) is set as data D A '' of the decoding result corresponding to the data DA.

(17) データ処理装置8は、次いでデータDBを
フエツチし、同様に処理して復号結果のデータ
B″をつくるようにする。
(17) The data processing device 8 then fetches the data DB and similarly processes it to create data DB' ' as a decoding result.

(18) 以下同様に復号処理を行なつてゆくが、こ
れらの処理は上記処理(15)で述べたと同様にマ
イクロプログラムによつて実行されるものと考
えてよい。
(18) The decoding process will be performed in the same manner below, but these processes can be considered to be executed by a microprogram in the same way as described in the above process (15).

上記の如く一連の処理が行なわれるが、第6図
は第5図に示す「暗号/復号処理」部分における
処理を具体的に表わしたフローチヤートを示して
いる。第1図と対応して上記DESの場合につい
て説明したと同様に、本発明の場合マイクロプロ
グラム処理によつて、 (a) データLとRとに分ける処理、 (b) 副キイKiと排他的論理和をとる処理、 (c) S1ないしS8アルゴリズムによるコード変
換、Pアルゴリズムによるビツト位置置換、E
アルゴリズムによるビツト拡張を、テーブル
(第10図)索引によつて行なう処理、 などをデータL側とR側とについて副キイK1な
いしK16を順に用いて実行する。上記(c)処理は
第4図に示すS1〜S8テーブル13を索引する
ことによつて行なうものと考えてよい。以下、S
1テーブルを例に挙げて、本発明に用いる情報変
換テーブルについて説明する。
A series of processes are performed as described above, and FIG. 6 shows a flowchart specifically representing the process in the "encryption/decryption process" portion shown in FIG. In the same manner as described above for the case of DES in conjunction with FIG. 1, in the case of the present invention, microprogram processing is used to (a) separate data into data L and R, (b) exclusive to subkey Ki. (c) Code conversion using S1 to S8 algorithms, bit position replacement using P algorithm, E
Processing such as bit expansion using an algorithm and indexing of a table (FIG. 10) is performed using subkeys K1 to K16 in order for the data L side and R side. The above process (c) can be considered to be performed by indexing the S1 to S8 tables 13 shown in FIG. Below, S
The information conversion table used in the present invention will be explained by taking one table as an example.

DESの場合、S1アルゴリズムは第7図図示
の如く行なわれる。即ち、データDiと副キイKi
とをビツト対応で排他的論理和をとつた48ビツト
が、6ビツトずつの8組のデータに分けられ、そ
の1組がS1アルゴリズムに入力される。該6ビ
ツトのデータ{d1,d2,d3,d4,d5,d6}が仮に
「101010」で与えられた場合、ビツトd6とd0とで
つくられる。{d6,d0}の値「01」によつて第7
図図示行「1」が選ばれ、ビツト{d2,d3,d4
d5}によつて第7図図示列「5」が選ばれる。図
示の場合、当該行と列とに対応する値は「2」で
あり、S1アルゴリズムによつてコード変換され
た結果は上記値「2」を2進値で表現した
「0010」とされる。
In the case of DES, the S1 algorithm is performed as shown in FIG. That is, data Di and subkey Ki
The 48 bits obtained by performing the exclusive OR on a bit-by-bit basis are divided into 8 sets of data of 6 bits each, and one set is input to the S1 algorithm. If the 6-bit data {d 1 , d 2 , d 3 , d 4 , d 5 , d 6 } is given as "101010", it is created with bits d 6 and d 0 . 7th by the value “01” of {d 6 , d 0 }
The diagram line "1" is selected and the bits {d 2 , d 3 , d 4 ,
d 5 }, column "5" shown in FIG. 7 is selected. In the illustrated case, the value corresponding to the row and column is "2", and the result of code conversion by the S1 algorithm is "0010", which is the binary representation of the value "2".

同様なコード変換が、他の7組についてもS2
アルゴリズムないしS8アルゴリズムによつて実
行され、合計32ビツト(4ビツト×8)が得られ
る。
Similar code conversion was performed for the other seven pairs at S2.
A total of 32 bits (4 bits x 8) are obtained using the S8 algorithm.

DESの場合、Pアルゴリズムは第8図図示の
如く行なわれる。即ち、上記得られた32ビツトの
データについて、入力ビツト位置「1」のビツト
値が出力ビツト位置で位置「9」に移され、入力
ビツト位置「2」のビツト値が出力ビツト位置で
位置「17」に移され,……るようビツト位置置換
操作が行なわれる。
In the case of DES, the P algorithm is performed as shown in FIG. That is, for the 32-bit data obtained above, the bit value at the input bit position "1" is moved to the output bit position "9", and the bit value at the input bit position "2" is moved to the output bit position "9". 17'', and bit position replacement operations are performed so that...

そして、DESの場合、Eアルゴリズムは第9
図図示の如く行なわれる。第8図図示のビツト位
置置換操作が行なわれた32ビツトのデータ{e1
e2,……e32}を4ビツトずつ8個のビツト群に
区分する。そして、第1のビツト群即ち上記ビツ
ト{e1,e2,e3,e4}に関して、第9図図示の如
く{e32,e1,e2,e3,e4,e6}で示す如く他のビ
ツトを利用して6ビツトに拡張する。また第3の
ビツト群即ちビツト{e9,e10,e11,e12}の場
合、第9図図示の如く{e8,e9,e10,e11,e12
e13}の6ビツトに拡張する。
And in the case of DES, the E algorithm is the 9th
This is done as shown in the figure. 32-bit data {e 1 ,
e 2 ,...e 32 } into eight bit groups of 4 bits each. Regarding the first bit group, that is, the bits {e 1 , e 2 , e 3 , e 4 }, as shown in FIG. 9, {e 32 , e 1 , e 2 , e 3 , e 4 , e 6 } Expand it to 6 bits using other bits as shown in . Further, in the case of the third group of bits, that is, the bits { e 9 , e 10 , e 11 , e 12 }, as shown in FIG .
e 13 } to 6 bits.

第10図は、本発明に用いる情報変換テーブル
のうち上記S1対応テーブルを説明する説明図を
示し、上記第7図、第8図、および第9図を参照
して説明したS1,P,Eの各アルゴリズムにし
たがつた変換を行なうものである。
FIG. 10 shows an explanatory diagram for explaining the above-mentioned S1 correspondence table among the information conversion tables used in the present invention. It performs conversion according to each algorithm.

上記第7図に対応するS1アルゴリズムをへて
得られる4ビツトは、第8図を参照すると明らか
な如く、Pアルゴリズムの出力は即ち第8図図示
入力ビツト番号としては、ビツトe1,e2,e3,e4
に相当する。このことから第9図に対応するEア
ルゴリズムにおいては、第9図中に丸印で囲つた
ビツト位置に現われる。このことから、第9図図
示のEアルゴリズムの出力である48ビツトを
{f1,f2,f3,……,f48}と考えるとき、上記丸印
で囲つたビツト位置はビツトf12,f14,f24,f26
f34,f46に対応している。即ち第7図図示のS1
アルゴリズムの出力4ビツトは上記ビツトf12
f14,f24,f26,f34,f46にのみ現われる。
The 4 bits obtained through the S1 algorithm corresponding to FIG. 7 above are, as is clear from FIG. 8, the output of the P algorithm, that is, the input bit numbers shown in FIG . , e 3 , e 4
corresponds to Therefore, in the E algorithm corresponding to FIG. 9, the bits appear at the bit positions circled in FIG. From this , when considering the 48 bits that are the output of the E algorithm shown in FIG . , f 14 , f 24 , f 26 ,
Compatible with f 34 and f 46 . That is, S1 shown in FIG.
The output 4 bits of the algorithm are the above bits f 12 ,
Appears only in f 14 , f 24 , f 26 , f 34 , and f 46 .

したがつて、本発明に用いる情報変換テーブル
のうちS1対応テーブルは次のように用意され
る。
Therefore, among the information conversion tables used in the present invention, the S1 correspondence table is prepared as follows.

即ち、第7図に示すS1アルゴリズムの入力ビ
ツトを{d1,d2,d3,d4,d5,d6}と考えた場
合、S1アルゴリズムによるコード変換結果のデ
ータを{d2′,d3′,d4′,d5′}とするとき、上記ビ
ツトf12=f14=d2′,f24=f26=d3′,f34=d4′,f46

d5′となる。このことを利用して、第10図にお
いては、上記入力ビツト{d1,d2,d3,d4,d5
d6}にもとづいて決められる値 d6×25+d5×24+d4×23+d3×22 +d2×21+d1×20 をアドレスとするアドレス位置に格納される情報
{f1,f2,……,f48}とするとき、該情報として
情報{0,0,……d2′(=f12),O,d2′(=
f12),O,……O,d3′(=f24),O,d3′(=
f26),O,……O,d4′(=f34),O,……O,
d5′(=f46),O,O}を格納するようにする。
That is , if the input bits of the S1 algorithm shown in FIG . , d 3 ′, d 4 ′, d 5 ′}, the above bits f 12 = f 14 = d 2 ′, f 24 = f 26 = d 3 ′, f 34 = d 4 ′, f 46
=
d 5 ′. Taking advantage of this, in FIG. 10, the input bits {d 1 , d 2 , d 3 , d 4 , d 5 ,
d 6 } Value determined based on d 6 ×2 5 + d 5 × 2 4 + d 4 × 2 3 + d 3 × 2 2 + d 2 × 2 1 + d 1 × 2 Information stored at the address position with 0 as the address When {f 1 , f 2 , ..., f 48 }, the information is {0, 0, ... d 2 ′ (= f 12 ), O, d 2 ′ (=
f 12 ), O, ... O, d 3 ′ (= f 24 ), O, d 3 ′ (=
f 26 ), O, ... O, d 4 ′ (= f 34 ), O, ... O,
d 5 '(=f 46 ), O, O}.

即ち、例えば第7図図示S1アルゴリズムに入
力される入力ビツト{d1,d2,d3,d4,d5,d6
が「101010」であるとき、第10図に対応する番
地即ち 1×24+1×22+1×20 で与えられる「21」番地に、情報として{0000,
0000,0000,0000,0000,0000,0000,0000,
0100,0000,0000,0000}を格納するようにす
る。上記入力ビツトが異なる値をもつ場合も容易
に類推されよう。
That is, for example, the input bits {d 1 , d 2 , d 3 , d 4 , d 5 , d 6 } input to the S1 algorithm shown in FIG.
is " 101010 ", the information is { 0000 ,
0000, 0000, 0000, 0000, 0000, 0000, 0000,
0100, 0000, 0000, 0000}. It can be easily inferred that the above input bits have different values.

勿論、本発明の場合、上述のDESにおけるS
2アルゴリズムないしS8アルゴリズムに対応し
て、夫々第10図と同様なテーブルが用意される
ことは言うまでもない。
Of course, in the case of the present invention, S in the above-mentioned DES
It goes without saying that tables similar to those shown in FIG. 10 are prepared corresponding to the S2 algorithm to the S8 algorithm, respectively.

そして、DESの場合における第9図に対応す
るEアルゴリズムの出力であるデータ{f1,f2
……f48}は、上記第10図に示す如きS1テー
ブルの出力(48ビツト)、S2テーブルの出力
(48ビツト),……S8テーブルの出力(48ビツ
ト)について、各ビツト対応に論理和をとるよう
にされる。該ビツト対応の論理和によつて正しい
出力が得られる理由は、次のように考えることに
よつて容易に理解されよう。即ち、ビツトf12
f14,f24,f26,f34,f46についてはS1テーブルの
出力のみが論理「0」以外の値をとることがで
き、S2ないしS8テーブルからの出力は当該ビ
ツトにおいてすべて論理「0」となることから容
易に理解されよう。
Then, the data {f 1 , f 2 , which is the output of the E algorithm corresponding to FIG. 9 in the case of DES
...f 48 } is the logical OR for each bit of the output of the S1 table (48 bits), the output of the S2 table (48 bits), and the output of the S8 table (48 bits) as shown in Fig. 10 above. It is made to take. The reason why a correct output can be obtained by the logical sum of the bits can be easily understood by considering the following. That is, bit f 12 ,
Regarding f 14 , f 24 , f 26 , f 34 , and f 46 , only the output of the S1 table can take a value other than logic "0", and the outputs from the S2 to S8 tables are all logic "0" at the corresponding bit. It can be easily understood from this.

以上説明した如く、本発明によれば上記DES
の場合におけるS1ないしS8アルゴリズム、P
アルゴリズム、Eアルゴリズムに相当する処理
を、S1テーブルないしS8テーブルを索引する
ことによつて一挙に行なうことができる。このた
め、本発明の場合の如くプログラム処理によつて
暗号(復号)処理を実行する場合に、処理ステツ
プ数が大幅に減少される。
As explained above, according to the present invention, the above DES
S1 to S8 algorithms in the case of P
The processing corresponding to the algorithm and the E algorithm can be performed all at once by indexing the S1 table to the S8 table. Therefore, when performing encryption (decryption) processing by program processing as in the case of the present invention, the number of processing steps is significantly reduced.

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

第1図はDESにしたがつた専用ハードウエア
装置の概念を説明する説明図、第2図は本発明に
用いる暗号(復号)処理命令の一実施例命令フオ
ーマツト、第3図は本願にいうパラメータのデー
タ・フオーマツトの一実施例、第4図は本発明の
暗号化処理システムの一実施例構成、第5図は本
発明の処理を説明する一実施例フローチヤート、
第6図は第5図に示す「暗号/復号処理」部分に
おける処理を具体的に表わしたフローチヤート、
第7図はDESにおけるS1アルゴリズムによる
コード変換を説明する説明図、第8図はDESに
おけるPアルゴリズムによるビツト位置置換を説
明する説明図、第9図はDESにおけるEアルゴ
リズムによるビツト拡張を説明する説明図、第1
0図は本発明に用いる情報変換テーブルのうち上
記S1対応テーブルを説明する説明図を示す。 図中、4はパラメータ格納領域、5は命令格納
領域、7は記憶装置、8はデータ処理装置、9は
データ格納領域、10は制御記憶部、12は副キ
イ格納領域、13はS1〜S8テーブル格納領域
を表わす。
Fig. 1 is an explanatory diagram illustrating the concept of a dedicated hardware device according to DES, Fig. 2 is an example instruction format of an encryption (decryption) processing instruction used in the present invention, and Fig. 3 is a parameter referred to in the present application. FIG. 4 is a configuration of an embodiment of the encryption processing system of the present invention, FIG. 5 is a flowchart of an embodiment explaining the processing of the present invention,
FIG. 6 is a flowchart specifically showing the processing in the "encryption/decryption processing" part shown in FIG.
Fig. 7 is an explanatory diagram for explaining code conversion using the S1 algorithm in DES, Fig. 8 is an explanatory diagram for explaining bit position substitution using the P algorithm in DES, and Fig. 9 is an explanatory diagram for explaining bit extension using the E algorithm in DES. Figure, 1st
FIG. 0 shows an explanatory diagram for explaining the above-mentioned S1 correspondence table among the information conversion tables used in the present invention. In the figure, 4 is a parameter storage area, 5 is an instruction storage area, 7 is a storage device, 8 is a data processing device, 9 is a data storage area, 10 is a control storage unit, 12 is a subkey storage area, 13 is S1 to S8 Represents the table storage area.

Claims (1)

【特許請求の範囲】 1 指定されたデータに対して指定された暗号キ
イにもとづいて生成された副キイを作用せしめて
暗号処理および/または復号処理を行ない、該暗
号処理および/または復号処理に当つて予め定め
られたコード変換操作と予め定められたビツト位
置置換操作とを含む処理が行なわれる暗号化処理
システムにおいて、上記コード変換操作と上記ビ
ツト位置置換操作とに対応した情報変換テーブル
をもうけ、該情報変換テーブルは上記データと上
記副キイとの論理処理を行なつた結果の論理処理
データの関数で与えられるアドレス情報によつて
アクセスされ、当該情報変換テーブルの当該アド
レス位置の内容が上記データに対して上記コード
変換操作を行なつた後に上記ビツト位置置換操作
を行なつた結果に対応するよう構成されることを
特徴とする暗号化処理システム。 2 上記情報変換テーブルは複数個のテーブルに
より構成され、該各テーブルからの読出し出力が
ビツト対応に論理処理されて全体の1つのデータ
が形成されることを特徴とする特許請求の範囲第
1項記載の暗号化処理システム。
[Scope of Claims] 1. Performs encryption processing and/or decryption processing by applying a subkey generated based on a specified encryption key to specified data, and performs encryption processing and/or decryption processing on specified data. In an encryption processing system in which a process including a predetermined code conversion operation and a predetermined bit position replacement operation is performed, an information conversion table corresponding to the code conversion operation and the bit position replacement operation is created. , the information conversion table is accessed by address information given by a function of logical processing data as a result of logical processing of the above data and the subkey, and the contents of the address position of the information conversion table are An encryption processing system characterized in that it is configured to correspond to the result of performing the bit position substitution operation on data after performing the code conversion operation on the data. 2. Claim 1, wherein the information conversion table is composed of a plurality of tables, and the read output from each table is logically processed in correspondence with bits to form a single piece of data. Described cryptographic processing system.
JP11435278A 1978-09-18 1978-09-18 Encipherment treatment system Granted JPS5541423A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11435278A JPS5541423A (en) 1978-09-18 1978-09-18 Encipherment treatment system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11435278A JPS5541423A (en) 1978-09-18 1978-09-18 Encipherment treatment system

Publications (2)

Publication Number Publication Date
JPS5541423A JPS5541423A (en) 1980-03-24
JPS6113233B2 true JPS6113233B2 (en) 1986-04-12

Family

ID=14635587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11435278A Granted JPS5541423A (en) 1978-09-18 1978-09-18 Encipherment treatment system

Country Status (1)

Country Link
JP (1) JPS5541423A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142311A (en) * 1991-07-08 1992-08-25 Polaroid Corporation Film assemblage with pre-exposed film and method for forming the same
JPH06204999A (en) * 1993-01-07 1994-07-22 Nippon Signal Co Ltd:The Data transmitter/receiver

Also Published As

Publication number Publication date
JPS5541423A (en) 1980-03-24

Similar Documents

Publication Publication Date Title
AU767323B2 (en) Block encryption device using auxiliary conversion
EP1271839B1 (en) AES Encryption circuit
JPH0723984B2 (en) Recursive key inventory encryption device
KR20020006475A (en) Encryption device, decryption device, expanded key generating device, expanded key generating method and recording medium
JP3824121B2 (en) Method and apparatus for decrypting encrypted data
JPS6113232B2 (en)
CN112564890A (en) Method and device for accelerating SM4 algorithm, processor and electronic equipment
JP2950485B2 (en) Stream cipher processor
JPS6113233B2 (en)
JP4120193B2 (en) Encryption / decryption circuit
JPH0697930A (en) Block cipher processor
JP5113833B2 (en) ENCRYPTION METHOD AND ENCRYPTION APPARATUS FOR IMPROVING OPERATION PERFORMANCE OF A CENTRAL PROCESSOR
JP5435845B2 (en) Signal processing device
JPH07261662A (en) Cipher operation circuit
JP2000075785A (en) High-speed cipher processing circuit and processing method
JP4644053B2 (en) Encryption apparatus and method, decryption apparatus and method
JPH09251267A (en) Encryption device and encryption method
JPH10153954A (en) Ciphering device
JPS59167147A (en) Ciphering device
KR102282363B1 (en) Bit-serial hight operation apparatus and its method, computer-readable recording medium and computer program having program language for the same
JP3277894B2 (en) Information processing apparatus and code generation method
JPS62213442A (en) Data protecting device
JP3494619B2 (en) Reverse byte sequence cyclic shift device and program recording medium therefor
JP2002091295A (en) Arithmetic unit combining feistel structure and spn structure and arithmetic method
JP3492988B2 (en) Data conversion device and program recording medium thereof