JP3012732B2 - ブロック暗号処理装置 - Google Patents
ブロック暗号処理装置Info
- Publication number
- JP3012732B2 JP3012732B2 JP4033663A JP3366392A JP3012732B2 JP 3012732 B2 JP3012732 B2 JP 3012732B2 JP 4033663 A JP4033663 A JP 4033663A JP 3366392 A JP3366392 A JP 3366392A JP 3012732 B2 JP3012732 B2 JP 3012732B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- key
- output
- bit string
- section
- 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 - Lifetime
Links
Description
良したいわゆるFEAL暗号による暗号化及び復号化処
理を行う暗号装置に関する。
(Fast Data Encipherment Algorithm)暗号は、ブロック
暗号の有力な1種としてよく知られている(例えば辻
井、笠原編著、「暗号と情報セキュリティ」、1990年、
昭晃堂刊、pp.43-49)。
6に示すように構成される。即ち、64ビット長のブロッ
クを、64ビット長の鍵で暗号化及び復号化するものであ
って、図5(a)に示すデータランダム化部と、図6の鍵
生成部とからなる。
ータランダム化部では、先ず平文入力と鍵から生成する
ビット列KAとの排他的論理和をとり、結果の64ビットブ
ロックを32ビットづつの左右ビット列に2分し、左ビッ
ト列を左入力とし、左ビット列と右ビット列との排他的
論理和を右入力として、初段のインボリューション処理
部に入れる。
って示す)は8段あり、順次各段のインボリューション
処理部の左出力を次段の該右入力とし、右出力を左入力
とするように接続される。
(図にfと表示)を有し、後述の鍵生成部で生成する16
ビットの中間鍵K0〜K7の1つと右入力とを入力として関
数部が生成するビット列と、左入力との排他的論理和を
左出力とし、右入力をそのまま右出力とする。
右入力を8ビットづつの4バイトに分けて、そのバイト
又はそのバイトと中間鍵を2分したバイトとの排他的論
理和による混ぜ合わせをしたバイトを4個のSボックス
(図のS0、S1)の一方の入力とする。
のSボックスの出力を、もう一方の入力とするように相
互に接続され、2入力について256 を法とする加算(図
のS0とS1で若干異なる)を行い、その結果を2ビット左
循環シフトして出力し、4個のSボックスの各バイト出
力を並べた32ビットが関数部の出力となる。
ション処理部から出力される左出力を左ビット列とし、
左出力と右出力との排他的論理和を右ビット列とする64
ビットと、鍵から生成するビット列KBとの排他的論理和
をとったものを暗号文の出力とする。
と同じ鍵を使用して前記と同様の操作を行えばよいが、
その際、鍵から生成するKA、K0〜K7、KBを、暗号化時と
逆の順序で適用する。
ンダム化部と同段数の鍵処理部(図に破線で囲んで示
す)を有し、64ビットの鍵を等しい長さの左ビット列及
び右ビット列に2等分して左及び右入力とし、前記デー
タランダム化部と類似の操作により、各関数部(図にfK
と表示)の出力を左右に2分して、各16ビットの中間鍵
2個を生成する。関数部fKの内容もデータランダム化部
と同様である。
部で生成される中間鍵をK0、K1、K2、K3〜K14、K15とし
て、K0〜K7はそのまま前記の中間鍵K0〜K7とし、K8〜K
11を並べた64ビットをKAとし、K12〜K15を並べた64ビッ
トをKBとして、データランダム化部に供給する。
の秘匿性を強化した暗号処理を行うブロック暗号処理装
置を目的とする。
の構成を示すブロック図である。図1はブロック暗号処
理装置のデータランダム化部、図2は鍵生成部の構成で
あって、所定長のビット列からなる入力ブロックを、該
ビット長のビット列からなる所与の鍵に基づいて、該入
力ブロックと同長の出力ブロックに変換する装置であっ
て、データランダム化部1と、鍵生成部2とを有する。
と、非線形関数部4と、逆初期転置部5とを有する。初
期転置部3は、該入力ブロックを所定の区間に分割し、
該鍵の各該区間に対応するように定める位置の各ビット
列の値を、該入力ブロック内の区間位置アドレスとし、
各該区間のビット列を対応する該区間位置アドレスによ
って定まる区間と所定の位置関係を有する区間に順次移
動して、移動した結果のブロックを非線形関数部4に渡
し、該移動の前後の該区間相互間の対応を示す情報を逆
初期転置部5に渡すものである。
ション処理部6を有し、初期転置部3から受け取る該ブ
ロックを等しい長さの左ビット列及び右ビット列に2等
分し、該左ビット列を左入力Lとし、該左ビット列と該
右ビット列との排他的論理和を右入力Rとして、第1段
のインボリューション処理部6に入力し、順次各段のイ
ンボリューション処理部6の左出力を次段の右入力Rと
し、右出力を左入力Lとして、最終段の該左出力と、該
左出力と該右出力との排他的論理和とを結合したビット
列のブロックを逆初期転置部5に渡すものである。
7を有し、鍵生成部2が生成する中間鍵の各所定の1つ
と右入力Rとを入力として関数部7が生成するビット列
と、左入力Lとの排他的論理和を該左出力とし、右入力
Rを該右出力とするものである。
し、該中間鍵の各該区間に対応するように定める位置の
各ビット列の値を、該右入力内の区間位置アドレスと
し、各該区間のビット列を対応する該区間位置アドレス
によって定まる区間と所定の位置関係を有する区間に順
次移動して、移動した結果のビット列について所定の変
換を実行するものである。
け取る該ブロックについて、初期転置部3から受け取る
該区間相互間の対応情報に従って、初期転置部3の行っ
た該区間間の移動と逆の移動を行ったブロックを、該出
力ブロックとして出力するものである。
の鍵処理部8を有し、該鍵を等しい長さの左ビット列及
び右ビット列に2等分し、該左ビット列を左鍵入力KLと
し、該左ビット列と該右ビット列との排他的論理和を右
鍵入力KRとして、第1段の鍵処理部8に入力し、順次各
段の鍵処理部8の左鍵出力を次段の右鍵入力KRとし、右
鍵出力を左鍵入力KLとして、各該段の該左鍵出力を各該
中間鍵として非線形関数部4に渡すものである。
の初期ベクトルと右鍵入力KRとを入力として鍵関数部9
が生成するビット列と、左鍵入力KLとの排他的論理和を
該左鍵出力とし、右鍵入力KRを該右鍵出力とするもので
ある。
分割し、該初期ベクトルの各該区間に対応するように定
める位置の各ビット列の値を、右鍵入力KR内の区間位置
アドレスとし、各該区間のビット列を対応する該区間位
置アドレスによって定まる区間と所定の位置関係を有す
る区間に順次移動して、移動した結果のビット列につい
て所定の変換を実行するものである。
前記区間の個数をNとして、2N−1個の関数ボックス
を有し、前記中間鍵に基づいて移動した結果の前記ビッ
ト列について、第1の該関数ボックスに第1の該区間の
ビット列と第2の該区間のビット列とを入力する。
ックスに第i+1の該区間のビット列と第i−1の該関
数ボックスの出力とを入力し、第Nの該関数ボックスに
該第1の区間のビット列と第N−1の該関数ボックスの
出力とを入力する。
関数ボックスに第j−Nの該関数ボックスの出力と第j
−1の該関数ボックスの出力とを入力し、該第Nから第
2N−1までの各関数ボックスの出力を出力ビット列と
する。
ト幅の2入力について所定の演算を行い、同じビット幅
の1出力を生成するものとする。又、第3の発明では、
前記各鍵関数部9を第2の発明の各関数部7と同一の構
成とする。
L暗号における、データランダム化部及び関数処理にお
いて、FEAL暗号のように鍵又は中間鍵による単なる
排他的論理和を行うのでなく、鍵及び中間鍵の値をアド
レスとするビット列の転置により、鍵に依存する転置処
理を行うことによって、第2、第3の発明におけるよう
な関数ボックスのらせん構造接続における、見掛け上の
内部構造変換が行われ、秘匿性を向上する。
し、64ビットのデータブロックを64ビットの鍵で処理す
るとして、両者を8ビット区間の8バイトに分割し、鍵
の各バイトの下位3ビットを区間位置を示すアドレスと
して、そのバイトに対応するデータブロックのバイト
を、アドレスの指示する区間へ移動し、その際移動先が
既に埋められている場合には、例えば順次アドレスを1
づつ進めて空いている位置へ移動するものとする。
御情報を初期値に設定して、左のバイトから処理するも
のとし、処理ステップ11でそのバイト位置の鍵の下位3
ビットを取り出す。
移動先が空きかを、後に逆初期転置部5に渡す移動記録
を見て識別し、もし既にその位置に移動元のバイトの位
置が記録されていれば、処理ステップ13でアドレスを+
1して、処理ステップ12を繰り返す。
記録の、そのアドレスで指示する欄に、移動元のバイト
位置を記録し、処理ステップ15でデータのバイトを、移
動先のバイト位置へ複写する。
8回行うことにり、データブロックの全バイトの転置を
終わると、処理ステップ17で移動記録を逆初期転置部5
に渡して処理を終わる。
関数部7、及び各鍵処理部8の鍵関数部9の構成例であ
り、32ビットのデータの右入力R、又は鍵の右鍵入力KR
を入力データとし、32ビットの中間鍵又は初期ベクトル
とを入力鍵として、以下のようにして32ビットの出力デ
ータを生成する。
による転置を行う。この転置処理は32ビットデータを4
分割した8ビットの区間のバイトについて、前記図3に
より説明したと同様の処理によるものとする。
f7ボックスをらせん構造をなすように接続した変換機構
で変換される。即ち、転置結果の入力データの各バイト
を、f1〜f4ボックスに入力し、図に示すもう一方の入力
と演算し、その出力をf5〜f7ボックスに入力し、f4〜f7
ボックスの出力をつないだ32ビットを出力とする。
せん状変換機構の内部構造を、入力データに対して見掛
け上変化させることができる。f1〜f7ボックスの演算
は、例えば256 を法とする加算と、2ビット左循環シフ
トとする。
鍵を使用し、中間鍵の適用を逆の順序にすることによ
り、暗号化と復号化を行うことができる。なお、初期転
置部3に入力する鍵は両者とも同一になる。
の鍵で暗号化する場合の、暗号の性能例を示すデータで
あって、比較対象として前記8段のインボリューション
処理部を設けるFEAL暗号を使用し、本発明の暗号装
置はインボリューション処理部を2段のみ設ける場合で
ある。
(何れも16進表示)について求める暗号ブロックと、平
文又は鍵の何れかの1ビットを、図示と異なる値に変化
した場合の暗号ブロックとを比較した場合の、異なるビ
ットの個数であり、図は、平文及び鍵の全64ビットにつ
いて行った結果の平均値と分散を示す。
入力の平文ブロックとして、鍵欄に示す鍵による暗号化
を行った結果の暗号ブロックと平文ブロックとを比較し
た場合の変化ビット数についての、全ブロックにわたる
平均値と分散である。
では、インボリューション処理の段数がFEAL暗号の
場合の1/4に減少しているのに、FEAL暗号とほぼ
同じ結果を得ており、本発明の暗号のランダム性の高い
ことを示している。
計算機による暗号化処理に要した時間を比較すると、F
EAL暗号は本発明の暗号に対して約1.8 倍の処理時間
を要する。
よれば、秘匿性の高いブロック暗号を使用する暗号処理
装置が提供されるという効果がある。
示す図
Claims (3)
- 【請求項1】 所定長のビット列からなる入力ブロック
を、該ビット長のビット列からなる所与の鍵に基づい
て、該入力ブロックと同長の出力ブロックに変換する装
置であって、 データランダム化部(1)と、鍵生成部(2)とを有し、 該データランダム化部(1)は、初期転置部(3)と、非線形
関数部(4)と、逆初期転置部(5)とを有し、 該初期転置部(3)は、該入力ブロックを所定の区間に分
割し、該鍵の各該区間に対応するように定める位置の各
ビット列の値を、該入力ブロック内の区間位置アドレス
とし、各該区間のビット列を対応する該区間位置アドレ
スによって定まる区間と所定の位置関係を有する区間に
順次移動して、移動した結果のブロックを該非線形関数
部(4)に渡し、該移動の前後の該区間相互間の対応を示
す情報を該逆初期転置部(5)に渡すものであり、 該非線形関数部(4)は、複数段のインボリューション処
理部(6)を有し、該初期転置部(3)から受け取る該ブロッ
クを等しい長さの左ビット列及び右ビット列に2等分
し、該左ビット列を左入力とし、該左ビット列と該右ビ
ット列との排他的論理和を右入力として、第1段の該イ
ンボリューション処理部に入力し、順次各段の該インボ
リューション処理部の左出力を次段の該右入力とし、右
出力を該左入力として、最終段の該左出力と、該左出力
と該右出力との排他的論理和とを結合したビット列のブ
ロックを該逆初期転置部(5)に渡すものであり、 各該インボリューション処理部(6)は、関数部(7)を有
し、該鍵生成部(2)が生成する中間鍵の各所定の1つと
該右入力とを入力として該関数部が生成するビット列
と、該左入力との排他的論理和を該左出力とし、該右入
力を該右出力とするものであり、 各該関数部(7)は該右入力を所定の区間に分割し、該中
間鍵の各該区間に対応するように定める位置の各ビット
列の値を、該右入力内の区間位置アドレスとし、各該区
間のビット列を対応する該区間位置アドレスによって定
まる区間と所定の位置関係を有する区間に順次移動し
て、移動した結果のビット列について所定の変換を実行
するものであり、 該逆初期転置部(5)は、該非線形関数部(4)から受け取る
該ブロックについて、該初期転置部(3)から受け取る該
区間相互間の対応情報に従って、該初期転置部の行った
該区間間の移動と逆の移動を行ったブロックを、該出力
ブロックとして出力するものであり、 該鍵生成部(2)は、該非線形関数部(4)と同じ段数の鍵処
理部(8)を有し、該鍵を等しい長さの左ビット列及び右
ビット列に2等分し、該左ビット列を左鍵入力とし、該
左ビット列と該右ビット列との排他的論理和を右鍵入力
として、第1段の該鍵処理部に入力し、順次各段の該鍵
処理部の左鍵出力を次段の該右鍵入力とし、右鍵出力を
該左鍵入力として、各該段の該左鍵出力を各該中間鍵と
して該非線形関数部に渡すものであり、 各該鍵処理部(8)は、鍵関数部(9)を有し、所与の初期ベ
クトルと該右鍵入力とを入力として該鍵関数部が生成す
るビット列と、該左鍵入力との排他的論理和を該左鍵出
力とし、該右鍵入力を該右鍵出力とするものであり、 各該鍵関数部(9)は該右鍵入力を所定の区間に分割し、
該初期ベクトルの各該区間に対応するように定める位置
の各ビット列の値を、該右鍵入力内の区間位置アドレス
とし、各該区間のビット列を対応する該区間位置アドレ
スによって定まる区間と所定の位置関係を有する区間に
順次移動して、移動した結果のビット列について所定の
変換を実行するように構成されていることを特徴とする
ブロック暗号処理装置。 - 【請求項2】 前記各関数部(7)は、前記区間の個数を
Nとして、2N−1個の関数ボックスを有し、 前記中間鍵に基づいて移動した結果の前記ビット列につ
いて、第1の該関数ボックスに第1の該区間のビット列
と第2の該区間のビット列とを入力し、 第2から第N−1までの各第iの該関数ボックスに第i
+1の該区間のビット列と第i−1の該関数ボックスの
出力とを入力し、 第Nの該関数ボックスに該第1の区間のビット列と第N
−1の該関数ボックスの出力とを入力し、 第N+1から第2N−1までの各第jの該関数ボックス
に第j−Nの該関数ボックスの出力と第j−1の該関数
ボックスの出力とを入力し、該第Nから第2N−1まで
の各関数ボックスの出力を出力ビット列とし、 各該関数ボックスは各該区間に等しいビット幅の2入力
について所定の演算を行い、同じビット幅の1出力を生
成するものである、請求項1記載のブロック暗号処理装
置。 - 【請求項3】 前記各鍵関数部(9)は前記各関数部(7)
と同一の構成を有する、請求項2記載のブロック暗号処
理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4033663A JP3012732B2 (ja) | 1992-02-20 | 1992-02-20 | ブロック暗号処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4033663A JP3012732B2 (ja) | 1992-02-20 | 1992-02-20 | ブロック暗号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0697930A JPH0697930A (ja) | 1994-04-08 |
JP3012732B2 true JP3012732B2 (ja) | 2000-02-28 |
Family
ID=12392697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4033663A Expired - Lifetime JP3012732B2 (ja) | 1992-02-20 | 1992-02-20 | ブロック暗号処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3012732B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100434558B1 (ko) * | 1997-12-09 | 2004-09-30 | 삼성전자주식회사 | 고속블록암호화방법및이를위한키스케쥴링방법 |
KR100296958B1 (ko) * | 1998-05-06 | 2001-09-22 | 이석우 | 블록 데이터 암호화 장치 |
KR100316024B1 (ko) * | 1999-06-30 | 2001-12-12 | 박종섭 | 데이터 암호 표준 알고리즘을 이용한 암호화 장치 |
KR100607463B1 (ko) * | 1999-07-13 | 2006-08-02 | 한국전자통신연구원 | 무선 이동통신망에서의 가입자 인증값 생성방법과 암호화 세션키 생성방법 |
KR100377173B1 (ko) * | 2000-05-25 | 2003-03-26 | 주식회사 하이닉스반도체 | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치 |
KR100377172B1 (ko) * | 2000-06-13 | 2003-03-26 | 주식회사 하이닉스반도체 | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러 |
KR100418575B1 (ko) * | 2002-04-03 | 2004-02-14 | 주식회사 하이닉스반도체 | 암호블럭연쇄 방식의 디이에스 암호화 장치 |
JP6415542B2 (ja) * | 2013-05-01 | 2018-10-31 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 難読化に適した電子ブロック暗号装置 |
JP6292107B2 (ja) * | 2014-12-01 | 2018-03-14 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
GB2582900A (en) | 2019-03-18 | 2020-10-14 | Pqshield Ltd | Cryptography using a cryptographic state |
-
1992
- 1992-02-20 JP JP4033663A patent/JP3012732B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
清水 他,"高速データ暗号アルゴリズムFEAL",電子情報通信学会論文誌D,Vol.J70−D,No.7(1987.7月)pp.1413−1423 |
Also Published As
Publication number | Publication date |
---|---|
JPH0697930A (ja) | 1994-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7079651B2 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
EP0725511B1 (en) | Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC) | |
KR100296958B1 (ko) | 블록 데이터 암호화 장치 | |
US6185304B1 (en) | Method and apparatus for a symmetric block cipher using multiple stages | |
US6185679B1 (en) | Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks | |
KR100362458B1 (ko) | 암호화 처리장치, 암호화 처리방법 및 보안성을 손상시키지 않고 고속으로 암호화 처리를 실현하는 암호화 처리 프로그램을 기록하는 기록매체 | |
US6189095B1 (en) | Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks | |
EP1081889A2 (en) | Extended key generator, encryption / decryption unit, extended key generation method, and storage medium | |
JPH1173101A (ja) | 高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体 | |
RU2124814C1 (ru) | Способ шифрования блоков цифровых данных | |
US20040120518A1 (en) | Matrix multiplication for cryptographic processing | |
JP3012732B2 (ja) | ブロック暗号処理装置 | |
JP3180836B2 (ja) | 暗号通信装置 | |
RU2141729C1 (ru) | Способ криптографического преобразования блоков двоичных данных | |
RU2188513C2 (ru) | Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки | |
JP3389210B2 (ja) | 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 | |
KR100350207B1 (ko) | 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법 | |
KR100434558B1 (ko) | 고속블록암호화방법및이를위한키스케쥴링방법 | |
JP2834450B2 (ja) | 暗号装置 | |
JPH0744375A (ja) | 暗号化データ処理装置 | |
RU2140709C1 (ru) | Способ криптографического преобразования блоков цифровых данных | |
RU2024209C1 (ru) | Устройство шифрования двоичной информации "албер" | |
JP2024053189A (ja) | 暗号処理装置、暗号処理装置の暗号処理方法およびプログラム | |
JPH06138820A (ja) | 暗号化装置及び暗号復号装置 | |
KR100380638B1 (ko) | 병렬 Feistel 구조를 가진 데이터 암호 표준화시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 12 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 12 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 13 |