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
Application number
JP21327497A
Other languages
English (en)
Other versions
JPH1152849A (ja
Inventor
幸保 角尾
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP21327497A priority Critical patent/JP3351305B2/ja
Priority to EP98114538A priority patent/EP0896451B1/en
Priority to DE69834296T priority patent/DE69834296T2/de
Priority to US09/129,775 priority patent/US6272221B1/en
Publication of JPH1152849A publication Critical patent/JPH1152849A/ja
Application granted granted Critical
Publication of JP3351305B2 publication Critical patent/JP3351305B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key 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

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データの通信や蓄
積の際にデータを秘匿するための暗号装置及び暗号装置
を実現するためのプログラムを記録した記憶媒体に関す
る。
【0002】
【従来の技術】DES(DataEncryption
Standard)と呼ばれる暗号方式(特開昭51−
108701号公報「暗号装置」)に代表される共通鍵
暗号の多くは、比較的簡単な変換操作を繰り返し行うこ
とによって複雑な暗号化変換を実現することを特徴とし
ている。これらの暗号をより安全なものにしようとする
工夫は従来からさまざまな形でなされてきた。
【0003】例えば、暗号連鎖方式のひとつであるDE
SのCBCモード(例えば特開昭48−17234号公
報、「現代暗号理論」池野信一/小山謙二著、社団法人
電子通信学会1986年のP.66に解説)などはその
一例であり、ひとつのブロックの暗号化がそれ以前の暗
号化処理の結果の影響をうけるために平文の統計的な特
徴が攪乱され解読が困難になることを目的とした方式で
ある。
【0004】しかし、この方式はひとつのブロックの暗
号化が完了しないと次のブロックの暗号化を開始できな
いという点と、同じ鍵を用いて多くの回数の暗号化を行
うために、暗号を解読しようとする人間に多くの手がか
りを与えてしまうという点の危険性が依然として解決さ
れていない。
【0005】これらの暗号をより安全なものにしようと
する工夫の一つに、特開平6−266284号公報に記
載の「暗号連鎖方式」がある。これは、暗号化を行なう
変換手段に作用させる中間鍵を、中間鍵の初期値と中間
鍵更新情報によって、対応する平文毎に変化させる方式
である。
【0006】しかし、この方式では、中間鍵の初期値が
一通りしか準備されていない。
【0007】
【発明が解決しようとする課題】従来の暗号連鎖方式で
は、同一の平文を入力し続けるような選択平文攻撃を行
なえば、中間鍵の更新情報が同一のものとなり、中間鍵
の初期値が一定であるために中間鍵の更新が行われない
状態になる。従って、同一の平文を入力し続けながら暗
号文を観察することで中間鍵の更新が行なわれたかある
いは行なわれなかったかという状態の変化を認知させて
しまう危険性があった。
【0008】本発明の目的は、長い平文の列を暗号化し
ても同じ鍵で暗号化した多量の暗号文を攻撃者に与える
ことなく、さらに選択平文攻撃に対しても暗号装置内部
の鍵更新情報の推定を困難にし、かつ、並列化による高
速化が可能であり、しかも変換の繰り返し回数を増やし
てもそれに応じてより多重の並列化が可能になることに
よって速度の低下をきたさない暗号装置を提供すること
である。
【0009】
【課題を解決するための手段】第1の発明の暗号装置
は、暗号化鍵に基づき平文の列から該平文に対応する暗
号文の列を生成する暗号装置であって、中間鍵を用いて
線形または非線形のビット列変換を行う1個以上の変換
手段と入力された暗号鍵に対し線形または非線形のビッ
ト列変換を行い、中間鍵の初期値を生成する中間鍵生成
手段と、中間鍵更新情報を用いて中間鍵を更新、記憶す
る中間鍵記憶手段とを備えた暗号装置において、前記変
換手段のうち少なくとも1個は、前記中間鍵記憶手段と
対をなし、対となった前記変換手段は、前記中間鍵記憶
手段に記憶された中間鍵による制御を受け、前記対にな
った変換手段のうち少なくとも1個は、ビット列変換が
行われるたびに中間鍵を更新するための中間鍵更新情報
を生成し、対になった中間鍵記憶手段に中間鍵更新情報
を送り、前記各中間鍵記憶手段は前記中間鍵生成手段か
ら受け取った中間鍵の初期値を1個以上の予め定められ
た個数分保持し、かつビット列変換が行われるたびに1
個以上保持している中間鍵の初期値から少なくとも1個
の中間鍵の初期値を選択する手段を持ち、前記対になっ
た変換手段を制御し、前記中間鍵更新情報に基づいて中
間鍵を更新することを特徴とする。
【0010】第1の発明の暗号装置では、暗号化変換を
制御しているビット列(中間鍵)を暗号化が行われるた
びに更新していくことを特徴としている。このことによ
って、事実上1ブロック暗号化する度に暗号鍵が更新さ
れていることになり、結果として解読者に同じ鍵で暗号
化された大量の暗号文を与えないようにできる。特に、
中間鍵の初期値が1個以上存在し、異なる初期値を使っ
た鍵の更新が行えるため、初期値を1個に限る場合に比
べ、解読が困難になる。
【0011】第2の発明の暗号装置は、第1の発明にお
いて、前記中間鍵更新情報を送る変換手段と対になった
中間鍵記憶手段は、過去に受け取った中間鍵更新情報を
1個以上の予め定められた回数分記憶し、更に中間鍵更
新情報を受け取るたびに最も古い中間鍵更新情報を破棄
し、更に記憶している中間鍵更新情報の集合と中間鍵の
初期値の集合を入力として、次に変換手段に送るべき中
間鍵を生成することを特徴とする。
【0012】第2の発明の暗号装置では、中間鍵の初期
値および中間鍵を更新する際の中間鍵更新情報の双方を
複数のバッファに記憶しておくことにより、通信時のビ
ット誤りの後続ビットへの波及を極力抑えている。
【0013】第3の発明の暗号装置は、第1または第2
の発明において、2個以上の前記変換手段をもち、か
つ、前記各中間鍵記憶手段は対となる変換手段以外の変
換手段と対をなす中間鍵記憶手段が保持する中間鍵更新
情報の集合または中間鍵の初期値の集合から、1個以上
の中間鍵更新情報または中間鍵の初期値もしくは中間鍵
更新情報および中間鍵の初期値を選択する手段を持ち、
それにより選択された1個以上の中間鍵更新情報または
中間鍵の初期値もしくは中間鍵更新情報および中間鍵の
初期値を入力として次に変換手段に送るべき中間鍵を生
成することを特徴とする。
【0014】第3の発明の暗号装置では、中間鍵記憶手
段に記憶された中間鍵の初期値や更新情報を対となる変
換手段のみならず、他の変換手段にまで使用させること
により、更新によって生じる中間鍵の種類を増やし、解
読を困難にする。
【0015】第4の発明の暗号装置は、第1、第2また
は第3の発明において、2個以上の前記変換手段をも
ち、かつ、前記各中間鍵記憶手段は対となる変換手段以
外の変換手段と対をなす中間鍵記憶手段が保持する中間
鍵更新情報の集合または中間鍵の初期値の集合から、1
個以上の中間鍵更新情報または中間鍵の初期値もしくは
中間鍵更新情報および中間鍵の初期値を選択する手段を
持ち、かつ、それにより選択された1個以上の中間鍵更
新情報または中間鍵の初期値もしくは中間鍵更新情報お
よび中間鍵の初期値が、前記変換手段の個数と同じ回数
以上には連続して同一のものが選択されないことを特徴
とする。
【0016】第4の発明の暗号装置では、中間鍵の更新
周期を繰り返し型共通鍵暗号系の繰り返し回数以下にす
ることにより、同一の平文を入力し続ける操作に対し、
内部の鍵更新が行われなくなる(全ての中間鍵更新情報
が同一になってしまう)といった状態を防止し、解読の
手がかりを与えなくなる。
【0017】第5の発明の暗号装置は、第1、第2、第
3または第4の発明において、前記変換手段が中間鍵を
更新するための中間鍵更新情報を生成するに際し、該変
換手段の入力となるビット列のうち該変換手段を制御す
る中間鍵を除くビット列を基に前記中間鍵更新情報を生
成し、前記中間鍵記憶手段に中間鍵更新情報を送り、前
記中間鍵更新手段が更新した中間鍵を該中間鍵更新情報
を採用したデータブロックの変換に用いるかまたは用い
ないかを予め設定しておくことを特徴とする。
【0018】第5の発明の暗号装置では、中間鍵の更新
情報の基となるデータを変換手段の入力データから採用
することにより、更新された中間鍵を、該入力データを
変換を行う時および該入力データより後の入力データブ
ロックの変換を行う時、に対して適用可能となり、更新
によって生じる中間鍵の種類を増やすのみならず適用時
期をも変更可能となり、解読を困難にする。
【0019】第6の発明の暗号装置は、第1、第2、第
3または第4の発明において、前記変換手段が中間鍵を
更新するための中間鍵更新情報を生成するに際し、該変
換手段が入力となるビット列から出力となるビット列を
生成する過程の途中で発生するビット列を基に前記中間
鍵更新情報を生成し、前記中間鍵記憶手段に中間鍵更新
情報を送り、前記中間鍵更新手段が更新した中間鍵を該
中間鍵更新情報を採用したデータブロックの変換に用い
るかまたは用いないかを予め設定しておくことを特徴と
する。
【0020】第6の発明の暗号装置では、中間鍵の更新
情報の基となるデータを変換手段の変換途中のデータか
ら採用することにより、更新された中間鍵を該変換手段
の残りの変換過程を実施する時および該変換より後の入
力データブロックに対する変換を行う時、に対して適用
可となり、更新によって生じる中間鍵の種類を増やすの
みならず適用時期をも変更可能となり、解読を困難にす
る。
【0021】第7の発明の暗号装置は、第1、第2、第
3または第4の発明において、前記変換手段が中間鍵を
更新するための中間鍵更新情報を生成するに際し、該変
換手段の出力となるビット列を基に前記中間鍵更新情報
を生成し、前記中間鍵記憶手段に中間鍵更新情報を送
り、前記中間鍵更新手段が更新した中間鍵を該中間鍵更
新情報を採用したデータブロックの変換に用いるかまた
は用いないかを予め設定しておくことを特徴とする。
【0022】第7の発明の暗号装置では、中間鍵の更新
情報の基となるデータを変換手段の出力データから取る
ことにより、該変換手段で攪拌された更新情報を用いる
ことができ、更新によって生じる中間鍵の推定が困難に
なる。
【0023】第8の発明の暗号装置は、第1、第2、第
3、第4、第5、第6または第7の発明において、前記
各変換手段を並列に稼働することにより同時に複数個の
平文の暗号化処理を行うことを特徴とする。
【0024】第8の発明の暗号装置では、第1〜7の発
明では、各段の変換においてテキストの処理が終了し中
間鍵が更新されれば、それに続く段の処理を待つことな
く次のテキストの処理の入力待ち状態に入ることがで
き、これによって並列化が可能になる。
【0025】
【発明の実施の形態】図1は、本願の第1の発明の一実
施形態を示すブロック図である。図2、3、4は、特開
平6−266284号公報に記載された発明を説明する
ための図である。これらの図を参考に使いながら、本発
明の特徴を説明する。
【0026】図1において平文と呼ばれるビット列が装
置内部に取り込まれ、1個以上の直列に接続された変換
手段111〜115によって、変換操作が行われ、最終
的に装置外に暗号文として出力される。変換手段111
〜115は、それぞれが必ずしも機能が同一である必要
はなく、各々線形または非線形のビット列変換を行う機
能を有し、その機能は各変換手段それぞれに対応した中
間鍵記憶手段131〜135に保持されている中間鍵に
よって制御され、かつ、ビット列変換が行われる度に中
間鍵更新情報を生成し、これを中間鍵記憶手段に転送す
る機能をもつ。
【0027】一方、鍵と呼ばれるビット列は、外部より
中間鍵生成手段12において、鍵に対し線形または非線
形の変換を施すことによって各中間鍵に対応する中間鍵
の初期値を生成し、中間鍵記憶手段に転送する。
【0028】中間鍵記憶手段131〜135は、中間鍵
を記憶する手段の他に、中間鍵を変換手段に送ることに
よって変換手段を制御する機能と、変換手段によって生
成、転送された中間鍵更新情報を受け取り、その制御の
もとに中間鍵を更新する機能とを持つ。
【0029】図2は、特開平6−266284号公報に
記載された第1の発明である暗号連鎖方式をDESに適
用した一実施形態を示すブロック図であり、図3は、D
ESのF関数を示す図である。図5は、本発明の第1の
発明である暗号連鎖方式をDESに適用した実施形態を
示すブロック図である。図2と図5を比較すると、中間
鍵初期値記憶部57が付加されている点が大きく異な
る。
【0030】鍵スケジューリング部51は、図1におけ
る中間鍵生成手段12に相当するものである。まず、暗
号化開始時に、64ビットの暗号鍵を鍵スケジューリン
グ部51に入力する。暗号鍵スケジューリング部51
は、入力された暗号鍵をもとに中間鍵の初期値を出力と
して中間鍵初期値記憶部57に送る。中間鍵は、後述す
る暗号化部内に16個存在するF関数と呼ばれるデータ
変換装置のそれぞれに対応する各48ビット×6個、す
なわち全体では4608ビット(DESの6倍の中間鍵
初期値)から成っている。
【0031】特開平6−266284号公報には、DE
Sの鍵スケジューラの動作が詳述されているが、ここで
は要点を説明する。
【0032】鍵スケジューリング部51では、64ビッ
トから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 )を生成関数として用いたが、予め定められた
他の関数を用いても良い。
【0033】暗号化部は、本実施形態における鍵スケジ
ューリング部以外の部分を指し、初期転置IP53、最
終転置IP-155、16個のF関数54、F関数内にあ
るものとは別に16個の拡大転置E56、16個の中間
鍵更新記憶部52、16個の中間鍵初期値記憶部57
(この実施形態では予め6個の中間鍵初期値を保持する
ように設定している)およびこれらが保持するデータを
下記の手順に従って処理するために必要なデータ通進路
と排他的論理和を計算するための演算器からなる。
【0034】鍵スケジューリング部51による処理が終
了し各F関数に対する中間鍵の初期値がセットされた
ら、暗号化しようとする平文の先頭64ビットを暗号化
部入力する。この64ビットの入力は、まず初期転置I
P53が施される。初期転置IP53は、予め定められ
たテーブルの値に従った、ビット列の並び換え操作であ
る。初期転置IP53の出力64ビットは、前半32ビ
ットと後半32ビットに分割される。前半32ビットを
0 、後半32ビットをR0 とする。これをもとに以下
の式に従って順次L1 、R1 、L2 、R2 、…、L16
16を生成する。
【0035】Ln=Rn-1n=Ln-1 EXOR F(Rn-1,Kn) EXORは排他的論理和、Fは後述するF関数54であ
る。またKn は、n番目のF関数に対する中間鍵更新記
憶部52が保持する中間鍵である。中間鍵は、初期値と
しては前述の鍵スケジューリング部51で生成された値
の内の1個になっているが、F関数で演算がおこなわれ
る度に後述のとおり値が更新される。上記の式を実行し
た結果得られたR16、L16からなる64ビットに対して
最終転置IP-155が施され、その出力をもとの平文に
対する暗号文の最初の64ビットとする。最終転置IP
-155は、予め定められたテーブルの値に従った、ビッ
ト列の並び換え操作である。
【0036】図1における変換手段は、この実施形態に
おいては、初期転置、最終転置、およびLn-1 、Rn-1
からLn 、Rn を求める操作を指している。次に、後述
する方法により、各F関数の中間鍵が更新される。
【0037】続いて、平文の次の64ビットが暗号化部
に入力され、上記と同様の手順で暗号文の次の64ビッ
トが生成され、再び各F関数の中間鍵が更新される。以
下この手順が平文が無くなるまで繰り返され、最終的な
暗号文が得られる。
【0038】16個のF関数はどれも同じ構造を持ち、
48ビットの中間鍵によって制御され、32ビットの入
力を受けて32ビットを出力する。F関数の構造を図3
に示す。特開平6−266284号公報には、図3のF
関数の動作が詳述されているが、ここでは要点を説明す
る。拡大転置E31は、予め定められたテーブルの値に
従った、32ビットの中から重複を許して、48ビット
を取り出すビット列の選択操作である。F関数の32ビ
ットの入力は、拡大転置E31によって48ビットに拡
大され、さらに中間鍵とのビット毎の排他的論理和が取
られる。この結果の48ビットを、6ビットずつの8つ
のブロックに分ける。
【0039】この8つのブロックはそれぞれ、S1 ,S
2 ,…S8 というS−boxの入力となる。各S−bo
xの入力は6ビットであり、出力は4ビットである。8
つのS−boxは、それぞれ異なる8つの予め定められ
たテーブルと6ビットの入力に従って、出力の4ビット
の値を選択する変換である。
【0040】8つのS−boxのそれぞれ4ビットずつ
計32ビットの出力は、転置P33によって転置され
る。転置P33の出力がこのF関数の出力になる。転置
P33は、予め定められたテーブルの値に従った、ビッ
ト列の並び換え操作である。
【0041】図6は、図5のなかの繰り返し処理の一つ
を拡大したものである。中間鍵更新記憶部52と中間鍵
更新記憶部64が、F関数54とF関数61が、拡大転
置E56と拡大転置E62が、1個以上の中間鍵初期値
を保持する中間鍵初期値記憶部57と中間鍵初期値記憶
部63が、それぞれ対応する。
【0042】各F関数の中間鍵は、そのF関数で操作が
行われる度に、以下の式に従って更新され、対応する前
記中間鍵更新記憶部64に記憶される。
【0043】Knew =Kold EXOR E(O)EXOR Se
l(E(O),K中間鍵初期値集合) ここで、新しい中間鍵をKnew 、古い中間鍵をKold
F関数で行われた操作によって得られた出力をOとし
た。また、Sel(x,K中間鍵初期値集合)を、xの
値に従って、1個以上の中間鍵初期値記憶部63から、
中間鍵をひとつ取り出す操作とし、E()を32ビット
入力から48ビットを出力する拡大転置とした。
【0044】Sel(x,K中間鍵初期値集合)は、予
め定められた操作であり、xを中間鍵初期値集合の要素
数で割った余りに従って取り出す操作等が考えられる。
本実施形態では、中間鍵初期値が予め6個に設定されて
いるので、xが13ならば、1個目の中間鍵初期値を、
xが9ならば、3個目の中間鍵初期値を選択することに
なる。他に、予めテーブルで取り出す順序を指定してお
き、xの値を無視してしまうといった特殊な操作も考え
られる。さらに、xと、中間鍵初期値の1個目と2個目
の3者の排他的論理和を計算して値を、Sel(x,K
中間鍵初期値集合)の値とするといった、複数の初期値
を使用する操作も考えられる。特に、複数の中間鍵初期
値を使って、Sel(x,K中間鍵初期値集合)の値と
する場合には、Knew のビット数が複数の中間鍵初期値
の合計のビット数よりも小さくなっている。この場合
は、Knew から中間鍵初期値を逆に計算しようとして
も、複数の候補が存在して解が一意に定まらない。すな
わち、鍵の逆演算を困難にする効果をさらに高めてい
る。
【0045】本発明の特徴は、中間鍵初期値集合をつか
って中間鍵を更新するという方式を導入したことであ
る。上記の中間鍵更新方法は一例に過ぎない。また、上
記の例はDESに本発明の方式を組み込んだ例である
が、一般に繰り返し型共通鍵暗号系の範疇に属する暗号
系であれば本発明の方式を組み入れることができる。
【0046】図2と図5を比較してわかるように、特開
平6−266284号公報に記載の発明では、(1)中
間鍵生成手段12において生成される中間鍵の初期値
が、中間鍵記憶手段ごとに1個である。という、条件が
あるが、本発明では、1個以上の中間鍵初期値(本実施
形態では予め6個に設定した)を保持する中間鍵初期値
記憶部57が付加されることにより、更新されたあとの
中間鍵のとりうる種類を飛躍的に増加させることができ
る。
【0047】次に、第2の発明の一実施形態を図7を用
いて説明する。ここに示す実施形態は上記の第1の発明
の実施形態のうち、各変換手段が送出する中間鍵更新情
報と、それを受け取って次回変換手段に受け渡すための
中間鍵を生成するための中間鍵更新処理部の構成を変更
し、過去に受け取った中間鍵更新情報を1個以上の予め
定められた回数分記憶し、更に中間鍵更新情報を受け取
るたびに最も古い中間鍵更新情報を破棄し、更に記憶し
ている中間鍵更新情報の集合と中間鍵の初期値の集合を
入力として、次に変換手段に送るべき中間鍵を生成する
ようにしたものである。
【0048】図7は、第2の発明の実施形態のうち上記
第1の発明から変更した部分、すなわち暗号化部の繰り
返し段のひとつを取り出したものである。F関数71お
よび拡大転置E72は上記第1の発明のF関数61およ
び拡大転置E62のものと同一で、1個以上の中間鍵初
期値を保持する中間鍵初期値記憶部75は中間鍵初期値
記憶部63と同一である。本実施形態では、F関数の入
力を中間鍵更新情報とし、それを拡大転置したものを1
個以上の中間鍵更新情報を保持する中間鍵更新情報記憶
部73に格納する。また、鍵スケジューラから生成され
た中間鍵の初期値は、中間鍵初期値記憶部75に格納さ
れている。
【0049】図7の例では、最も新しく格納された情報
を含めて6つの情報が格納されることになる。すなわ
ち、最も古い情報は5ブロック前の平文ブロックを暗号
化したさいの該繰り返し段におけるF関数の入力を拡大
転置したものになっている。これらのうち、最も新しい
情報、すなわちまさにF関数で処理を行おうとしている
入力から生成された情報を除く5つの情報と、鍵スケジ
ューリング部において一連の暗号化の初期に生成されて
以降該中間鍵初期値記憶部75に格納されている中間鍵
の初期値の集合から取り出された中間鍵初期値のひとつ
とのビット毎の排他的論理和を該F関数を制御する中間
鍵とする。
【0050】すなわち、本実施形態では、中間鍵更新処
理部74は、中間鍵初期値記憶部75に格納されている
初期値を1個目,2個目,…,6個目,1個目,…のよ
うに、巡回して順に取り出す処理を行なっている。中間
鍵更新処理部74の動作としては、図6の実施形態で示
した、Sel(x,K中間鍵初期値集合)のような、予
め定められた操作も可能である。このように、中間鍵更
新処理部74により取り出された、中間鍵初期値と、中
間鍵更新情報記憶部73から取り出された、中間鍵更新
情報の排他的論理和を計算して、F関数71の中間鍵と
する。該中間鍵の制御の下でF関数の処理が終了し、F
関数の次の入力を該繰り返し段が受け取ると、上記手順
を繰り返すことにより更新情報記憶装置73に新しい情
報が追加され最も古い情報が破棄される。
【0051】比較のため、図4に示した特開平6−26
6284号公報に記載の鍵更新方式の概要を説明する。
中間鍵更新情報記憶部43は、過去に受け取った中間鍵
更新情報を予め定められた回数分記憶する(図4では6
個である)。さらに、中間鍵更新情報を受け取る度に最
も古い中間鍵更新情報を破棄し、さらに記憶している中
間鍵更新情報の集合と中間鍵の初期値を入力として、次
ぎに変換手段に送るべき中間鍵を生成している。
【0052】図4と図7を比較してわかるように、特開
平6−266284号公報に記載の発明では、(1)中
間鍵生成手段12において生成される中間鍵の初期値
が、中間鍵記憶手段ごとに1個である。
【0053】という、条件があるが、本発明では、1個
以上の中間鍵初期値(本実施形態では予め6個に設定し
た)を保持する中間鍵初期値記憶部75が付加されるこ
とにより、更新されたあとの中間鍵のとりうる種類を飛
躍的に増加させることができる。
【0054】また、特開平6−266284号公報に記
載の発明では、(2)中間鍵を更新するのは、変換手段
が動作した後である。すなわち、時刻tにデータブロッ
クが変換手段に入力され、時刻tに中間鍵が更新された
とすると、更新された鍵は時刻(t+1)以降のデータ
ブロックにしか作用しない(時刻tのデータブロックに
作用できない)。
【0055】という、条件がある。これに関しては、後
述する第5の発明および第6の発明で解決されている。
【0056】次に、第2の発明の別の実施形態を図8を
用いて説明する。ここに示す実施形態は上記の図7を用
いて説明した第2の発明の実施形態のうち、各変換手段
が送出する中間鍵更新情報と、それを受け取って次回変
換手段に受け渡すための中間鍵を生成するための処理に
おいて、中間鍵更新情報記憶部の内容を順次書き換える
機能を有するように変更したものである。
【0057】図8は、該実施形態のうち上記第1の発明
から変更した部分、すなわち暗号化部の繰り返し段のひ
とつを取り出したものである。F関数81および拡大転
置E82は上記第1の発明のF関数61および拡大転置
E62のものと同一で、中間鍵初期値記憶部85は中間
鍵初期値記憶部75と同一である。本実施形態では、F
関数の入力を中間鍵更新情報とし、それを拡大転置した
ものを中間鍵更新情報記憶部83に格納する。また、鍵
スケジューラから生成された中間鍵の初期値は、中間鍵
初期値記憶部85に格納されている。
【0058】図8の例では、最も新しく格納された情報
を含めて6つの情報が格納されることになる。すなわ
ち、最も古い情報は5ブロック前の平文ブロックを暗号
化したさいの該繰り返し段におけるF関数の入力を拡大
転置したものになっている。これらのうち、最も新しい
情報、すなわちまさにF関数で処理を行おうとしている
入力から生成された情報を除く5つの情報と、中間鍵初
期値記憶部85に格納されている中間鍵の初期値の集合
を入力として48ビットの中間鍵を生成する中間鍵更新
処理部84が、該F関数を制御する中間鍵を生成する。
同時に、中間鍵更新情報記憶部83内にある、6個の中
間鍵更新情報を変換する。
【0059】中間鍵更新処理部84の動作の例として、
中間鍵初期値記憶部85に格納されている中間鍵の初期
値から格納順序に従って、一個取り出しwk1 とする。
次ぎに、中間鍵更新情報記憶部83に格納された最も古
い中間鍵更新情報を一個取り出しwk2 とする。Kn
wk1 +wk2 を計算し、Kn を中間鍵とする。さら
に、中間鍵更新情報記憶部83に格納されたすべての、
中間鍵更新情報に対してKn の排他的論理和を行なう。
といった一連の操作fが考えられる。この例は、fの一
実施例であり、他の手続きを使用しても構わない。
【0060】この変換によって、次回以降に使用される
中間鍵更新情報が単純な入力ブロックも基にしたもので
は無くなり、更新される中間鍵がとりうる種類を増加さ
せ、解読を困難にすろ。該中間鍵の制御の下でF関数の
処理が終了し、F関数の次の入力を該繰り返し段が受け
取ると、上記手順を繰り返すことにより中間鍵更新情報
記憶部83に新しい情報が追加され最も古い情報が破棄
される。
【0061】次に、第3の発明の一実施形態を図9を用
いて説明する。ここに示す実施形態は上記の図8を用い
て説明した第2の発明の実施形態のうち、次回変換手段
に受け渡すための中間鍵を生成するための処理におい
て、同一の段の対となる各変換手段が送出する中間鍵更
新情報および対となる中間鍵初期値記憶部が保持する中
間鍵初期値のみならず、他の段の変換手段が送出する中
間鍵更新情報および中間鍵初期値記憶部が保持する中間
鍵初期値をも使用して、中間鍵を生成するための中間鍵
更新処理を行う機能を有するように変更したものであ
る。
【0062】図9は、該実施形態のうち前記第2の発明
から変更した部分、すなわち暗号化部の繰り返し段のひ
とつを取り出したものである。F関数91および拡大転
置E92は前記第2の発明のF関数81および拡大転置
E82のものと同一で、中間鍵初期値記憶部95は中間
鍵初期値記憶部85と同一である。本実施形態では、F
関数の入力を中間鍵更新情報とし、それを拡大転置した
ものを中間鍵更新情報記憶部93に格納する。また、鍵
スケジューラから生成された中間鍵の初期値は、中間鍵
初期値記憶部95に格納されている。さらに、中間鍵を
生成する中間鍵更新処理部94は、当該段の中間鍵更新
情報記憶部93と隣接段の中間鍵更新情報記憶部が保持
している中間鍵更新情報および、当該段の中間鍵初期値
記憶部95と隣接段の中間鍵初期値記憶部が保持してい
る中間鍵初期値を使って、次回使用する中間鍵を生成す
るための中間鍵更新処理を行う。
【0063】中間鍵更新処理部94の動作の例を挙げて
みる。中間鍵初期値記憶部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が考えられる。
【0064】この例は、fの一実施形態であり、他の手
続きを使用しても構わない。この実施形態における隣接
段の設定例として、1段目の隣接段を2段目、2段目の
隣接段を3段目、…、16段目の隣接段を1段目と予め
定めておく。この、隣接段の設定は、1段目の隣接段を
(2段目と16段目)、2段目の隣接段を(3段目と1
段目)、…、16段目の隣接段を(1段目と15段目)
のように、複数設定したりすることも可能である。ま
た、予め設定すれば、1段目の隣接段を5段目とする等
の設定も可能である。
【0065】図9の例では、最も新しく格納された情報
を含めて6つの中間鍵更新情報が格納されることにな
る。すなわち、最も古い情報は5ブロック前の平文ブロ
ックを暗号化したさいの該繰り返し段におけるF関数の
入力を拡大転置したものになっている。これらのうち、
最も新しい情報、すなわちまさにF関数で処理を行おう
としている入力から生成された情報を除く5つの情報
と、中間鍵初期値記憶部95に格納されている中間鍵の
初期値の集合と、隣接段の5つの中間鍵更新情報と、中
間鍵初期値の集合に格納されている情報、を入力として
48ビットの中間鍵を生成する中間鍵更新処理部94
が、該F関数を制御する中間鍵を生成する。
【0066】すなわち、5+6+5+6=22個の情報
をもとに中間鍵が生成される。該中間鍵の制御の下でF
関数の処理が終了し、F関数の次の入力を該繰り返し段
が受け取ると、上記手順を繰り返すことにより93の中
間鍵更新情報記憶部93に新しい情報が追加され最も古
い情報が破棄される。
【0067】次に、第4の発明の一実施形態を図10を
用いて説明する。ここに示す実施形態は上記の図8を用
いて説明した第2の発明の実施形態のうち、次回変換手
段に受け渡すための中間鍵を生成するための処理におい
て、中間鍵初期値記憶部が保持する中間鍵初期値の同一
の値を、変換手段の総数以上に連続して使用することが
無いように制御する機能を有するように変更したもので
ある。
【0068】図10は、該実施形態のうち前記第2の発
明から変更した部分、すなわち暗号化部の繰り返し段の
ひとつを取り出したものである。F関数A1および拡大
転置EA2は前記第2の発明のF関数81および拡大転
置E82のものと同一で、中間鍵初期値記憶部A5は中
間鍵初期値記憶部85と同一である。本実施形態では、
F関数の入力を中間鍵更新情報とし、それを拡大転置し
たものを中間鍵記憶部内にある中間鍵更新情報記憶部A
3に格納する。また、鍵スケジューラから生成された中
間鍵の初期値は、中間鍵初期値記憶部A5に格納されて
いる。さらに、中間鍵を生成する中間鍵更新処理部A4
は、中間鍵更新情報記憶部A3と中間鍵初期値記憶部A
5が保持している中間鍵初期値を使って、次回使用する
中間鍵を生成するための中間鍵更新処理を行う。この実
施形態では、変換手段の総数(16)が設定されている
ので、同一の初期値を連続して使用できるのは15回ま
でと予め定めておく。
【0069】図10の例では、最も新しく格納された情
報を含めて6つの中間鍵更新情報格納されることにな
る。すなわち、最も古い情報は5ブロック前の平文ブロ
ックを暗号化したさいの該繰り返し段におけるF関数の
入力を拡大転置したものになっている。これらのうち、
最も新しい情報、すなわちまさにF関数で処理を行おう
としている入力から生成された情報を除く5つの情報
と、中間鍵初期値記憶部A5に格納されている中間鍵の
初期値の集合、を入力として48ビットの中間鍵を生成
する中間鍵更新処理部A4が、該F関数を制御する中間
鍵を生成する。該中間鍵の制御の下でF関数の処理が終
了し、F関数の次の入力を該繰り返し段が受け取ると、
上記手順を繰り返すことによりA3の記憶装置に新しい
情報が追加され最も古い情報が破棄される。
【0070】中間鍵更新処理部A4の動作の例を挙げて
説明する。中間鍵初期値記憶部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の一実施形態であり、他の手続きを使用しても構わな
い。
【0071】この例では、同一の初期値を連続して使用
できるのは15回までと予め定めているが、他にも種々
の定め方が可能である。例えば、最初の15個の平文を
処理する時に、各段の1個目の中間鍵初期値を使用し、
次の15個の平文を処理する時には、1段目の中間鍵初
期値のみを2個目の中間鍵初期値に変更し、さらに次の
15個の平文を処理する時には、1段目の中間鍵初期値
のみを3個目の中間鍵初期値に変更する。1段目の中間
鍵初期値を全て使い終えたら、2段目の中間鍵初期値を
2個目の中間鍵初期値に変更し、1段目の中間鍵初期値
を1個目の中間鍵初期値に戻して使用する。このように
して、全ての段の中間鍵初期値を組み合わせて、連続し
て同一の中間鍵初期値が使われないようにする、といっ
た方法も考えられる。
【0072】次に、第5の発明の一実施形態を図11を
用いて説明する。ここに示す実施形態は前記第2の発明
の実施形態のうち、中間鍵を生成するための中間鍵更新
処理手段が使用する中間鍵更新情報を、変換手段に入力
されるデータブロックから採用して中間鍵を更新するこ
とにより、特開平6−266284号公報に記載の発明
の、(2)中間鍵を更新するのは、変換手段が動作した
後である。すなわち、時刻tにデータブロックが変換手
段に入力され、時刻tに中間鍵が更新されたとすると、
更新された鍵は時刻(t+1)以降のデータブロックに
しか作用しない(時刻tのデータブロックに作用できな
い)。
【0073】という条件を解除するように変更したもの
である。
【0074】図11は、本実施形態の動作を示す概念図
である。変換手段B1は図7のF関数71と同一とし、
中間鍵更新記憶手段B2は図7の拡大転置72,中間鍵
更新情報記憶部73,中間鍵更新処理部74,中間鍵初
期値記憶部75から構成されるものとする。中間鍵更新
記憶手段B2は更新した中間鍵を、B3の中間鍵更新情
報を採用したデータブロックの変換に用いる(設定1)
か、B3の中間鍵更新情報を採用したデータブロックの
変換に用いない(設定2)か、のいずれかを予め設定し
ておく。
【0075】上記の(設定1)か(設定2)のいずれを
選択したかが、攻撃者に秘密にされることにより、更新
され変換手段B1に適用される中間鍵の推定がさらに困
難になる。
【0076】次に、第6の発明の一実施形態を図12を
用いて説明する。ここに示す実施形態は前記第5の発明
の実施形態のうち、中間鍵を生成するための中間鍵更新
処理手段が使用する中間鍵更新情報を、変換手段が変換
処理を行う過程の中間データから採用して中間鍵を更新
することにより、特開平6−266284号公報に記載
の発明の、(2)中間鍵を更新するのは、変換手段が動
作した後である。すなわち、時刻tにデータブロックが
変換手段に入力され、時刻tに中間鍵が更新されたとす
ると、更新された鍵は時刻(t+1)以降のデータブロ
ックにしか作用しない(時刻tのデータブロックに作用
できない)。
【0077】という条件を解除するように変更したもの
である。
【0078】図12は、本実施形態の動作を示す概念図
である。変換手段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に設定するものとす
る。
【0079】上記の(設定1)か(設定2)のいずれを
選択したかが、攻撃者に秘密にされることにより、更新
され変換手段C1に適用される中間鍵の推定がさらに困
難になる。
【0080】次に、第7の発明の一実施形態を図13を
用いて説明する。ここに示す実施形態は前記第5の発明
の実施形態のうち、中間鍵を生成するための中間鍵更新
処理手段が使用する中間鍵更新情報を、該変換手段の出
力データから採用して中間鍵を更新するものである。第
7の発明は、第5,6の発明にあわせて中間鍵更新情報
を採用する位置を明示したものであり、図6で説明した
第1の発明において暗黙の内に示されていたものであ
る。
【0081】図13は、本実施形態の動作を示す概念図
である。
【0082】変換手段D1は図6のF関数61と同一と
し、中間鍵更新記憶手段D2は図6の拡大転置62,中
間鍵更新処理部64,中間鍵初期値記憶部63から構成
されるものとする。この構成を採用すると、本発明の実
施形態は、第1の発明の実施形態と同一になる。
【0083】また、変換手段D1は図7のF関数71と
同一とし、中間鍵更新記憶手段D2は図7の拡大転置7
2,中間鍵更新情報記憶部73,中間鍵更新処理部7
4,中間鍵初期値記憶部75から構成されるものとす
る。この構成を採用すると、本発明の実施形態は、第2
の発明の実施形態において、中間鍵更新情報を変換手段
D1の出力から採用し、更新した中間鍵を、中間鍵更新
情報を採用したデータブロックの変換に用いない例とな
る。
【0084】第7の発明が、第5,6の発明よりも安全
な点は、変換手段D1によって攪拌されたデータを用い
て中間鍵更新情報が生成されるため、中間鍵更新情報の
推定がより困難になる点があげられる。
【0085】次に、第8の発明の一実施形態について説
明する。第8の発明では、第1の発明、第2の発明、第
3の発明、第4の発明、第5の発明、第6の発明および
第7の発明の実施形態において、各変換手段を並列に処
理する。
【0086】但し、以下で説明する並列処理において、
図9で説明した第3の発明と図11で説明した第5の発
明の組合せでは、中間鍵更新情報を採用したデータブロ
ックの変換に用いる(設定1)の場合を除く。また、図
9で説明した第3の発明と図12で説明した第6の発明
の組合せでは、中間鍵更新情報を採用したデータブロッ
クの変換に用いる(設定1)の場合を除く。
【0087】暗号化部の18個の変換手段、すなわち初
期転置、最終転置およびそれぞれ1個ずつF関数を擁す
るLn-1 、Rn-1 からLn 、Rn を生成する機能を有す
る16個の変換装置に対して、それぞれ別個のプロセッ
サを割り当てる。これ以外に、鍵スケジューリング部に
もプロセッサを割り当てる。
【0088】まず、暗号化開始時に64ビットの暗号鍵
を鍵スケジューリング部に入力する。鍵スケジューリン
グ部では、前述の操作により中間鍵を生成し、それぞれ
の中間鍵更新記憶部に転送する。
【0089】次に、平文の最初の64ビットを初期転置
に入力する。初期転置が終了すると、結果を第1のF関
数を擁する変換装置に転送し、転送が終了したら平文の
次の64ビットの入力を受け付ける。第1のF関数を擁
する変換装置は初期転置から受け取ったデータに前述の
処理を施し、直ちに前述の方法で中間鍵を更新する。そ
の後でデータを第2のF関数を擁する変換手段に転送
し、転送が終了したら初期転置からの次のデータの入力
を受け付ける。
【0090】以下同様にして、各変換装置は前段の変換
装置から受け渡されたデータの処理を行い中間鍵を更新
しデータを後続の変換装置に送った後に再び前段の変換
装置からデータの入力の受け付け状態に入る。最終段、
すなわち最終転置では受け取ったデータに最終転置を施
して暗号文の一部として出力する。
【0091】各プロセッサは並列に動作する。従って、
例えば第1の変換装置において最初の64ビットの処理
を終えて処理済のデータを第2の変換装置に転送し次の
64ビットが入力された後では、第2の変換装置での最
初の64ビットの処理が並列におこなわれることにな
る。同様にして、16個のF関数を擁する変換装置と初
期転置および最終転置のそれぞれは処理を並列に行う。
【0092】上記の例におけるプロセッサの割り当ては
一例に過ぎず、たとえばひとつのプロセッサに2つのF
関数を割り当てるというように、複数変換手段をひとつ
のプロセッサに割り当ててもよい。
【0093】以上第1〜第8の発明の実施の形態につい
て説明したが、これらの暗号装置を複数構成(第1〜第
8の暗号装置のみに限られない)し、使用目的に応じた
暗号装置を選択できるような実施の形態も考えられる。
例えば、特に安全性を必要とする用途には強度を重視し
た暗号装置を準備し、また特に速度性能を重視する用途
には速度を重視した暗号を準備し、これらの暗号装置の
中から用途に応じた最適の暗号装置を選択する等であ
る。
【0094】また、第1〜第8の発明の実施の形態で
は、装置のみについて説明したが、最後に、本発明の暗
号装置を実現するプログラムを記録した記録媒体の実施
の形態について説明する。
【0095】本発明の暗号装置を実現するためのプログ
ラムを記録した記録媒体は、上述の暗号装置の機能をコ
ンピュータが読みとり実行可能なプログラム言語によっ
てプログラムし、当該プログラムをCD−ROMやFD
等の記録媒体に記録することによって実現することがで
きる。
【0096】また上記記録媒体はサーバ装置などに備え
られるハードディスクなどの記憶手段でも良く、更に該
記憶手段にこのコンピュータプログラムを記録しておき
ネットワークを介してこのコンピュータプログラムを読
み込むことによって、本発明の記録媒体を実現すること
も可能である。
【0097】
【発明の効果】以上詳細に説明したように、本発明によ
れば、データの通信や蓄積の際にデータを秘匿するため
の安全性の高い暗号装置を得ることができる。
【図面の簡単な説明】
【図1】暗号連鎖方式の概念図である。
【図2】特開平6−266284号公報に記載された暗
号連鎖方式をDESに適用した一実施例を示すブロック
図である。
【図3】特開平6−266284号公報に記載されたD
ESのF関数を示す図である。
【図4】特開平6−266284号公報に記載された鍵
更新方式を示す図である。
【図5】本発明の暗号連鎖方式をDESに適用した一実
施形態を示すブロック図である。
【図6】中間鍵初期値が複数存在する(提案方式)鍵更
新方式を示す図である。
【図7】複数の更新情報を使用する(提案方式)鍵更新
方式を示す図(1)である。
【図8】複数の更新情報を使用する(提案方式)鍵更新
方式を示す図(2)である。
【図9】多段に渡って中間鍵の更新情報を共用する(提
案方式)鍵更新方式を示す図である。
【図10】中間鍵の更新周期を段数以下に抑える(提案
方式)鍵更新方式を示す図である。
【図11】変換手段の入力から中間鍵更新情報を採用す
る(提案方式)鍵更新方式を示す図である。
【図12】変換手段の途中経過から中間鍵更新情報を採
用する(提案方式)鍵更新方式を示す図である。
【図13】変換手段の出力から中間鍵更新情報を採用す
る(提案方式)鍵更新方式を示す図である。
【符号の説明】
111、113、115 中間鍵による制御を受け、中
間鍵更新情報を生成する機能を有する変換手段 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 中間鍵更新情報
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−266284(JP,A) 特開 平6−216897(JP,A) 特開 平4−365240(JP,A) 宮野浩,「既知および選択平文攻撃を 困難にする暗号連鎖方式」,電子情報通 信学会技術研究報告,VOL.92 暗号連鎖方式の一提案,暗号と情報セ キュリティシンポジウム,1997年 1月 29日,18C (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 610 H04L 9/16 JICSTファイル(JOIS)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】暗号化鍵に基づき平文の列から該平文に対
    応する暗号文の列を生成する暗号装置であって、中間鍵
    を用いて線形または非線形のビット列変換を行う1個以
    上の変換手段と、入力された暗号鍵に対し線形または非
    線形のビット列変換を行い中間鍵の初期値を生成する中
    間鍵生成手段と、中間鍵更新情報を用いて中間鍵を更
    新、記憶する中間鍵記憶手段とを備えた暗号装置におい
    て、 前記変換手段のうち少なくとも1個は、前記中間鍵記憶
    手段と対をなし、対となった前記変換手段は、前記中間
    鍵記憶手段に記憶された中間鍵による制御を受け、前記
    対になった変換手段のうち少なくとも1個は、ビット列
    変換が行われるたびに中間鍵を更新するための中間鍵更
    新情報を生成し、対になった中間鍵記憶手段に中間鍵更
    新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
    た中間鍵の初期値を2個以上の予め定められた個数分保
    持し、かつビット列変換が行われるたびに2個以上保持
    している中間鍵の初期値から少なくとも1個の中間鍵の
    初期値を選択する手段を持ち、該選択された中間鍵の初
    期値と前記中間鍵更新情報に基づいて中間鍵を更新し、
    該更新された中間鍵を使用して前記対になった変換手段
    を制御し、該更新された中間鍵が更新に使用するために
    選択された前記少なくとも1個の中間鍵の初期値の長さ
    に更新されることを特徴とする暗号装置。
  2. 【請求項2】前記中間鍵更新情報を送る変換手段と対に
    なった中間鍵記憶手段は、過去に受け取った中間鍵更新
    情報を1個以上の予め定められた回数分記憶し、更に中
    間鍵更新情報を受け取るたびに最も古い中間鍵更新情報
    を破棄し、更に記憶している中間鍵更新情報の集合と中
    間鍵の初期値の集合を入力として、次に変換手段に送る
    べき中間鍵を生成することを特徴とする請求項1に記載
    の暗号装置。
  3. 【請求項3】暗号化鍵に基づき平文の列から該平文に対
    応する暗号文の列を生成する暗号装置であって、 中間鍵を用いて線形または非線形のビット列変換を行う
    2個以上の変換手段と、 入力された暗号鍵に対し線形ま
    たは非線形のビット列変換を行い中間鍵の初期値を生成
    する中間鍵生成手段と、 中間鍵更新情報を用いて中間鍵を更新、記憶する中間鍵
    記憶手段とを備え、 2個以上の前記変換手段および該変換手段と対をなす2
    個以上の前記中間鍵記憶手段をもつ暗号装置において、
    前記変換手段は、この変換手段と対となった中間鍵記憶
    手段に記憶された中間鍵による制御を受け、 前記変換手段のうち少なくとも1個は、 ビット列変換が行われるたびに中間鍵を更新するための
    中間鍵更新情報を生成し、 対になった中間鍵記憶手段に中間鍵更新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
    た中間鍵の初期値を2個以上の予め定められた個数分保
    持し、 かつ、ビット列変換が行われるたびに、 該中間鍵記憶手段は、該中間鍵記憶手段が保持する中間
    鍵更新情報の集合、該中間鍵記憶手段が保持する中間鍵
    の初期値の集合、該中間鍵記憶手段と異なる中間鍵記憶
    手段が保持する中間鍵更新情報の集合、または、該中間
    鍵記憶手段と異なる中間鍵記憶手段が保持する中間鍵の
    初期値の集合から、 1個以上の中間鍵更新情報または2個以上の中間鍵の初
    期値もしくは1個以上の中間鍵更新情報および2個以上
    の中間鍵の初期値を選択する手段を持ち、 それにより選択された1個以上の中間鍵更新情報または
    2個以上の中間鍵の初期値もしくは1個以上の中間鍵更
    新情報および2個以上の中間鍵の初期値に基づいて前記
    変換手段に送るべき中間鍵を生成・更新することを特徴
    とする暗号装置。
  4. 【請求項4】前記中間鍵更新情報を送る変換手段と対に
    なった中間鍵記憶手段は、過去に受け取った中間鍵更新
    情報を1個以上の予め定められた回数分記憶し、更に中
    間鍵更新情報を受け取るたびに最も古い中間鍵更新情報
    を破棄し、更に記憶している中間鍵更新情報の集合と中
    間鍵の初期値の集合を入力として、次に変換手段に送る
    べき中間鍵を生成することを特徴とする請求項3に記載
    の暗号装置。
  5. 【請求項5】前記選択された1個以上の中間鍵更新情報
    または2個以上の中間鍵の初期値もしくは1個以上の中
    間鍵更新情報および2個以上の中間鍵の初期値が、前記
    変換手段の個数と同じ回数以上には連続して同一のもの
    が選択されないことを特徴とする請求項3または請求項
    4に記載の暗号装置。
  6. 【請求項6】前記各変換手段を並列に稼働することによ
    り同時に複数個の平文の暗号化処理を行うことを特徴と
    する請求項1、請求項2、請求項3、請求項4または請
    求項5に記載の暗号装置。
  7. 【請求項7】暗号化鍵に基づき平文の列から該平文に対
    応する暗号文の列を生成する暗号装置であって、中間鍵
    を用いて線形または非線形のビット列変換を行う1個以
    上の変換手段と入力された暗号鍵に対し線形または非線
    形のビット列変換を行い、中間鍵の初期値を生成する中
    間鍵生成手段と、中間鍵更新情報を用いて中間鍵を更
    新、記憶する中間鍵記憶手段とを備えた暗号装置を実現
    するためのプログラムを記録したコンピュータが読みと
    り可能な記録媒体において、 前記変換手段のうち少なくとも1個は、前記中間鍵記憶
    手段と対をなし、対となった前記変換手段は、前記中間
    鍵記憶手段に記憶された中間鍵による制御を受け、前記
    対になった変換手段のうち少なくとも1個は、ビット列
    変換が行われるたびに中間鍵を更新するための中間鍵更
    新情報を生成し、対になった中間鍵記憶手段に中間鍵更
    新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
    た中間鍵の初期値を2個以上の予め定められた個数分保
    持し、かつビット列変換が行われるたびに2個以上保持
    している中間鍵の初期値から少なくとも1個の中間鍵の
    初期値を選択する手段を持ち、該選択された中間鍵の初
    期値と前記中間鍵更新情報に基づいて中間鍵を更新し、
    該更新された中間鍵を使用して前記対になった変換手段
    を制御し、該更新された中間鍵が更新に使用するために
    選択された前記少なくとも1個の中間鍵の初期値の長さ
    に更新されることを特徴とする暗号装置を実現するため
    のプログラムを記録したコンピュータが読みとり可能な
    記録媒体。
  8. 【請求項8】前記中間鍵更新情報を送る変換手段と対に
    なった中間鍵記憶手段は、過去に受け取った中間鍵更新
    情報を1個以上の予め定められた回数分記憶し、更に中
    間鍵更新情報を受け取るたびに最も古い中間鍵更新情報
    を破棄し、更に記憶している中間鍵更新情報の集合と中
    間鍵の初期値の集合を入力として、次に変換手段に送る
    べき中間鍵を生成することを特徴とする請求項9に記載
    の暗号装置を実現するためのプログラムを記録したコン
    ピュータが読みとり可能な記録媒体。
  9. 【請求項9】暗号化鍵に基づき平文の列から該平文に対
    応する暗号文の列を生成する暗号装置であって、 中間鍵を用いて線形または非線形のビット列変換を行う
    2個以上の変換手段と、入力された暗号鍵に対し線形ま
    たは非線形のビット列変換を行い中間鍵の初期値を生成
    する中間鍵生成手段と、 中間鍵更新情報を用いて中間鍵を更新、記憶する中間鍵
    記憶手段とを備え、 2個以上の前記変換手段および該変換手段と対をなす2
    個以上の前記中間鍵記憶手段をもつ暗号装置において、
    前記変換手段は、この変換手段と対となった中間鍵記憶
    手段に記憶された中間鍵による制御を受け、 前記変換手段のうち少なくとも1個は、 ビット列変換が行われるたびに中間鍵を更新するための
    中間鍵更新情報を生成し、 対になった中間鍵記憶手段に中間鍵更新情報を送り、 前記中間鍵記憶手段は前記中間鍵生成手段から受け取っ
    た中間鍵の初期値を2個以上の予め定められた個数分保
    持し、 かつ、ビット列変換が行われるたびに、 該中間鍵記憶手段は、該中間鍵記憶手段が保持する中間
    鍵更新情報の集合、該中間鍵記憶手段が保持する中間鍵
    の初期値の集合、該中間鍵記憶手段と異なる中間鍵記憶
    手段が保持する中間鍵更新情報の集合、または、該中間
    鍵記憶手段と異なる中間鍵記憶手段が保持する中間鍵の
    初期値の集合から、 1個以上の中間鍵更新情報または2個以上の中間鍵の初
    期値もしくは1個以上の中間鍵更新情報および2個以上
    の中間鍵の初期値を選択する手段を持ち、 それにより選択された1個以上の中間鍵更新情報または
    2個以上の中間鍵の初期値もしくは1個以上の中間鍵更
    新情報および2個以上の中間鍵の初期値に基づいて前記
    変換手段に送るべき中間鍵を生成・更新することを特徴
    とする暗号装置を実現するためのプログラムを記録した
    コンピュータが読みとり可能な記録媒体。
  10. 【請求項10】前記中間鍵更新情報を送る変換手段と対
    になった中間鍵記憶手段は、過去に受け取った中間鍵更
    新情報を1個以上の予め定められた回数分記憶し、更に
    中間鍵更新情報を受け取るたびに最も古い中間鍵更新情
    報を破棄し、更に記憶している中間鍵更新情報の集合と
    中間鍵の初期値の集合を入力として、次に変換手段に送
    るべき中間鍵を生成することを特徴とする請求項9に記
    載の暗号装置を実現するためのプログラムを記録したコ
    ンピュータが読みとり可能な記録媒体。
  11. 【請求項11】前記選択された1個以上の中間鍵更新情
    報または2個以上の中間鍵の初期値もしくは1個以上の
    中間鍵更新情報および2個以上の中間鍵の初期値が、前
    記変換手段の個数と同じ回数以上には連続して同一のも
    のが選択されないことを特徴とする請求項9または請求
    項10に記載の暗号装置を実現するためのプログラムを
    記録したコンピュータが読みとり可能な記録媒体。
  12. 【請求項12】前記各変換手段を並列に稼働することに
    より同時に複数個の平文の暗号化処理を行うことを特徴
    とする請求項7、請求項8、請求項9、請求項10また
    は請求項11に記載の暗号装置を実現するためのプログ
    ラムを記録したコンピュータが読みとり可能な記録媒
    体。
JP21327497A 1997-08-07 1997-08-07 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 Expired - Lifetime JP3351305B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 日本電気株式会社 暗号化装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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