JP2934431B1 - 暗号鍵スケジュール装置、およびそのプログラム記録媒体 - Google Patents

暗号鍵スケジュール装置、およびそのプログラム記録媒体

Info

Publication number
JP2934431B1
JP2934431B1 JP10147479A JP14747998A JP2934431B1 JP 2934431 B1 JP2934431 B1 JP 2934431B1 JP 10147479 A JP10147479 A JP 10147479A JP 14747998 A JP14747998 A JP 14747998A JP 2934431 B1 JP2934431 B1 JP 2934431B1
Authority
JP
Japan
Prior art keywords
key
sub
function
input
information
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 - Fee Related
Application number
JP10147479A
Other languages
English (en)
Other versions
JPH11338345A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP10147479A priority Critical patent/JP2934431B1/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to EP99901884A priority patent/EP1052611B9/en
Priority to CA002319135A priority patent/CA2319135C/en
Priority to PCT/JP1999/000337 priority patent/WO1999038143A1/ja
Priority to CA002421142A priority patent/CA2421142C/en
Priority to US09/600,955 priority patent/US6769063B1/en
Priority to DE69931606T priority patent/DE69931606T8/de
Application granted granted Critical
Publication of JP2934431B1 publication Critical patent/JP2934431B1/ja
Publication of JPH11338345A publication Critical patent/JPH11338345A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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)

Abstract

【要約】 【課題】 副鍵がかなり知られても、他の副鍵、主鍵が
簡単には求まらない。 【解決手段】 中間鍵生成部100中のj段目のG関数
手段でYj-1 ,vj-1 を入力し、Yj を拡散してLj
j ,vj を出力し、各中間鍵Lj を記憶部200に記
憶し、副鍵生成部300でH関数ki =H(i,L1
2 ,…,LM )処理により副鍵ki を生成する。つま
り、iによって決められたビット位置の情報を、L1
2 ,…,LM から抽出してki を得る。またLj が得
られるごとに、iと、ki のビット位置qとにより決ま
るLj の位置の情報を、ki のビット位置qの情報とす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えば入力デー
タに対し複数段(目)攪乱を行う暗号装置に用いられ、
主鍵を複数段攪乱処理して、各暗号攪乱段に用いる複数
の副鍵を生成する鍵スケジュール装置、およびその記録
媒体に関するものである。
【0002】
【従来の技術】データを秘匿するためには暗号化技術が
有効である。暗号化の方法は秘密鍵暗号と公開鍵暗号が
ある。秘密鍵暗号では、暗号作成側と暗号復号側で同一
の鍵を用い、この鍵は秘密に管理されている。一方、公
開鍵暗号では暗号作成の鍵と復号の鍵は異なっており、
一方の鍵は公開しても、他の鍵は現実的な時間内に求ま
らないと広く信じられている。暗号化の処理速度の観点
からは、秘密鍵暗号方式が有利である。
【0003】高速かつ安全な秘密鍵暗号を構成するため
に、暗号化対象のデータを適当な長さのブロックに分割
し、そのブロック毎に暗号化する方法をブロック暗号と
呼ぶ。通常ブロック暗号は、暗号化の対象である入力デ
ータを攪乱するためのデータ拡散部、暗号装置に入力さ
れた秘密の鍵(以降ではこの鍵を主鍵とよぶ)を入力と
してデータ拡散部が利用する副鍵を生成するための鍵ス
ケジュール部から、構成されている。
【0004】この様な暗号方式として代表的なDESの
構成は、例えば「池野,小山:“現代暗号理論”電子通
信学会,pp.41−62,(1986)」に示されて
いる。データ拡散部では暗号学的にあまり強くない関数
を、このDESは図7に示すように入力データに複数回
繰り返して適用することにより安全性を高めている方式
が現在主流となっている。ここで、入力データは、暗号
化あるいは復号化の対象となるデータであって、それぞ
れ平文、暗号文とよばれる。この、あまり強くない関数
をF関数と呼ぶことにする。F関数の1回実行を1段と
呼ぶ。F関数で使用される鍵を副鍵とよび、鍵スケジュ
ール部で主鍵から副鍵を生成する。
【0005】ところで、ブロック暗号に対する攻撃法と
して差分解読法と線形解読法が強力であり、多くのブロ
ック暗号がこれらの解読法により解読できることがわか
ってきた。差分解読法は文献「E.Biham,A.S
hamir:“Differential Crypt
analysis of DES−like Cryp
tosystems,”Journal of Cry
ptology,Vol.4,No.1,pp.3−7
2」で、線形解読法は文献「M.Matsui:“Li
near Cryptanalysis Method
for DESCipher,”Advances
in Cryptology−EUROCRYPT '9
3(Lecture Notes in Comput
er Science 765),pp.386−39
7,Springer−Verlag,1994」に詳
しく説明されている。
【0006】上記の文献によれば、これらの攻撃法を適
用すると、通常、データ拡散部がN回F関数が繰り返さ
れて構成されている場合、まず、第N段目のF関数で用
いられる副鍵(以降ではkN と記す)が求まることが報
告されている。ところで、先に述べたDES暗号の場
合、鍵スケジュール部は、副鍵であるk 1 からk16をそ
れぞれ48ビットの値とし、64ビットの主鍵から8ビ
ット分のパリティビットを除いた56ビットをもとに、
その並べ替えを行ないつつ、部分情報を抽出することで
生成される(図7B参照)。したがって、k16が求まっ
てしまえば、残りの8(=56−48)ビットは総当た
りでも簡単に求まってしまう問題がある。
【0007】この問題に対して、鍵スケジュール部の副
鍵と主鍵の対応関係をさらに複雑にすることで、安全性
を向上する方法が、文献「宮口、栗原、太田、森田:F
EAL暗号の拡張、NTT研究実用化報告、vol.3
9,No.10,pp.1439−1450(199
0)」に示されている(図8参照)。この論文では、デ
ータ拡散手段(fk )を用いて主鍵から副鍵を生成する
ことで、たとえ副鍵が求まったとしても簡単には主鍵が
求まらないことを期待している。
【0008】上記文献で示されている鍵スケジュール部
の概要を図8に示す。図8で用いているデータ拡散手段
(fk )は、2つの入力、1つの出力をもった関数であ
り、2つの入力と1つの出力のうち2つが判明すれば、
残りの値を知ることができる性質を備えている。今、仮
にP2i+1,P2i+2,P2i+3,P2i+4,P2i+5,P2i+6
判明した場合、最終段(第i+8段)の拡散処理におい
て、出力のP2i+5,P2i+6と一方の入力P2i+1,P2i+2
が分かるので、他の入力値とP2i+3,P2i+4を用いて第
i+2段目のデータ拡散手段(fk )に対する入力が求
まる。従って、その入力と、P2i +3,P2i+4が知られて
いるため、前記データ拡散手段(fk )の入力を出力す
る排他的論理和回路も、その出力と一方の入力P2i+3
2i+4が知られているため他方の入力P2i,P2i-1が求
まる。このような操作を順次適用することで、データ拡
散部を解析することなしに、鍵スケジュール部だけを解
析することですべての副鍵(中間鍵)を決定できてしま
う。ここでは、連続した3段分の副鍵が求まるとすべて
の副鍵が決まることを指摘したが、2段分の副鍵を知っ
ている状況で、残り一段分の副鍵(図8の例では32ビ
ット)を推定することでも、攻撃に成功する。
【0009】差分解読法および線形解読法では、副鍵k
N ,kN-1 が求まりやすい。一方、従来の鍵スケジュー
ルではその出力結果であるP1 ,P2 ,…,PN を用い
てk 1 =P1 ,k2 =P2 ,…,kN =PN と設定して
いるので、ここで示した手順によって、まず、差分解読
法や線形解読法によって副鍵kN を求めたあと、鍵スケ
ジュールを解析することですべての副鍵が求まる恐れが
ある。
【0010】以上示したように、鍵スケジュール部の構
成法は暗号システムの安全性に大きな影響を与えるの
で、注意しなければならない。
【0011】
【発明が解決しようとする課題】この発明では、一部の
副鍵(例えば最終段(N段)と(N−1)段で使用する
2つの副鍵kN ,kN-1 )が知られた場合においても、
鍵スケジュール部を解析するだけでは他の副鍵および主
鍵が簡単には求まらないような、鍵スケジュール装置を
実現することを目標とする。
【0012】
【課題を解決するための手段】従来では、データ拡散部
でki とki+1 として使用する副鍵が、鍵スケジュール
部中のデータ拡散手段の出力Pi とPi+1 になってい
た。一方、差分解読法や線形解読法で求まる可能性の高
い副鍵はkN とkN-1 であるから、これらの情報を用い
てデータ拡散手段を組み合わせることで、他の副鍵を求
めやすくなっていた。
【0013】そこで、この発明では副鍵をスケジュール
する方法を、より複雑にすることでこの問題を解決す
る。この発明では少なくとも、k1 =P1 ,k2
2 ,…k N =PN の関係は避けて、副鍵kN とkN-1
が求まっても、データ拡散手段の出力PN とPN-1 に関
する多くの情報が洩れないようにするために、従来のデ
ータ拡散手段(図8中の関数fk )と同様の働きをする
G関数手段を用いるが、この発明の第1の観点によれ
ば、G関数手段の出力であるL成分が記憶部に一旦記憶
され、必要な個数だけL成分を求めた後に、それぞれの
L成分から出来るだけ均一に必要となる情報を抽出して
副鍵を生成するデータ抽出機能を備えたH関数手段が設
けられる。この発明の第2の観点によれば、G関数手段
の出力であるL成分からそれぞれの副鍵として使用され
る部分情報がH関数手段で抽出され、記憶部に記憶さ
れ、必要な個数のL成分から部分情報を抽出することで
副鍵が生成される。
【0014】作用 DESの場合、主鍵のビット位置を入れ換えるだけで副
鍵を生成していたので、鍵スケジュール処理は高速であ
った。しかし、副鍵の部分情報が知られると、直ちに主
鍵の対応する情報が分かってしまう問題があった。主鍵
と副鍵の関係を複雑にするために、鍵スケジュールの処
理量が大幅には増加しないように、かつ鍵スケジュール
部のプログラム規模が増加しないようにするために、デ
ータ拡散部で使用するF関数あるいはF関数を構成する
サブルーチン(以下ではこれらの関数をfと書く)を利
用することでデータ拡散関数G関数を構成して、G関数
を繰り返し呼び出す、つまり繰り返し用いることで、複
数個の中間値Lを生成する。
【0015】G関数は、2つの入力成分(Y,v)によ
って動作し、3つの出力成分(L,Y,v)を生成する
こととする。X成分のビット数は主鍵Kのビット数と一
致するか、それよりも大きいものとする。G関数は、デ
ータ拡散部に副鍵を供給するために、必要な回数(M
回)繰り返し呼び出されて、M個のL成分を生成する
(1M)。j回目に呼び出されたG関数の出力を
(Lj ,Yj ,vj )と表すと、この値の一部は(j+
1)回目に呼び出されたG関数の入力(Yj+1 =Yj
j+1 =vj )として利用される。ここで、Y0 はその
一部にKを含んだ値であり、v0 は予め定められた値
(例えば0)とする。
【0016】与えられた主鍵Kに対し、副鍵ki (i=
1,2,…,N)を以下のように定める。 (L1 ,(Y1 ,v1 )):=G(Y0 ,v0 ) (Lj+1 ,(Yj+1 ,vj+1 )):=G(Yj ,vj
(j=1,2,…,M−1) ki =H(i,L1 ,L2 ,…,LM )(i=1,2,
…,N) ここで、H関数は、副鍵の添字iおよび関数Gの出力で
あるM個のL成分を入力して、それぞれのLj から必要
に応じてiによって決められたビット位置の情報を抽出
するものである。
【0017】
【発明の実施の形態】以下ではこの発明の実施例につい
て説明する。第1の実施例 図1Aに第1の実施例の原理構成を示す。主鍵Kは中間
鍵生成部100に入力され、中間鍵生成部100は縦続
的に動作する複数(M段)のG関数手段を有し、中間鍵
1 〜LM を生成し、これら中間鍵は記憶部200に記
憶される。記憶部200に記憶された中間鍵L1 〜LM
は副鍵生成部300でH関数手段にもとづき副鍵ki
生成される。各部の構成作用を以下に具体的に説明す
る。
【0018】この例では、先に指摘した宮口らの論文で
示されているデータランダム化部を利用することを想定
して、先に示した図8の鍵スケジュール部の安全性を高
める装置である。宮口らの論文で示されている鍵スケジ
ュール部(図8)でN=16の場合にこの発明を適用す
る場合について説明する。図8では8段のデータ拡散手
段によって16個のP成分を入手する。ここでは、それ
ぞれのP成分をPj と表わす。各Pj は16ビットであ
る。副鍵生成部300ではそれぞれのPj 成分の第1ビ
ット目の値から副鍵k1 を構成し、それぞれのPj 成分
の第2ビット目の値から副鍵k2 を構成し、一般にそれ
ぞれのPj成分の第iビット目の値から副鍵ki を構成
する。すなわち、Pj 成分の第iビット目をPj [i] と
表すと、副鍵ki は次式で示される。
【0019】ki :=(P1[i],P2[i],…,Pj [i]
,…,P16[i] ) ここで、1i,j16に注意。先に示したG関数、
H関数の枠組で、ここに述べた処理方法を見直すと以下
のとおり。ここで、Yj は64ビットの値であり、Yj
L はYj の上位32ビットの値、Yj R はYj の下位3
2ビットの値を表している。
【0020】(Lj+1,(Yj+1,j+1)) :=G(Yj
j ) (07) において、出力結果(Lj+1,(Yj+1,j+1 ))は次式
により得る。 Yj+1 L =Yj Rj+1 R =Lj+1 =fk (Yj L ,Yj R (+)vj ) vj+1 =Yj L ここで、a(+)bはaとbの排他的論理和を示す。副
鍵ki はiとL1 〜LM の関数として次式で示される。
【0021】ki =H(i,L1 ,L2 ,…,LM ) このH関数は、各Lj をビットごとに分割して(tj
(1) ,tj (2) ,…,tj (32))と表したとき、副鍵k
i は ki :=(t1 (i) ,t1 (16+i),t2 (i) ,t2
(16+i),…,t8 (i) ,t8 (16+i))(116) で構成される。
【0022】なおこの方法では、最大16個の副鍵が得
られるので、宮口らの論文で示されている暗号アルゴリ
ズムでは、8段のF関数から構成した場合にまで対応で
きる。図1中の中間鍵生成部100の構成を図2を用い
て説明する。G関数手段10−1〜10−Mが縦続的に
構成され、その初段のG関数手段10−1に主鍵KがY
0 として、また定数v0 が入力され、各i段目のG関数
手段10−jは、Yj- 1 とvj-1 が入力され、Yi-1
攪乱されて、出力Lj ,Yj ,vj を出力し、Lj が中
間鍵として出力され、Yj ,vj が次段のG関数手段1
0−(j+1)へ供給される。つまりY0 =K、v0
0と設定した後にG関数手段10を8回呼び出す。G関
数手段の構成を図3に示す。この構成に対し、以下の処
理をj=0からj=7まで繰り返す。
【0023】段階1:Yj とvj をG関数手段10−j
+1に入力すると、図3中のデータ分割装置111を用
いてYj を2つのブロック(Yj L ,Yj R )に分割す
る。 段階2:Yj L をvj+1 として出力する。また、Yj L
をデータ拡散手段fK112に入力する。 段階3:Yj R をデータ入換器114に入力する。ま
た、Yj R とvj を排他的論理和回路113に入力して
j R (+)vj を演算し、その結果をデータ拡散手段
K 112に入力する。
【0024】段階4:Yj L とYj R (+)vj を入力
として受けとるとデータ拡散手段f K 112は、その計
算結果をLj+1 として出力すると同時に、データ入換器
114に入力する。 段階5:データ入換器114は、Yj R とデータ拡散手
段fK 112の計算結果Lj+1 を入力として受けとる
と、Yj R をYj+1 L 、Lj+1 をYj+1 R とし、Yj+1
=(Yj+1 L ,Yj+1 R )と連結して出力する。
【0025】G関数手段10−1〜10−Mが出力した
8個のLj を、一旦、記憶部200(図1A)に記憶す
る。次に、副鍵生成部300としてのH関数手段の構成
を図4を用いて説明する。H関数手段300は、記憶部
200から8個のL成分L1 〜L8 を読みだしたのちに
以下を実行する。
【0026】段階1:記憶部200から各Lj を読みだ
してビット分割器310に入力してそれぞれ、各1ビッ
トずつ (tj (1) ,tj (2) ,…,tj (32))=Lj (j=
1,2,…,8) に分割する。 段階2:t1 (i) ,t1 (16+i),t2 (i)
2 (16+i),…,t8 (i) ,t8 (16+i)をビット結合器
320に入力して副鍵 ki =(t1 (i),t1 (16+i),t2 (i),t2 (16+i) ,…,
t8 (i) ,t8 (16+i) )(i=1,2,…,16) を得る。第2の実施例 第1の実施例と同じ副鍵を出力する別の実施例を図1
B、図2、図3、図5を参照して説明する。
【0027】図1Bに示すように、中間鍵生成部100
で複数の中間鍵Lj が生成される。中間鍵生成部100
は図1Aのそれと同様であり、つまり図2に示したよう
に複数のG関数手段10よりなる。このG関数手段10
で中間鍵Lj が生成されるごとに、その中間鍵Lj は、
副鍵生成部400で、副鍵ki のiとki のビット位置
qとにより決まるビット位置の情報が、ki のビット位
置qの情報kiqとして選出され、記憶部500に記憶さ
れる。
【0028】つまり中間鍵生成部100と副鍵生成部4
00とにより以下の処理の段階1から段階7までを、j
=0からj=7まで繰り返すことになる。 段階1:Yj とvj をG関数手段10−j+1に入力す
ると、データ分割装置111を用いてYj を2つのブロ
ック(Yj L ,Yj R )に分割する。 段階2:Yj L をvj+1 として出力する。また、Yj L
をデータ拡散手段fK112に入力する。
【0029】段階3:Yj R をデータ入換器114に入
力する。また、Yj R とvj を排他的論理和回路113
に入力してYj R (+)vj を入手後にデータ拡散手段
K112に入力する。 段階4:Yj L とYj R (+)vj を入力として受けと
るとデータ拡散手段f K 112は、その計算結果をL
j+1 として副鍵生成部400(図1B)に入力すると同
時に、データ入換器114に入力する。
【0030】段階5:データ入換器114は、Yj R
データ拡散手段fK 112の計算結果Lj+1 を入力とし
て受けとると、Yj R をYj+1 L 、Lj+1 をYj+1 R
しY j+1 =(Yj+1 L ,Yj+1 R )と連結して出力す
る。 段階6:副鍵生成部400は図5に示すようにLj をビ
ット分割器410に入力して下記のように1ビットごと
に (tj (1) ,tj (2) ,…,tj (32))=Lj (j=
1,2,…,8) に分割して、情報分配器420に入力する。
【0031】段階7:情報分配器420に入力されたビ
ット列(tj (1) ,tj (2) ,…,tj (32))はパラメ
ータiに対してki のビット位置qにより決まるLj
ビット位置の情報が、ki のビット位置qの情報とさ
れ、 ki :=(t1 (i),t1 (16+i) ,t2 (i),t2 (16+i)
…,t8 (i),t8 (16+i) ) となるように、副鍵ki ごとに16個に分割された記憶
部500にLj ごとに記憶する。
【0032】段階8:それぞれのki に16ビットの情
報が設定されると、つまり副鍵kiが生成されるとその
値を出力する(i=1,2,…,16)。第3の実施例 この実施例では鍵スケジュールを構成する際に、装置規
模またはプログラムステップ数削減のため、暗号化で用
いられている関数fを用いる方法を説明する。
【0033】この例でも先に示したG関数、H関数の枠
組で、説明する。 (Lj+1 ,(Yj+1 ,vj+1 )):=G(Yj ,vj
(0M−1) において、出力結果を
【0034】
【数1】 と定める。また、 ki :=H(i,L1 ,L2 ,…,LM ) においては、
【0035】
【数2】 と定める。この手順を図6及び図4を使って説明する。 準備 段階1:fのビット幅だけ、0123456789ab
cdef101112...(hex) の上位から同一ビッ
ト数取りだした値をv0 として設定する。
【0036】段階2:主鍵KをY0 に設定する。 中間鍵生成 以下の手順をj=0,1,…,M−1につ
いて繰り返す。 段階1:入力Yj を4つに等分割し(Yj (1) ,Yj
(2) ,Yj (3) ,Yj (4 ) )とする。 段階2:データ拡散器611〜614を用いi=1,
2,3,4に対して、Y j+1 (i) =f(Yj (i) )をそ
れぞれ算出する。
【0037】段階3:vj とLj+1 (0) を同一視する。 段階4:データ拡散器621〜624を用いi=1,
2,3,4に対して、f(Lj+1 (i-1) )を演算し、そ
の演算結果を排他的論理和回路63iに入力してYj+1
(i) との排他的論理和演算を行ってLj+1 (i) =f(L
j+1 (i-1) )(+)Yj+1 (i) を得る。
【0038】段階5:Yj+1 と(Yj+1 (1) ,Yj+1
(2) ,Yj+1 (3) ,Yj+1 (4) )を同一視する。 段階6:Lj+1 と(Lj+1 (1) ,Lj+1 (2) ,Lj+1
(3) ,Lj+1 (4) )を同一視する。 段階7:vj+1 =Lj+1 (4) とおく。 副鍵生成 実施例1と同様にして、式(1)を実現し、
1 ,k2 ,…,kN (N16)を得る。
【0039】なお、上記実施例は上記例に囚われること
なく 1.Y0 のサイズが、Kより大きい場合は、Y0 の一部
をKとし、残りを定数で埋める。 2.v0 として、任意の定数とする。 3.それぞれの文字のビット幅を整合性が取れる範囲で
任意に設定する。
【0040】4.fを暗号化に用いるのに利用した関数
以外のものを使う。 5.Hを計算する際にLi の一部を使わない、つまり副
鍵ki の数が少なく、Lj のビット数が多い場合は、そ
のような状態になる。 6.Hを計算する際に、実施例1と同様のものを使う。 7.Gを計算する際に実施例1と同様のものを使う。
【0041】8.実施例2と同様にして、中間鍵の全て
を生成することなく1つの中間鍵が生成されるごとに記
憶部500のki の対応ビット位置に計算結果を格納す
るなどとしても実行可能である。 中間鍵生成部100、副鍵生成部300、400はコン
ピュータによりプログラムを読出し解読実行するように
してもよい。
【0042】
【発明の効果】この発明は、DESおよび宮口らの論文
で示されている鍵スケジュール部に比べて以下の点が改
善されている。第1および第2の実施例では、k6 ,k
7 ,k8 ,k9 ,k10,k11が判明した場合でも、それ
ぞれのLj 成分の12ビット分(例えば、第6,7,
8,9,10,11,22,23,24,25,26,
27ビット目)が求まっただけであるから、従来の技術
の項で指摘した安全性に関する問題は解決されている。
【図面の簡単な説明】
【図1】この発明の原理機能構成を示すブロック図。
【図2】図1中の中間鍵生成部100の機能構成例を示
すブロック図。
【図3】この発明を宮口らの論文の鍵スケジュール部に
適用した場合の図2中のG関数手段10の機能的構成を
示すブロック図。
【図4】この発明を宮口らの論文の鍵スケジュール部に
適用した場合の図1A中の副鍵生成部300の機能的構
成を示すブロック図。
【図5】この発明を宮口らの論文の鍵スケジュール部に
適用した場合の図1B中の副鍵生成部400の機能的構
成例を示すブロック図(この実施例では副鍵生成部がビ
ット抽出機能をそなえたH関数手段をその一部に含む)
【図6】この発明を128ビットを1つのブロックとす
るFeistel型暗号に適用できるように応用した場
合のG関数手段10の機能的構成を示すブロック図。
【図7】DES暗号の機能的概略を示すブロック図。
【図8】宮口らの論文の鍵スケジュール部の機能的構成
を示すブロック図。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 神田他“128ビットブロック暗号E2 の提案”電子情報通信学会技術研究報告 ISEC98−12,(1998年7月30日) (58)調査した分野(Int.Cl.6,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00 - 9/38 INSPEC(DIALOG) JICSTファイル(JOIS)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 主鍵から副鍵をスケジュールする装置で
    あって、 主鍵が入力され、縦続的に動作するM段からなり、各段
    より中間値Lj (j=0,1,…,M−1)成分を生成
    するG関数手段と、 そのG関数の出力である各中間値Lj 成分を一旦記憶し
    ておくための記憶部と、 複数個のLj 成分からN個の副鍵を生成する部分情報抽
    出機能を備えたH関数手段とから構成され、 上記G関数手段は、j+1段目が(j=0,1,…,M
    −1)j段目の出力(Lj ,Yj ,vj )中のYj とv
    j を入力し、その入力を拡散して、Lj+1 ,Y j+1 ,v
    j+1 を出力し、上記主鍵Kに対し、Y0 の一部をKとす
    る手段であり、 上記H関数手段は、i(i=1,2,…,N)と上記記
    憶部のL1 ,L2 ,…,LM とを入力とし、iによって
    決められたビット位置の情報をL1 ,…,LMより抽出
    する副鍵ki を出力する手段であることを特徴とする暗
    号鍵スケジュール装置。
  2. 【請求項2】 主鍵から副鍵をスケジュールする装置で
    あって、 主鍵が入力され、縦続的に動作するM段からなり、各段
    より中間値Lj (j=0,1,…,M−1)成分を生成
    するG関数手段と、 そのG関数手段で生成された複数個のLj 成分から副鍵
    を生成する部分情報抽出機能を備えたH関数手段と、 そのH関数手段の出力を副鍵ki に対応する値として記
    憶しておくための記憶部とから構成され、 上記G関数手段は、j+1段目がj段目の出力(Lj
    j ,vj )中のYj,vj を入力し、その入力を拡散
    してLj+1 ,Yj+1 ,vj+1 を出力し、主鍵Kに対し、
    0 の一部をKとする手段であり、 上記H関数手段は、i,q,Lj (1≦i≦N,1≦j
    ≦M,1≦q≦ki のビット数)を入力として、Lj
    ら、iとqによって決められたビット位置情報を抽出し
    て、副鍵ki のビット位置qの情報とする手段であるこ
    とを特徴とする暗号鍵スケジュール装置。
  3. 【請求項3】 主鍵Kを入力して複数の副鍵ki (i=
    1,…,N)を生成する暗号鍵スケジュール装置をコン
    ピュータにより実行させるためのプログラムを記録した
    記録媒体であって、 上記プログラムは、Y0 としての主鍵Kと定数v0 とを
    入力として入力を拡散処理することを縦続的に複数回繰
    返し、各拡散処理ごとに中間鍵Lj (j=1,…,M)
    を出力する中間鍵生成処理と、 上記各生成された中間鍵Lj を記憶部に記憶する処理
    と、 上記記憶部に所定数の中間鍵L1 〜LM が記憶される
    と、副鍵ki のiによって決まる各ビット位置のL1
    M における情報を抽出して副鍵ki を生成する副鍵生
    成処理と、 を上記コンピュータにより実行させることを特徴とする
    記録媒体。
  4. 【請求項4】 主鍵Kを入力して複数の副鍵ki (i=
    1,…,N)を生成する暗号鍵スケジュール装置をコン
    ピュータにより実行させるためのプログラムを記録した
    記録媒体であって、 上記プログラムは、 Y0 としての主鍵Kと定数v0 とを入力として、入力を
    拡散処理することを縦続的に複数回繰返し、各拡散処理
    ごとに中間鍵Lj (j=1,…,M)を出力する中間鍵
    生成処理と、 上記各中間鍵Lj が生成されるごとに、副鍵ki のi
    と、ki のビット位置qとにより決まるLj のビット位
    置の情報をki のビット位置の情報として抽出して、記
    憶部に記憶する処理と、 上記記憶部内の各副鍵ki の各ビット位置の情報が決ま
    ると、その副鍵ki を出力する処理と、 を処理コンピュータにより実行させることを特徴とする
    記録媒体。
JP10147479A 1998-01-27 1998-05-28 暗号鍵スケジュール装置、およびそのプログラム記録媒体 Expired - Fee Related JP2934431B1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP10147479A JP2934431B1 (ja) 1998-05-28 1998-05-28 暗号鍵スケジュール装置、およびそのプログラム記録媒体
CA002319135A CA2319135C (en) 1998-01-27 1999-01-27 Data transformation device and recording medium having recorded thereon a program for implementing the same
PCT/JP1999/000337 WO1999038143A1 (fr) 1998-01-27 1999-01-27 Convertisseur de donnees et support d'enregistrement sur lequel est enregistre un programme d'execution de conversion de donnees
CA002421142A CA2421142C (en) 1998-01-27 1999-01-27 Data transformation device and recording medium having recorded thereon a program for implementing the same
EP99901884A EP1052611B9 (en) 1998-01-27 1999-01-27 Data converter and recording medium on which program for executing data conversion is recorded
US09/600,955 US6769063B1 (en) 1998-01-27 1999-01-27 Data converter and recording medium on which program for executing data conversion is recorded
DE69931606T DE69931606T8 (de) 1998-01-27 1999-01-27 Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10147479A JP2934431B1 (ja) 1998-05-28 1998-05-28 暗号鍵スケジュール装置、およびそのプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2934431B1 true JP2934431B1 (ja) 1999-08-16
JPH11338345A JPH11338345A (ja) 1999-12-10

Family

ID=15431335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10147479A Expired - Fee Related JP2934431B1 (ja) 1998-01-27 1998-05-28 暗号鍵スケジュール装置、およびそのプログラム記録媒体

Country Status (1)

Country Link
JP (1) JP2934431B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4515716B2 (ja) * 2002-04-03 2010-08-04 パナソニック株式会社 拡大鍵生成装置、暗号化装置および暗号化システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
神田他"128ビットブロック暗号E2の提案"電子情報通信学会技術研究報告ISEC98−12,(1998年7月30日)

Also Published As

Publication number Publication date
JPH11338345A (ja) 1999-12-10

Similar Documents

Publication Publication Date Title
Wang et al. Cryptanalysis of a symmetric fully homomorphic encryption scheme
US7899190B2 (en) Security countermeasures for power analysis attacks
US7978851B2 (en) Keystream encryption device, method, and program
US7221756B2 (en) Constructions of variable input length cryptographic primitives for high efficiency and high security
EP0793366A2 (en) Method and apparatus for encrypting data
US7720225B2 (en) Table splitting for cryptographic processes
US20100104093A1 (en) Encryption Processing Apparatus, Encryption Processing Method, and Computer Program
EP1833190A1 (en) Table splitting for cryptographic processes
JPH11509940A (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
US8619985B2 (en) Table splitting for cryptographic processes
Mahendran et al. Generation of key matrix for hill cipher encryption using classical cipher
KR20180110550A (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
US6111952A (en) Asymmetrical cryptographic communication method and portable object therefore
US6108421A (en) Method and apparatus for data encryption
Natarajan et al. A novel approach for data security enhancement using multi level encryption scheme
Dawood et al. Design large symmetric algorithm for securing big data
Buell Modern symmetric ciphers—Des and Aes
JP2934431B1 (ja) 暗号鍵スケジュール装置、およびそのプログラム記録媒体
Landau Technical opinion: designing cryptography for the new century
Ledda et al. Enhancing IDEA algorithm using circular shift and middle square method
JPH1117673A (ja) 共通鍵暗号通信方法及びその通信ネットワーク
JPH0738558A (ja) 暗号化装置、及びそれを用いた通信システム及びその方法
JP3816558B2 (ja) 暗号システム
Rajashekarappa et al. Study on cryptanalysis of the tiny encryption algorithm
Henricksen Tiny Dragon-An Encryption Algorithm for Wireless Sensor Networks

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees