JP3351305B2 - 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 - Google Patents
暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体Info
- Publication number
- JP3351305B2 JP3351305B2 JP21327497A JP21327497A JP3351305B2 JP 3351305 B2 JP3351305 B2 JP 3351305B2 JP 21327497 A JP21327497 A JP 21327497A JP 21327497 A JP21327497 A JP 21327497A JP 3351305 B2 JP3351305 B2 JP 3351305B2
- Authority
- JP
- Japan
- Prior art keywords
- intermediate key
- update information
- conversion
- initial value
- key update
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Carbon Steel Or Casting Steel Manufacturing (AREA)
Description
積の際にデータを秘匿するための暗号装置及び暗号装置
を実現するためのプログラムを記録した記憶媒体に関す
る。
Standard)と呼ばれる暗号方式(特開昭51−
108701号公報「暗号装置」)に代表される共通鍵
暗号の多くは、比較的簡単な変換操作を繰り返し行うこ
とによって複雑な暗号化変換を実現することを特徴とし
ている。これらの暗号をより安全なものにしようとする
工夫は従来からさまざまな形でなされてきた。
SのCBCモード(例えば特開昭48−17234号公
報、「現代暗号理論」池野信一/小山謙二著、社団法人
電子通信学会1986年のP.66に解説)などはその
一例であり、ひとつのブロックの暗号化がそれ以前の暗
号化処理の結果の影響をうけるために平文の統計的な特
徴が攪乱され解読が困難になることを目的とした方式で
ある。
号化が完了しないと次のブロックの暗号化を開始できな
いという点と、同じ鍵を用いて多くの回数の暗号化を行
うために、暗号を解読しようとする人間に多くの手がか
りを与えてしまうという点の危険性が依然として解決さ
れていない。
する工夫の一つに、特開平6−266284号公報に記
載の「暗号連鎖方式」がある。これは、暗号化を行なう
変換手段に作用させる中間鍵を、中間鍵の初期値と中間
鍵更新情報によって、対応する平文毎に変化させる方式
である。
一通りしか準備されていない。
は、同一の平文を入力し続けるような選択平文攻撃を行
なえば、中間鍵の更新情報が同一のものとなり、中間鍵
の初期値が一定であるために中間鍵の更新が行われない
状態になる。従って、同一の平文を入力し続けながら暗
号文を観察することで中間鍵の更新が行なわれたかある
いは行なわれなかったかという状態の変化を認知させて
しまう危険性があった。
ても同じ鍵で暗号化した多量の暗号文を攻撃者に与える
ことなく、さらに選択平文攻撃に対しても暗号装置内部
の鍵更新情報の推定を困難にし、かつ、並列化による高
速化が可能であり、しかも変換の繰り返し回数を増やし
てもそれに応じてより多重の並列化が可能になることに
よって速度の低下をきたさない暗号装置を提供すること
である。
は、暗号化鍵に基づき平文の列から該平文に対応する暗
号文の列を生成する暗号装置であって、中間鍵を用いて
線形または非線形のビット列変換を行う1個以上の変換
手段と入力された暗号鍵に対し線形または非線形のビッ
ト列変換を行い、中間鍵の初期値を生成する中間鍵生成
手段と、中間鍵更新情報を用いて中間鍵を更新、記憶す
る中間鍵記憶手段とを備えた暗号装置において、前記変
換手段のうち少なくとも1個は、前記中間鍵記憶手段と
対をなし、対となった前記変換手段は、前記中間鍵記憶
手段に記憶された中間鍵による制御を受け、前記対にな
った変換手段のうち少なくとも1個は、ビット列変換が
行われるたびに中間鍵を更新するための中間鍵更新情報
を生成し、対になった中間鍵記憶手段に中間鍵更新情報
を送り、前記各中間鍵記憶手段は前記中間鍵生成手段か
ら受け取った中間鍵の初期値を1個以上の予め定められ
た個数分保持し、かつビット列変換が行われるたびに1
個以上保持している中間鍵の初期値から少なくとも1個
の中間鍵の初期値を選択する手段を持ち、前記対になっ
た変換手段を制御し、前記中間鍵更新情報に基づいて中
間鍵を更新することを特徴とする。
制御しているビット列(中間鍵)を暗号化が行われるた
びに更新していくことを特徴としている。このことによ
って、事実上1ブロック暗号化する度に暗号鍵が更新さ
れていることになり、結果として解読者に同じ鍵で暗号
化された大量の暗号文を与えないようにできる。特に、
中間鍵の初期値が1個以上存在し、異なる初期値を使っ
た鍵の更新が行えるため、初期値を1個に限る場合に比
べ、解読が困難になる。
いて、前記中間鍵更新情報を送る変換手段と対になった
中間鍵記憶手段は、過去に受け取った中間鍵更新情報を
1個以上の予め定められた回数分記憶し、更に中間鍵更
新情報を受け取るたびに最も古い中間鍵更新情報を破棄
し、更に記憶している中間鍵更新情報の集合と中間鍵の
初期値の集合を入力として、次に変換手段に送るべき中
間鍵を生成することを特徴とする。
値および中間鍵を更新する際の中間鍵更新情報の双方を
複数のバッファに記憶しておくことにより、通信時のビ
ット誤りの後続ビットへの波及を極力抑えている。
の発明において、2個以上の前記変換手段をもち、か
つ、前記各中間鍵記憶手段は対となる変換手段以外の変
換手段と対をなす中間鍵記憶手段が保持する中間鍵更新
情報の集合または中間鍵の初期値の集合から、1個以上
の中間鍵更新情報または中間鍵の初期値もしくは中間鍵
更新情報および中間鍵の初期値を選択する手段を持ち、
それにより選択された1個以上の中間鍵更新情報または
中間鍵の初期値もしくは中間鍵更新情報および中間鍵の
初期値を入力として次に変換手段に送るべき中間鍵を生
成することを特徴とする。
段に記憶された中間鍵の初期値や更新情報を対となる変
換手段のみならず、他の変換手段にまで使用させること
により、更新によって生じる中間鍵の種類を増やし、解
読を困難にする。
は第3の発明において、2個以上の前記変換手段をも
ち、かつ、前記各中間鍵記憶手段は対となる変換手段以
外の変換手段と対をなす中間鍵記憶手段が保持する中間
鍵更新情報の集合または中間鍵の初期値の集合から、1
個以上の中間鍵更新情報または中間鍵の初期値もしくは
中間鍵更新情報および中間鍵の初期値を選択する手段を
持ち、かつ、それにより選択された1個以上の中間鍵更
新情報または中間鍵の初期値もしくは中間鍵更新情報お
よび中間鍵の初期値が、前記変換手段の個数と同じ回数
以上には連続して同一のものが選択されないことを特徴
とする。
周期を繰り返し型共通鍵暗号系の繰り返し回数以下にす
ることにより、同一の平文を入力し続ける操作に対し、
内部の鍵更新が行われなくなる(全ての中間鍵更新情報
が同一になってしまう)といった状態を防止し、解読の
手がかりを与えなくなる。
3または第4の発明において、前記変換手段が中間鍵を
更新するための中間鍵更新情報を生成するに際し、該変
換手段の入力となるビット列のうち該変換手段を制御す
る中間鍵を除くビット列を基に前記中間鍵更新情報を生
成し、前記中間鍵記憶手段に中間鍵更新情報を送り、前
記中間鍵更新手段が更新した中間鍵を該中間鍵更新情報
を採用したデータブロックの変換に用いるかまたは用い
ないかを予め設定しておくことを特徴とする。
情報の基となるデータを変換手段の入力データから採用
することにより、更新された中間鍵を、該入力データを
変換を行う時および該入力データより後の入力データブ
ロックの変換を行う時、に対して適用可能となり、更新
によって生じる中間鍵の種類を増やすのみならず適用時
期をも変更可能となり、解読を困難にする。
3または第4の発明において、前記変換手段が中間鍵を
更新するための中間鍵更新情報を生成するに際し、該変
換手段が入力となるビット列から出力となるビット列を
生成する過程の途中で発生するビット列を基に前記中間
鍵更新情報を生成し、前記中間鍵記憶手段に中間鍵更新
情報を送り、前記中間鍵更新手段が更新した中間鍵を該
中間鍵更新情報を採用したデータブロックの変換に用い
るかまたは用いないかを予め設定しておくことを特徴と
する。
情報の基となるデータを変換手段の変換途中のデータか
ら採用することにより、更新された中間鍵を該変換手段
の残りの変換過程を実施する時および該変換より後の入
力データブロックに対する変換を行う時、に対して適用
可となり、更新によって生じる中間鍵の種類を増やすの
みならず適用時期をも変更可能となり、解読を困難にす
る。
3または第4の発明において、前記変換手段が中間鍵を
更新するための中間鍵更新情報を生成するに際し、該変
換手段の出力となるビット列を基に前記中間鍵更新情報
を生成し、前記中間鍵記憶手段に中間鍵更新情報を送
り、前記中間鍵更新手段が更新した中間鍵を該中間鍵更
新情報を採用したデータブロックの変換に用いるかまた
は用いないかを予め設定しておくことを特徴とする。
情報の基となるデータを変換手段の出力データから取る
ことにより、該変換手段で攪拌された更新情報を用いる
ことができ、更新によって生じる中間鍵の推定が困難に
なる。
3、第4、第5、第6または第7の発明において、前記
各変換手段を並列に稼働することにより同時に複数個の
平文の暗号化処理を行うことを特徴とする。
明では、各段の変換においてテキストの処理が終了し中
間鍵が更新されれば、それに続く段の処理を待つことな
く次のテキストの処理の入力待ち状態に入ることがで
き、これによって並列化が可能になる。
施形態を示すブロック図である。図2、3、4は、特開
平6−266284号公報に記載された発明を説明する
ための図である。これらの図を参考に使いながら、本発
明の特徴を説明する。
置内部に取り込まれ、1個以上の直列に接続された変換
手段111〜115によって、変換操作が行われ、最終
的に装置外に暗号文として出力される。変換手段111
〜115は、それぞれが必ずしも機能が同一である必要
はなく、各々線形または非線形のビット列変換を行う機
能を有し、その機能は各変換手段それぞれに対応した中
間鍵記憶手段131〜135に保持されている中間鍵に
よって制御され、かつ、ビット列変換が行われる度に中
間鍵更新情報を生成し、これを中間鍵記憶手段に転送す
る機能をもつ。
中間鍵生成手段12において、鍵に対し線形または非線
形の変換を施すことによって各中間鍵に対応する中間鍵
の初期値を生成し、中間鍵記憶手段に転送する。
を記憶する手段の他に、中間鍵を変換手段に送ることに
よって変換手段を制御する機能と、変換手段によって生
成、転送された中間鍵更新情報を受け取り、その制御の
もとに中間鍵を更新する機能とを持つ。
記載された第1の発明である暗号連鎖方式をDESに適
用した一実施形態を示すブロック図であり、図3は、D
ESのF関数を示す図である。図5は、本発明の第1の
発明である暗号連鎖方式をDESに適用した実施形態を
示すブロック図である。図2と図5を比較すると、中間
鍵初期値記憶部57が付加されている点が大きく異な
る。
る中間鍵生成手段12に相当するものである。まず、暗
号化開始時に、64ビットの暗号鍵を鍵スケジューリン
グ部51に入力する。暗号鍵スケジューリング部51
は、入力された暗号鍵をもとに中間鍵の初期値を出力と
して中間鍵初期値記憶部57に送る。中間鍵は、後述す
る暗号化部内に16個存在するF関数と呼ばれるデータ
変換装置のそれぞれに対応する各48ビット×6個、す
なわち全体では4608ビット(DESの6倍の中間鍵
初期値)から成っている。
Sの鍵スケジューラの動作が詳述されているが、ここで
は要点を説明する。
トから56ビットを取り出す縮約型転置PC−1と、5
6ビットから48ビットを取り出す縮約型転置PC−2
と、巡回シフト動作を組み合わせて各F関数の中間鍵初
期値を生成する。鍵スケジューリング部51では、まず
入力された暗号鍵に対して縮約型転置PC−1を施して
56ビットからなる出力を得る。この56ビットの出力
を前半28ビットと後半28ビットに分ける。この前半
28ビットと後半28ビットに対して、予め定められた
数の巡回シフト動作を行った後に縮約型転置PC−2を
施して得られる48ビットを、中間鍵の初期値の1個
(これをkn )とする。各段に対応する巡回シフト数
は、予め定められている。さらに、Rotx (kn ),
(x=1,3,5,7,9xはシフト数)のような予め
定められた数の巡回シフト動作を行い、これら6個の値
を第n段のF関数に対する中間鍵の初期値、すなわち鍵
スケジューリング部の出力とする。この例では、Rot
x (kn )を生成関数として用いたが、予め定められた
他の関数を用いても良い。
ューリング部以外の部分を指し、初期転置IP53、最
終転置IP-155、16個のF関数54、F関数内にあ
るものとは別に16個の拡大転置E56、16個の中間
鍵更新記憶部52、16個の中間鍵初期値記憶部57
(この実施形態では予め6個の中間鍵初期値を保持する
ように設定している)およびこれらが保持するデータを
下記の手順に従って処理するために必要なデータ通進路
と排他的論理和を計算するための演算器からなる。
了し各F関数に対する中間鍵の初期値がセットされた
ら、暗号化しようとする平文の先頭64ビットを暗号化
部入力する。この64ビットの入力は、まず初期転置I
P53が施される。初期転置IP53は、予め定められ
たテーブルの値に従った、ビット列の並び換え操作であ
る。初期転置IP53の出力64ビットは、前半32ビ
ットと後半32ビットに分割される。前半32ビットを
L0 、後半32ビットをR0 とする。これをもとに以下
の式に従って順次L1 、R1 、L2 、R2 、…、L16、
R16を生成する。
る。またKn は、n番目のF関数に対する中間鍵更新記
憶部52が保持する中間鍵である。中間鍵は、初期値と
しては前述の鍵スケジューリング部51で生成された値
の内の1個になっているが、F関数で演算がおこなわれ
る度に後述のとおり値が更新される。上記の式を実行し
た結果得られたR16、L16からなる64ビットに対して
最終転置IP-155が施され、その出力をもとの平文に
対する暗号文の最初の64ビットとする。最終転置IP
-155は、予め定められたテーブルの値に従った、ビッ
ト列の並び換え操作である。
おいては、初期転置、最終転置、およびLn-1 、Rn-1
からLn 、Rn を求める操作を指している。次に、後述
する方法により、各F関数の中間鍵が更新される。
に入力され、上記と同様の手順で暗号文の次の64ビッ
トが生成され、再び各F関数の中間鍵が更新される。以
下この手順が平文が無くなるまで繰り返され、最終的な
暗号文が得られる。
48ビットの中間鍵によって制御され、32ビットの入
力を受けて32ビットを出力する。F関数の構造を図3
に示す。特開平6−266284号公報には、図3のF
関数の動作が詳述されているが、ここでは要点を説明す
る。拡大転置E31は、予め定められたテーブルの値に
従った、32ビットの中から重複を許して、48ビット
を取り出すビット列の選択操作である。F関数の32ビ
ットの入力は、拡大転置E31によって48ビットに拡
大され、さらに中間鍵とのビット毎の排他的論理和が取
られる。この結果の48ビットを、6ビットずつの8つ
のブロックに分ける。
2 ,…S8 というS−boxの入力となる。各S−bo
xの入力は6ビットであり、出力は4ビットである。8
つのS−boxは、それぞれ異なる8つの予め定められ
たテーブルと6ビットの入力に従って、出力の4ビット
の値を選択する変換である。
計32ビットの出力は、転置P33によって転置され
る。転置P33の出力がこのF関数の出力になる。転置
P33は、予め定められたテーブルの値に従った、ビッ
ト列の並び換え操作である。
を拡大したものである。中間鍵更新記憶部52と中間鍵
更新記憶部64が、F関数54とF関数61が、拡大転
置E56と拡大転置E62が、1個以上の中間鍵初期値
を保持する中間鍵初期値記憶部57と中間鍵初期値記憶
部63が、それぞれ対応する。
行われる度に、以下の式に従って更新され、対応する前
記中間鍵更新記憶部64に記憶される。
l(E(O),K中間鍵初期値集合) ここで、新しい中間鍵をKnew 、古い中間鍵をKold 、
F関数で行われた操作によって得られた出力をOとし
た。また、Sel(x,K中間鍵初期値集合)を、xの
値に従って、1個以上の中間鍵初期値記憶部63から、
中間鍵をひとつ取り出す操作とし、E()を32ビット
入力から48ビットを出力する拡大転置とした。
め定められた操作であり、xを中間鍵初期値集合の要素
数で割った余りに従って取り出す操作等が考えられる。
本実施形態では、中間鍵初期値が予め6個に設定されて
いるので、xが13ならば、1個目の中間鍵初期値を、
xが9ならば、3個目の中間鍵初期値を選択することに
なる。他に、予めテーブルで取り出す順序を指定してお
き、xの値を無視してしまうといった特殊な操作も考え
られる。さらに、xと、中間鍵初期値の1個目と2個目
の3者の排他的論理和を計算して値を、Sel(x,K
中間鍵初期値集合)の値とするといった、複数の初期値
を使用する操作も考えられる。特に、複数の中間鍵初期
値を使って、Sel(x,K中間鍵初期値集合)の値と
する場合には、Knew のビット数が複数の中間鍵初期値
の合計のビット数よりも小さくなっている。この場合
は、Knew から中間鍵初期値を逆に計算しようとして
も、複数の候補が存在して解が一意に定まらない。すな
わち、鍵の逆演算を困難にする効果をさらに高めてい
る。
って中間鍵を更新するという方式を導入したことであ
る。上記の中間鍵更新方法は一例に過ぎない。また、上
記の例はDESに本発明の方式を組み込んだ例である
が、一般に繰り返し型共通鍵暗号系の範疇に属する暗号
系であれば本発明の方式を組み入れることができる。
平6−266284号公報に記載の発明では、(1)中
間鍵生成手段12において生成される中間鍵の初期値
が、中間鍵記憶手段ごとに1個である。という、条件が
あるが、本発明では、1個以上の中間鍵初期値(本実施
形態では予め6個に設定した)を保持する中間鍵初期値
記憶部57が付加されることにより、更新されたあとの
中間鍵のとりうる種類を飛躍的に増加させることができ
る。
いて説明する。ここに示す実施形態は上記の第1の発明
の実施形態のうち、各変換手段が送出する中間鍵更新情
報と、それを受け取って次回変換手段に受け渡すための
中間鍵を生成するための中間鍵更新処理部の構成を変更
し、過去に受け取った中間鍵更新情報を1個以上の予め
定められた回数分記憶し、更に中間鍵更新情報を受け取
るたびに最も古い中間鍵更新情報を破棄し、更に記憶し
ている中間鍵更新情報の集合と中間鍵の初期値の集合を
入力として、次に変換手段に送るべき中間鍵を生成する
ようにしたものである。
第1の発明から変更した部分、すなわち暗号化部の繰り
返し段のひとつを取り出したものである。F関数71お
よび拡大転置E72は上記第1の発明のF関数61およ
び拡大転置E62のものと同一で、1個以上の中間鍵初
期値を保持する中間鍵初期値記憶部75は中間鍵初期値
記憶部63と同一である。本実施形態では、F関数の入
力を中間鍵更新情報とし、それを拡大転置したものを1
個以上の中間鍵更新情報を保持する中間鍵更新情報記憶
部73に格納する。また、鍵スケジューラから生成され
た中間鍵の初期値は、中間鍵初期値記憶部75に格納さ
れている。
を含めて6つの情報が格納されることになる。すなわ
ち、最も古い情報は5ブロック前の平文ブロックを暗号
化したさいの該繰り返し段におけるF関数の入力を拡大
転置したものになっている。これらのうち、最も新しい
情報、すなわちまさにF関数で処理を行おうとしている
入力から生成された情報を除く5つの情報と、鍵スケジ
ューリング部において一連の暗号化の初期に生成されて
以降該中間鍵初期値記憶部75に格納されている中間鍵
の初期値の集合から取り出された中間鍵初期値のひとつ
とのビット毎の排他的論理和を該F関数を制御する中間
鍵とする。
理部74は、中間鍵初期値記憶部75に格納されている
初期値を1個目,2個目,…,6個目,1個目,…のよ
うに、巡回して順に取り出す処理を行なっている。中間
鍵更新処理部74の動作としては、図6の実施形態で示
した、Sel(x,K中間鍵初期値集合)のような、予
め定められた操作も可能である。このように、中間鍵更
新処理部74により取り出された、中間鍵初期値と、中
間鍵更新情報記憶部73から取り出された、中間鍵更新
情報の排他的論理和を計算して、F関数71の中間鍵と
する。該中間鍵の制御の下でF関数の処理が終了し、F
関数の次の入力を該繰り返し段が受け取ると、上記手順
を繰り返すことにより更新情報記憶装置73に新しい情
報が追加され最も古い情報が破棄される。
6284号公報に記載の鍵更新方式の概要を説明する。
中間鍵更新情報記憶部43は、過去に受け取った中間鍵
更新情報を予め定められた回数分記憶する(図4では6
個である)。さらに、中間鍵更新情報を受け取る度に最
も古い中間鍵更新情報を破棄し、さらに記憶している中
間鍵更新情報の集合と中間鍵の初期値を入力として、次
ぎに変換手段に送るべき中間鍵を生成している。
平6−266284号公報に記載の発明では、(1)中
間鍵生成手段12において生成される中間鍵の初期値
が、中間鍵記憶手段ごとに1個である。
以上の中間鍵初期値(本実施形態では予め6個に設定し
た)を保持する中間鍵初期値記憶部75が付加されるこ
とにより、更新されたあとの中間鍵のとりうる種類を飛
躍的に増加させることができる。
載の発明では、(2)中間鍵を更新するのは、変換手段
が動作した後である。すなわち、時刻tにデータブロッ
クが変換手段に入力され、時刻tに中間鍵が更新された
とすると、更新された鍵は時刻(t+1)以降のデータ
ブロックにしか作用しない(時刻tのデータブロックに
作用できない)。
述する第5の発明および第6の発明で解決されている。
用いて説明する。ここに示す実施形態は上記の図7を用
いて説明した第2の発明の実施形態のうち、各変換手段
が送出する中間鍵更新情報と、それを受け取って次回変
換手段に受け渡すための中間鍵を生成するための処理に
おいて、中間鍵更新情報記憶部の内容を順次書き換える
機能を有するように変更したものである。
から変更した部分、すなわち暗号化部の繰り返し段のひ
とつを取り出したものである。F関数81および拡大転
置E82は上記第1の発明のF関数61および拡大転置
E62のものと同一で、中間鍵初期値記憶部85は中間
鍵初期値記憶部75と同一である。本実施形態では、F
関数の入力を中間鍵更新情報とし、それを拡大転置した
ものを中間鍵更新情報記憶部83に格納する。また、鍵
スケジューラから生成された中間鍵の初期値は、中間鍵
初期値記憶部85に格納されている。
を含めて6つの情報が格納されることになる。すなわ
ち、最も古い情報は5ブロック前の平文ブロックを暗号
化したさいの該繰り返し段におけるF関数の入力を拡大
転置したものになっている。これらのうち、最も新しい
情報、すなわちまさにF関数で処理を行おうとしている
入力から生成された情報を除く5つの情報と、中間鍵初
期値記憶部85に格納されている中間鍵の初期値の集合
を入力として48ビットの中間鍵を生成する中間鍵更新
処理部84が、該F関数を制御する中間鍵を生成する。
同時に、中間鍵更新情報記憶部83内にある、6個の中
間鍵更新情報を変換する。
中間鍵初期値記憶部85に格納されている中間鍵の初期
値から格納順序に従って、一個取り出しwk1 とする。
次ぎに、中間鍵更新情報記憶部83に格納された最も古
い中間鍵更新情報を一個取り出しwk2 とする。Kn =
wk1 +wk2 を計算し、Kn を中間鍵とする。さら
に、中間鍵更新情報記憶部83に格納されたすべての、
中間鍵更新情報に対してKn の排他的論理和を行なう。
といった一連の操作fが考えられる。この例は、fの一
実施例であり、他の手続きを使用しても構わない。
中間鍵更新情報が単純な入力ブロックも基にしたもので
は無くなり、更新される中間鍵がとりうる種類を増加さ
せ、解読を困難にすろ。該中間鍵の制御の下でF関数の
処理が終了し、F関数の次の入力を該繰り返し段が受け
取ると、上記手順を繰り返すことにより中間鍵更新情報
記憶部83に新しい情報が追加され最も古い情報が破棄
される。
いて説明する。ここに示す実施形態は上記の図8を用い
て説明した第2の発明の実施形態のうち、次回変換手段
に受け渡すための中間鍵を生成するための処理におい
て、同一の段の対となる各変換手段が送出する中間鍵更
新情報および対となる中間鍵初期値記憶部が保持する中
間鍵初期値のみならず、他の段の変換手段が送出する中
間鍵更新情報および中間鍵初期値記憶部が保持する中間
鍵初期値をも使用して、中間鍵を生成するための中間鍵
更新処理を行う機能を有するように変更したものであ
る。
から変更した部分、すなわち暗号化部の繰り返し段のひ
とつを取り出したものである。F関数91および拡大転
置E92は前記第2の発明のF関数81および拡大転置
E82のものと同一で、中間鍵初期値記憶部95は中間
鍵初期値記憶部85と同一である。本実施形態では、F
関数の入力を中間鍵更新情報とし、それを拡大転置した
ものを中間鍵更新情報記憶部93に格納する。また、鍵
スケジューラから生成された中間鍵の初期値は、中間鍵
初期値記憶部95に格納されている。さらに、中間鍵を
生成する中間鍵更新処理部94は、当該段の中間鍵更新
情報記憶部93と隣接段の中間鍵更新情報記憶部が保持
している中間鍵更新情報および、当該段の中間鍵初期値
記憶部95と隣接段の中間鍵初期値記憶部が保持してい
る中間鍵初期値を使って、次回使用する中間鍵を生成す
るための中間鍵更新処理を行う。
みる。中間鍵初期値記憶部95に格納されている中間鍵
の初期値から格納順序に従って、一個取り出しwk1 _
selfとする。次ぎに、中間鍵更新情報記憶部93に
格納された最も古い中間鍵更新情報を一個取り出しwk
2 _selfとする。同様に隣接段の、中間鍵初期値記
憶部95に格納されている中間鍵の初期値から格納順序
に従って、一個取り出しwk1 _otherとし、隣接
段の、中間鍵更新情報記憶部93に格納された最も古い
中間鍵更新情報を一個取り出しwk2 _otherとす
る。Kn =wk1 _self+wk2 _self+wk
1 _other+wk2 _otherを計算し、Knを
中間鍵とする。といった一連の操作fが考えられる。
続きを使用しても構わない。この実施形態における隣接
段の設定例として、1段目の隣接段を2段目、2段目の
隣接段を3段目、…、16段目の隣接段を1段目と予め
定めておく。この、隣接段の設定は、1段目の隣接段を
(2段目と16段目)、2段目の隣接段を(3段目と1
段目)、…、16段目の隣接段を(1段目と15段目)
のように、複数設定したりすることも可能である。ま
た、予め設定すれば、1段目の隣接段を5段目とする等
の設定も可能である。
を含めて6つの中間鍵更新情報が格納されることにな
る。すなわち、最も古い情報は5ブロック前の平文ブロ
ックを暗号化したさいの該繰り返し段におけるF関数の
入力を拡大転置したものになっている。これらのうち、
最も新しい情報、すなわちまさにF関数で処理を行おう
としている入力から生成された情報を除く5つの情報
と、中間鍵初期値記憶部95に格納されている中間鍵の
初期値の集合と、隣接段の5つの中間鍵更新情報と、中
間鍵初期値の集合に格納されている情報、を入力として
48ビットの中間鍵を生成する中間鍵更新処理部94
が、該F関数を制御する中間鍵を生成する。
をもとに中間鍵が生成される。該中間鍵の制御の下でF
関数の処理が終了し、F関数の次の入力を該繰り返し段
が受け取ると、上記手順を繰り返すことにより93の中
間鍵更新情報記憶部93に新しい情報が追加され最も古
い情報が破棄される。
用いて説明する。ここに示す実施形態は上記の図8を用
いて説明した第2の発明の実施形態のうち、次回変換手
段に受け渡すための中間鍵を生成するための処理におい
て、中間鍵初期値記憶部が保持する中間鍵初期値の同一
の値を、変換手段の総数以上に連続して使用することが
無いように制御する機能を有するように変更したもので
ある。
明から変更した部分、すなわち暗号化部の繰り返し段の
ひとつを取り出したものである。F関数A1および拡大
転置EA2は前記第2の発明のF関数81および拡大転
置E82のものと同一で、中間鍵初期値記憶部A5は中
間鍵初期値記憶部85と同一である。本実施形態では、
F関数の入力を中間鍵更新情報とし、それを拡大転置し
たものを中間鍵記憶部内にある中間鍵更新情報記憶部A
3に格納する。また、鍵スケジューラから生成された中
間鍵の初期値は、中間鍵初期値記憶部A5に格納されて
いる。さらに、中間鍵を生成する中間鍵更新処理部A4
は、中間鍵更新情報記憶部A3と中間鍵初期値記憶部A
5が保持している中間鍵初期値を使って、次回使用する
中間鍵を生成するための中間鍵更新処理を行う。この実
施形態では、変換手段の総数(16)が設定されている
ので、同一の初期値を連続して使用できるのは15回ま
でと予め定めておく。
報を含めて6つの中間鍵更新情報格納されることにな
る。すなわち、最も古い情報は5ブロック前の平文ブロ
ックを暗号化したさいの該繰り返し段におけるF関数の
入力を拡大転置したものになっている。これらのうち、
最も新しい情報、すなわちまさにF関数で処理を行おう
としている入力から生成された情報を除く5つの情報
と、中間鍵初期値記憶部A5に格納されている中間鍵の
初期値の集合、を入力として48ビットの中間鍵を生成
する中間鍵更新処理部A4が、該F関数を制御する中間
鍵を生成する。該中間鍵の制御の下でF関数の処理が終
了し、F関数の次の入力を該繰り返し段が受け取ると、
上記手順を繰り返すことによりA3の記憶装置に新しい
情報が追加され最も古い情報が破棄される。
説明する。中間鍵初期値記憶部A5に格納されている中
間鍵の初期値から格納順序に従って、一個取り出しwk
1 _1とし、中間鍵更新情報記憶部A3に格納された最
も古い中間鍵更新情報を一個取り出しwk2 とする。K
n =wk1 _1+wk2 を計算し、Kn を中間鍵とす
る。ここで、wk1 _1を1回使ったことを記録してお
く。次のデータを処理する時は、中間鍵初期値記憶部A
5に格納されている中間鍵の初期値から格納順序に従っ
て、一個取り出しwk1 _1とし、中間鍵更新情報記憶
部A3に格納された最も古い中間鍵更新情報を一個取り
出しwk2 とする。Kn =wk1 _1+wk2 を計算
し、Kn を中間鍵とする。1回目の中間鍵と2回目の中
間鍵では、中間鍵の初期値は同じで、中間鍵更新情報が
異なることになる。ここで、wk1 _1を2回使ったこ
とを記録しておく。この操作をデータを処理する度に繰
り返すと、15回処理した時点で、wk1 _1が15回
使われたことが分る。次ぎに、wk1 _1を使うと、設
定された変換手段の総数(16)と同じ回数使用する事
になるので、次回からは、wk1 _1を使わずに、wk
1 _2(wk1 _1の次ぎの格納順序の中間鍵の初期
値)を使用することにする。以下、順にこの手順を繰り
返す。といった一連の操作fが考えられる。この例は、
fの一実施形態であり、他の手続きを使用しても構わな
い。
できるのは15回までと予め定めているが、他にも種々
の定め方が可能である。例えば、最初の15個の平文を
処理する時に、各段の1個目の中間鍵初期値を使用し、
次の15個の平文を処理する時には、1段目の中間鍵初
期値のみを2個目の中間鍵初期値に変更し、さらに次の
15個の平文を処理する時には、1段目の中間鍵初期値
のみを3個目の中間鍵初期値に変更する。1段目の中間
鍵初期値を全て使い終えたら、2段目の中間鍵初期値を
2個目の中間鍵初期値に変更し、1段目の中間鍵初期値
を1個目の中間鍵初期値に戻して使用する。このように
して、全ての段の中間鍵初期値を組み合わせて、連続し
て同一の中間鍵初期値が使われないようにする、といっ
た方法も考えられる。
用いて説明する。ここに示す実施形態は前記第2の発明
の実施形態のうち、中間鍵を生成するための中間鍵更新
処理手段が使用する中間鍵更新情報を、変換手段に入力
されるデータブロックから採用して中間鍵を更新するこ
とにより、特開平6−266284号公報に記載の発明
の、(2)中間鍵を更新するのは、変換手段が動作した
後である。すなわち、時刻tにデータブロックが変換手
段に入力され、時刻tに中間鍵が更新されたとすると、
更新された鍵は時刻(t+1)以降のデータブロックに
しか作用しない(時刻tのデータブロックに作用できな
い)。
である。
である。変換手段B1は図7のF関数71と同一とし、
中間鍵更新記憶手段B2は図7の拡大転置72,中間鍵
更新情報記憶部73,中間鍵更新処理部74,中間鍵初
期値記憶部75から構成されるものとする。中間鍵更新
記憶手段B2は更新した中間鍵を、B3の中間鍵更新情
報を採用したデータブロックの変換に用いる(設定1)
か、B3の中間鍵更新情報を採用したデータブロックの
変換に用いない(設定2)か、のいずれかを予め設定し
ておく。
選択したかが、攻撃者に秘密にされることにより、更新
され変換手段B1に適用される中間鍵の推定がさらに困
難になる。
用いて説明する。ここに示す実施形態は前記第5の発明
の実施形態のうち、中間鍵を生成するための中間鍵更新
処理手段が使用する中間鍵更新情報を、変換手段が変換
処理を行う過程の中間データから採用して中間鍵を更新
することにより、特開平6−266284号公報に記載
の発明の、(2)中間鍵を更新するのは、変換手段が動
作した後である。すなわち、時刻tにデータブロックが
変換手段に入力され、時刻tに中間鍵が更新されたとす
ると、更新された鍵は時刻(t+1)以降のデータブロ
ックにしか作用しない(時刻tのデータブロックに作用
できない)。
である。
である。変換手段C1は図7のF関数71を2個連結し
たものとし、中間鍵更新記憶手段C2は図7の拡大転置
72,中間鍵更新情報記憶部73,中間鍵更新処理部7
4,中間鍵初期値記憶部75から構成されるものとす
る。また、変換手段C1はその変換過程をC5,C4の
変換手段に分解できるものとする。すなわち、C5の変
換手段およびC4の変換手段は、図7のF関数71と同
一である。中間鍵更新記憶手段C2は更新した中間鍵
を、C3の中間鍵更新情報を採用したデータブロックの
変換に用いる(設定1)か、C3の中間鍵更新情報を採
用したデータブロックの変換に用いない(設定2)か、
のいずれかを予め設定しておく。また、(設定1)の場
合にはC4に用いる中間鍵を0に設定し、(設定2)の
場合にはC5に用いる中間鍵を0に設定するものとす
る。
選択したかが、攻撃者に秘密にされることにより、更新
され変換手段C1に適用される中間鍵の推定がさらに困
難になる。
用いて説明する。ここに示す実施形態は前記第5の発明
の実施形態のうち、中間鍵を生成するための中間鍵更新
処理手段が使用する中間鍵更新情報を、該変換手段の出
力データから採用して中間鍵を更新するものである。第
7の発明は、第5,6の発明にあわせて中間鍵更新情報
を採用する位置を明示したものであり、図6で説明した
第1の発明において暗黙の内に示されていたものであ
る。
である。
し、中間鍵更新記憶手段D2は図6の拡大転置62,中
間鍵更新処理部64,中間鍵初期値記憶部63から構成
されるものとする。この構成を採用すると、本発明の実
施形態は、第1の発明の実施形態と同一になる。
同一とし、中間鍵更新記憶手段D2は図7の拡大転置7
2,中間鍵更新情報記憶部73,中間鍵更新処理部7
4,中間鍵初期値記憶部75から構成されるものとす
る。この構成を採用すると、本発明の実施形態は、第2
の発明の実施形態において、中間鍵更新情報を変換手段
D1の出力から採用し、更新した中間鍵を、中間鍵更新
情報を採用したデータブロックの変換に用いない例とな
る。
な点は、変換手段D1によって攪拌されたデータを用い
て中間鍵更新情報が生成されるため、中間鍵更新情報の
推定がより困難になる点があげられる。
明する。第8の発明では、第1の発明、第2の発明、第
3の発明、第4の発明、第5の発明、第6の発明および
第7の発明の実施形態において、各変換手段を並列に処
理する。
図9で説明した第3の発明と図11で説明した第5の発
明の組合せでは、中間鍵更新情報を採用したデータブロ
ックの変換に用いる(設定1)の場合を除く。また、図
9で説明した第3の発明と図12で説明した第6の発明
の組合せでは、中間鍵更新情報を採用したデータブロッ
クの変換に用いる(設定1)の場合を除く。
期転置、最終転置およびそれぞれ1個ずつF関数を擁す
るLn-1 、Rn-1 からLn 、Rn を生成する機能を有す
る16個の変換装置に対して、それぞれ別個のプロセッ
サを割り当てる。これ以外に、鍵スケジューリング部に
もプロセッサを割り当てる。
を鍵スケジューリング部に入力する。鍵スケジューリン
グ部では、前述の操作により中間鍵を生成し、それぞれ
の中間鍵更新記憶部に転送する。
に入力する。初期転置が終了すると、結果を第1のF関
数を擁する変換装置に転送し、転送が終了したら平文の
次の64ビットの入力を受け付ける。第1のF関数を擁
する変換装置は初期転置から受け取ったデータに前述の
処理を施し、直ちに前述の方法で中間鍵を更新する。そ
の後でデータを第2のF関数を擁する変換手段に転送
し、転送が終了したら初期転置からの次のデータの入力
を受け付ける。
装置から受け渡されたデータの処理を行い中間鍵を更新
しデータを後続の変換装置に送った後に再び前段の変換
装置からデータの入力の受け付け状態に入る。最終段、
すなわち最終転置では受け取ったデータに最終転置を施
して暗号文の一部として出力する。
例えば第1の変換装置において最初の64ビットの処理
を終えて処理済のデータを第2の変換装置に転送し次の
64ビットが入力された後では、第2の変換装置での最
初の64ビットの処理が並列におこなわれることにな
る。同様にして、16個のF関数を擁する変換装置と初
期転置および最終転置のそれぞれは処理を並列に行う。
一例に過ぎず、たとえばひとつのプロセッサに2つのF
関数を割り当てるというように、複数変換手段をひとつ
のプロセッサに割り当ててもよい。
て説明したが、これらの暗号装置を複数構成(第1〜第
8の暗号装置のみに限られない)し、使用目的に応じた
暗号装置を選択できるような実施の形態も考えられる。
例えば、特に安全性を必要とする用途には強度を重視し
た暗号装置を準備し、また特に速度性能を重視する用途
には速度を重視した暗号を準備し、これらの暗号装置の
中から用途に応じた最適の暗号装置を選択する等であ
る。
は、装置のみについて説明したが、最後に、本発明の暗
号装置を実現するプログラムを記録した記録媒体の実施
の形態について説明する。
ラムを記録した記録媒体は、上述の暗号装置の機能をコ
ンピュータが読みとり実行可能なプログラム言語によっ
てプログラムし、当該プログラムをCD−ROMやFD
等の記録媒体に記録することによって実現することがで
きる。
られるハードディスクなどの記憶手段でも良く、更に該
記憶手段にこのコンピュータプログラムを記録しておき
ネットワークを介してこのコンピュータプログラムを読
み込むことによって、本発明の記録媒体を実現すること
も可能である。
れば、データの通信や蓄積の際にデータを秘匿するため
の安全性の高い暗号装置を得ることができる。
号連鎖方式をDESに適用した一実施例を示すブロック
図である。
ESのF関数を示す図である。
更新方式を示す図である。
施形態を示すブロック図である。
新方式を示す図である。
方式を示す図(1)である。
方式を示す図(2)である。
案方式)鍵更新方式を示す図である。
方式)鍵更新方式を示す図である。
る(提案方式)鍵更新方式を示す図である。
用する(提案方式)鍵更新方式を示す図である。
る(提案方式)鍵更新方式を示す図である。
間鍵更新情報を生成する機能を有する変換手段 112 中間鍵による制御を受けない変換手段 114 中間鍵による制御を受け、中間鍵更新情報を生
成する機能を有しない変換手段 12 中間鍵生成手段 131、133、134、135 中間鍵記憶手段 21 鍵スケジューリング部 22 中間鍵記憶部 23 初期転置IP 24 F関数 25 最終転置IP-1 26 拡大転置E 31 DESの拡大転置E 32 DESのS−box、S1 ,S2 ,…S8 33 DESの転置P 41 F関数 42 拡大転置E 43 中間鍵更新情報記憶部 44 中間鍵初期値記憶部 51 鍵スケジューリング部 52 中間鍵更新記憶部 53 初期転置IP 54 F関数 55 最終転置IP-1 56 拡大転置E 57 1個以上の中間鍵初期値を保持する中間鍵初期値
記憶部 61 F関数 62 拡大転置E 63 1個以上の中間鍵初期値を保持する中間鍵初期値
記憶部 64 中間鍵更新記憶部 71 F関数 72 拡大転置E 73 1個以上の中間鍵更新情報を保持する中間鍵更新
情報記憶部 74 中間鍵更新記憶部 75 1個以上の中間鍵初期値を保持する中間鍵初期値
記憶部 81 F関数 82 拡大転置E 83 1個以上の中間鍵更新情報を保持する中間鍵更新
情報記憶部 84 中間鍵更新処理部 85 1個以上の中間鍵初期値を保持する中間鍵初期値
記憶部 91 F関数 92 拡大転置E 93 1個以上の中間鍵更新情報を保持する中間鍵更新
情報記憶部 94 中間鍵更新処理部 95 1個以上の中間鍵初期値を保持する中間鍵初期値
記憶部 A1 F関数 A2 拡大転置E A3 1個以上の中間鍵更新情報を保持する中間鍵更新
情報記憶部 A4 中間鍵更新処理部 A5 1個以上の中間鍵初期値を保持する中間鍵初期値
記憶部 B1 変換手段 B2 中間鍵更新記憶手段 B3 中間鍵更新情報 C1 変換手段 C2 中間鍵更新記憶手段 C3 中間鍵更新情報 C4 変更手段B1内部の先に動作する部分手段 C5 変更手段B1内部の後に動作する部分手段 D1 変換手段 D2 中間鍵更新記憶手段 D3 中間鍵更新情報
Claims (12)
- 【請求項1】暗号化鍵に基づき平文の列から該平文に対
応する暗号文の列を生成する暗号装置であって、中間鍵
を用いて線形または非線形のビット列変換を行う1個以
上の変換手段と、入力された暗号鍵に対し線形または非
線形のビット列変換を行い中間鍵の初期値を生成する中
間鍵生成手段と、中間鍵更新情報を用いて中間鍵を更
新、記憶する中間鍵記憶手段とを備えた暗号装置におい
て、 前記変換手段のうち少なくとも1個は、前記中間鍵記憶
手段と対をなし、対となった前記変換手段は、前記中間
鍵記憶手段に記憶された中間鍵による制御を受け、前記
対になった変換手段のうち少なくとも1個は、ビット列
変換が行われるたびに中間鍵を更新するための中間鍵更
新情報を生成し、対になった中間鍵記憶手段に中間鍵更
新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
た中間鍵の初期値を2個以上の予め定められた個数分保
持し、かつビット列変換が行われるたびに2個以上保持
している中間鍵の初期値から少なくとも1個の中間鍵の
初期値を選択する手段を持ち、該選択された中間鍵の初
期値と前記中間鍵更新情報に基づいて中間鍵を更新し、
該更新された中間鍵を使用して前記対になった変換手段
を制御し、該更新された中間鍵が更新に使用するために
選択された前記少なくとも1個の中間鍵の初期値の長さ
に更新されることを特徴とする暗号装置。 - 【請求項2】前記中間鍵更新情報を送る変換手段と対に
なった中間鍵記憶手段は、過去に受け取った中間鍵更新
情報を1個以上の予め定められた回数分記憶し、更に中
間鍵更新情報を受け取るたびに最も古い中間鍵更新情報
を破棄し、更に記憶している中間鍵更新情報の集合と中
間鍵の初期値の集合を入力として、次に変換手段に送る
べき中間鍵を生成することを特徴とする請求項1に記載
の暗号装置。 - 【請求項3】暗号化鍵に基づき平文の列から該平文に対
応する暗号文の列を生成する暗号装置であって、 中間鍵を用いて線形または非線形のビット列変換を行う
2個以上の変換手段と、 入力された暗号鍵に対し線形ま
たは非線形のビット列変換を行い中間鍵の初期値を生成
する中間鍵生成手段と、 中間鍵更新情報を用いて中間鍵を更新、記憶する中間鍵
記憶手段とを備え、 2個以上の前記変換手段および該変換手段と対をなす2
個以上の前記中間鍵記憶手段をもつ暗号装置において、
前記変換手段は、この変換手段と対となった中間鍵記憶
手段に記憶された中間鍵による制御を受け、 前記変換手段のうち少なくとも1個は、 ビット列変換が行われるたびに中間鍵を更新するための
中間鍵更新情報を生成し、 対になった中間鍵記憶手段に中間鍵更新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
た中間鍵の初期値を2個以上の予め定められた個数分保
持し、 かつ、ビット列変換が行われるたびに、 該中間鍵記憶手段は、該中間鍵記憶手段が保持する中間
鍵更新情報の集合、該中間鍵記憶手段が保持する中間鍵
の初期値の集合、該中間鍵記憶手段と異なる中間鍵記憶
手段が保持する中間鍵更新情報の集合、または、該中間
鍵記憶手段と異なる中間鍵記憶手段が保持する中間鍵の
初期値の集合から、 1個以上の中間鍵更新情報または2個以上の中間鍵の初
期値もしくは1個以上の中間鍵更新情報および2個以上
の中間鍵の初期値を選択する手段を持ち、 それにより選択された1個以上の中間鍵更新情報または
2個以上の中間鍵の初期値もしくは1個以上の中間鍵更
新情報および2個以上の中間鍵の初期値に基づいて前記
変換手段に送るべき中間鍵を生成・更新することを特徴
とする暗号装置。 - 【請求項4】前記中間鍵更新情報を送る変換手段と対に
なった中間鍵記憶手段は、過去に受け取った中間鍵更新
情報を1個以上の予め定められた回数分記憶し、更に中
間鍵更新情報を受け取るたびに最も古い中間鍵更新情報
を破棄し、更に記憶している中間鍵更新情報の集合と中
間鍵の初期値の集合を入力として、次に変換手段に送る
べき中間鍵を生成することを特徴とする請求項3に記載
の暗号装置。 - 【請求項5】前記選択された1個以上の中間鍵更新情報
または2個以上の中間鍵の初期値もしくは1個以上の中
間鍵更新情報および2個以上の中間鍵の初期値が、前記
変換手段の個数と同じ回数以上には連続して同一のもの
が選択されないことを特徴とする請求項3または請求項
4に記載の暗号装置。 - 【請求項6】前記各変換手段を並列に稼働することによ
り同時に複数個の平文の暗号化処理を行うことを特徴と
する請求項1、請求項2、請求項3、請求項4または請
求項5に記載の暗号装置。 - 【請求項7】暗号化鍵に基づき平文の列から該平文に対
応する暗号文の列を生成する暗号装置であって、中間鍵
を用いて線形または非線形のビット列変換を行う1個以
上の変換手段と入力された暗号鍵に対し線形または非線
形のビット列変換を行い、中間鍵の初期値を生成する中
間鍵生成手段と、中間鍵更新情報を用いて中間鍵を更
新、記憶する中間鍵記憶手段とを備えた暗号装置を実現
するためのプログラムを記録したコンピュータが読みと
り可能な記録媒体において、 前記変換手段のうち少なくとも1個は、前記中間鍵記憶
手段と対をなし、対となった前記変換手段は、前記中間
鍵記憶手段に記憶された中間鍵による制御を受け、前記
対になった変換手段のうち少なくとも1個は、ビット列
変換が行われるたびに中間鍵を更新するための中間鍵更
新情報を生成し、対になった中間鍵記憶手段に中間鍵更
新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
た中間鍵の初期値を2個以上の予め定められた個数分保
持し、かつビット列変換が行われるたびに2個以上保持
している中間鍵の初期値から少なくとも1個の中間鍵の
初期値を選択する手段を持ち、該選択された中間鍵の初
期値と前記中間鍵更新情報に基づいて中間鍵を更新し、
該更新された中間鍵を使用して前記対になった変換手段
を制御し、該更新された中間鍵が更新に使用するために
選択された前記少なくとも1個の中間鍵の初期値の長さ
に更新されることを特徴とする暗号装置を実現するため
のプログラムを記録したコンピュータが読みとり可能な
記録媒体。 - 【請求項8】前記中間鍵更新情報を送る変換手段と対に
なった中間鍵記憶手段は、過去に受け取った中間鍵更新
情報を1個以上の予め定められた回数分記憶し、更に中
間鍵更新情報を受け取るたびに最も古い中間鍵更新情報
を破棄し、更に記憶している中間鍵更新情報の集合と中
間鍵の初期値の集合を入力として、次に変換手段に送る
べき中間鍵を生成することを特徴とする請求項9に記載
の暗号装置を実現するためのプログラムを記録したコン
ピュータが読みとり可能な記録媒体。 - 【請求項9】暗号化鍵に基づき平文の列から該平文に対
応する暗号文の列を生成する暗号装置であって、 中間鍵を用いて線形または非線形のビット列変換を行う
2個以上の変換手段と、入力された暗号鍵に対し線形ま
たは非線形のビット列変換を行い中間鍵の初期値を生成
する中間鍵生成手段と、 中間鍵更新情報を用いて中間鍵を更新、記憶する中間鍵
記憶手段とを備え、 2個以上の前記変換手段および該変換手段と対をなす2
個以上の前記中間鍵記憶手段をもつ暗号装置において、
前記変換手段は、この変換手段と対となった中間鍵記憶
手段に記憶された中間鍵による制御を受け、 前記変換手段のうち少なくとも1個は、 ビット列変換が行われるたびに中間鍵を更新するための
中間鍵更新情報を生成し、 対になった中間鍵記憶手段に中間鍵更新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
た中間鍵の初期値を2個以上の予め定められた個数分保
持し、 かつ、ビット列変換が行われるたびに、 該中間鍵記憶手段は、該中間鍵記憶手段が保持する中間
鍵更新情報の集合、該中間鍵記憶手段が保持する中間鍵
の初期値の集合、該中間鍵記憶手段と異なる中間鍵記憶
手段が保持する中間鍵更新情報の集合、または、該中間
鍵記憶手段と異なる中間鍵記憶手段が保持する中間鍵の
初期値の集合から、 1個以上の中間鍵更新情報または2個以上の中間鍵の初
期値もしくは1個以上の中間鍵更新情報および2個以上
の中間鍵の初期値を選択する手段を持ち、 それにより選択された1個以上の中間鍵更新情報または
2個以上の中間鍵の初期値もしくは1個以上の中間鍵更
新情報および2個以上の中間鍵の初期値に基づいて前記
変換手段に送るべき中間鍵を生成・更新することを特徴
とする暗号装置を実現するためのプログラムを記録した
コンピュータが読みとり可能な記録媒体。 - 【請求項10】前記中間鍵更新情報を送る変換手段と対
になった中間鍵記憶手段は、過去に受け取った中間鍵更
新情報を1個以上の予め定められた回数分記憶し、更に
中間鍵更新情報を受け取るたびに最も古い中間鍵更新情
報を破棄し、更に記憶している中間鍵更新情報の集合と
中間鍵の初期値の集合を入力として、次に変換手段に送
るべき中間鍵を生成することを特徴とする請求項9に記
載の暗号装置を実現するためのプログラムを記録したコ
ンピュータが読みとり可能な記録媒体。 - 【請求項11】前記選択された1個以上の中間鍵更新情
報または2個以上の中間鍵の初期値もしくは1個以上の
中間鍵更新情報および2個以上の中間鍵の初期値が、前
記変換手段の個数と同じ回数以上には連続して同一のも
のが選択されないことを特徴とする請求項9または請求
項10に記載の暗号装置を実現するためのプログラムを
記録したコンピュータが読みとり可能な記録媒体。 - 【請求項12】前記各変換手段を並列に稼働することに
より同時に複数個の平文の暗号化処理を行うことを特徴
とする請求項7、請求項8、請求項9、請求項10また
は請求項11に記載の暗号装置を実現するためのプログ
ラムを記録したコンピュータが読みとり可能な記録媒
体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21327497A JP3351305B2 (ja) | 1997-08-07 | 1997-08-07 | 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 |
EP98114538A EP0896451B1 (en) | 1997-08-07 | 1998-08-03 | Encryption apparatus and computer-readable recording medium containing program for realizing the same |
DE69834296T DE69834296T2 (de) | 1997-08-07 | 1998-08-03 | Verschlüsselungsvorrichtung und rechnerlesbares Aufzeichnungsmedium mit Ausführungsprogramm |
US09/129,775 US6272221B1 (en) | 1997-08-07 | 1998-08-06 | Encryption apparatus and computor-readable recording medium containing program for realizing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21327497A JP3351305B2 (ja) | 1997-08-07 | 1997-08-07 | 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1152849A JPH1152849A (ja) | 1999-02-26 |
JP3351305B2 true JP3351305B2 (ja) | 2002-11-25 |
Family
ID=16636400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21327497A Expired - Lifetime JP3351305B2 (ja) | 1997-08-07 | 1997-08-07 | 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6272221B1 (ja) |
EP (1) | EP0896451B1 (ja) |
JP (1) | JP3351305B2 (ja) |
DE (1) | DE69834296T2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2449662C (en) | 2000-03-09 | 2004-08-17 | Mitsuru Matsui | Block encryption device using auxiliary conversion |
US7092525B2 (en) * | 2000-04-20 | 2006-08-15 | Matchett Noel D | Cryptographic system with enhanced encryption function and cipher key for data encryption standard |
KR100377172B1 (ko) * | 2000-06-13 | 2003-03-26 | 주식회사 하이닉스반도체 | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러 |
GB0023409D0 (en) * | 2000-09-22 | 2000-11-08 | Integrated Silicon Systems Ltd | Data encryption apparatus |
US7502463B2 (en) * | 2000-12-13 | 2009-03-10 | Broadcom Corporation | Methods and apparatus for implementing a cryptography engine |
US7142671B2 (en) * | 2000-12-13 | 2006-11-28 | Broadcom Corporation | Methods and apparatus for implementing a cryptography engine |
US7366300B2 (en) * | 2000-12-13 | 2008-04-29 | Broadcom Corporation | Methods and apparatus for implementing a cryptography engine |
US7260215B2 (en) * | 2001-09-04 | 2007-08-21 | Portauthority Technologies Inc. | Method for encryption in an un-trusted environment |
ITMI20011938A1 (it) * | 2001-09-17 | 2003-03-17 | Cit Alcatel | Metodo per criptare un flusso di dati |
US7076059B1 (en) * | 2002-01-17 | 2006-07-11 | Cavium Networks | Method and apparatus to implement the data encryption standard algorithm |
US7971241B2 (en) * | 2006-12-22 | 2011-06-28 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for providing verifiable security in storage devices |
JPWO2009034929A1 (ja) * | 2007-09-12 | 2010-12-24 | 日本電気株式会社 | 暗号化方法、暗号装置及び暗号処理プログラム |
US8315394B2 (en) * | 2007-10-24 | 2012-11-20 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for encrypting data on storage devices using an intermediate key |
JP4687775B2 (ja) * | 2008-11-20 | 2011-05-25 | ソニー株式会社 | 暗号処理装置 |
US9342712B2 (en) * | 2012-06-08 | 2016-05-17 | Advanced Micro Devices, Inc. | Method and system for accelerating cryptographic processing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3962539A (en) | 1975-02-24 | 1976-06-08 | International Business Machines Corporation | Product block cipher system for data security |
JP2862030B2 (ja) * | 1991-06-13 | 1999-02-24 | 三菱電機株式会社 | 暗号化方式 |
JPH06216897A (ja) | 1993-01-20 | 1994-08-05 | Nippon Signal Co Ltd:The | データ送受信装置 |
JPH0812537B2 (ja) | 1993-03-11 | 1996-02-07 | 日本電気株式会社 | 暗号化装置 |
-
1997
- 1997-08-07 JP JP21327497A patent/JP3351305B2/ja not_active Expired - Lifetime
-
1998
- 1998-08-03 EP EP98114538A patent/EP0896451B1/en not_active Expired - Lifetime
- 1998-08-03 DE DE69834296T patent/DE69834296T2/de not_active Expired - Lifetime
- 1998-08-06 US US09/129,775 patent/US6272221B1/en not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
宮野浩,「既知および選択平文攻撃を困難にする暗号連鎖方式」,電子情報通信学会技術研究報告,VOL.92 |
暗号連鎖方式の一提案,暗号と情報セキュリティシンポジウム,1997年 1月29日,18C |
Also Published As
Publication number | Publication date |
---|---|
US6272221B1 (en) | 2001-08-07 |
JPH1152849A (ja) | 1999-02-26 |
DE69834296T2 (de) | 2007-03-29 |
EP0896451A2 (en) | 1999-02-10 |
DE69834296D1 (de) | 2006-06-01 |
EP0896451B1 (en) | 2006-04-26 |
EP0896451A3 (en) | 2001-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5745577A (en) | Symmetric cryptographic system for data encryption | |
Kelsey et al. | Related-key cryptanalysis of 3-way, biham-des, cast, des-x, newdes, rc2, and tea | |
JP3351305B2 (ja) | 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 | |
Cheon et al. | Improved impossible differential cryptanalysis of Rijndael and Crypton | |
Biryukov et al. | Slide attacks | |
JPH0812537B2 (ja) | 暗号化装置 | |
Lim | CRYPTON: A new 128-bit block cipher | |
Derbez et al. | Exhausting Demirci-Selçuk meet-in-the-middle attacks against reduced-round AES | |
JP2002023622A (ja) | 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体 | |
Knudsen et al. | Truncated differentials and Skipjack | |
EP1510035A1 (en) | S-box encryption in block cipher implementations | |
Knudsen et al. | On the design and security of RC2 | |
Biham | Cryptanalysis of multiple modes of operation | |
Preneel et al. | Recent developments in the design of conventional cryptographic algorithms | |
JP2000066587A (ja) | データ処理装置及び通信システム並びに記録媒体 | |
Jana | Differential fault attack on feistel-based sponge AE schemes | |
Carter et al. | Key schedule classification of the AES candidates | |
JP4395527B2 (ja) | 情報処理装置 | |
EP1001398B1 (en) | Ciphering apparatus | |
Wagner et al. | Cryptanalysis of FROG | |
JPH09269727A (ja) | 暗号化方法および暗号化装置 | |
Koo et al. | Rotational‐XOR Rectangle Cryptanalysis on Round‐Reduced Simon | |
Biham et al. | Differential cryptanalysis of Q | |
CN111262685A (zh) | 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质 | |
JP2002108205A (ja) | ブロック暗号方法及び復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020820 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080920 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080920 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090920 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090920 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100920 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110920 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120920 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130920 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term |