JP3006490B2 - 多重剰余暗号の暗号鍵生成方法および装置 - Google Patents

多重剰余暗号の暗号鍵生成方法および装置

Info

Publication number
JP3006490B2
JP3006490B2 JP8136264A JP13626496A JP3006490B2 JP 3006490 B2 JP3006490 B2 JP 3006490B2 JP 8136264 A JP8136264 A JP 8136264A JP 13626496 A JP13626496 A JP 13626496A JP 3006490 B2 JP3006490 B2 JP 3006490B2
Authority
JP
Japan
Prior art keywords
encryption key
random number
encryption
input
comparison
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
JP8136264A
Other languages
English (en)
Other versions
JPH09319304A (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 JP8136264A priority Critical patent/JP3006490B2/ja
Publication of JPH09319304A publication Critical patent/JPH09319304A/ja
Application granted granted Critical
Publication of JP3006490B2 publication Critical patent/JP3006490B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は例えば通信システム
や計算機システムで正当な権限を有しない者が不正に情
報を取得することを防止するために使用される暗号鍵に
ついての生成方法および生成装置に関する。
【0002】
【従来の技術】インターネットやその他の通信ネットワ
ークの発展と共に、計算機が伝送路を介して不特定の計
算機と接続される機会が増大している。これと共に、通
信データが正当な権限のない第三者によって入手される
危険性が高まっており、通信の機密保護の問題が重要視
されるようになってきている。そこで、通信データが不
正に入手されても、その内容が解読されないように、各
種の暗号鍵の生成化方法や暗号鍵を生成するための装置
が提案されている。
【0003】従来のこのような暗号鍵の生成化方法や暗
号鍵を生成するための装置では、しばしば線形変換(あ
るいはアフィン変換とも呼ばれる)を組み合わせた暗号
化が採用されている。ここで線形変換とは、変換対象の
整数Xに整数Aを乗算して、その乗算結果に整数Bを加
算し、その加算結果を整数Pで割ったときの余り(以下
剰余と呼ぶ)を暗号文Yとするものであり、次の(1)
式で表わされる。 Y=AX+B(mod P) ……(1)
【0004】なお、線形変換による暗号生成方や装置で
は、(1)式における整数A、B、Pは予め決められた
値の整数である。一般に整数AおよびBが暗号鍵とさ
れ、整数Pはアルファベットにより表わされる数値とさ
れている。特に、整数Aを“1”とし、Bを暗号鍵と
し、整数Pをアルファベットの数としたものは、シーザ
暗号と呼ばれている。また、特に、整数Aを暗号鍵とし
て整数Bを“0”とし、整数Pをアルファベットの数と
したものは、積暗号と呼ばれている。以上の説明におけ
るシーザ暗号、積暗号および線形変換暗号については、
例えば、松井甲子雄著「コンピュータによる暗号解読入
門」(森北出版 1990年)の第39ページから第5
5ページにかけて詳しい解説がある。
【0005】通常の計算機では、8ビット(1バイト)
構成の整数が1文字として扱われるので、これらの整数
A、X、Bはそれぞれ8ビット整数であり、整数Pは
“256”である。このため、演算結果としての“AX
+B”における下位8ビットが(1)式の右辺と等しく
なる。すなわち、割算を行うことなく、上位のビットを
無視するだけで剰余の計算が可能である。
【0006】なお、以下の説明ではXを平文と呼び、Y
を暗号文と呼ぶ。また、“X=Ymod Z”という式
は、YをZで割って得られる剰余をXに代入することを
意味する。また、“X=Y/Z”という式は、YをZで
割って得られる商をXに代入することを意味する。“X
=Y(mod Z)”は、XをZで割って得られる剰余
と、YをZで割って得られる剰余が等しいことを意味す
るものとする。この、“X=Y(mod Z)”は合同
式と呼ばれる。
【0007】ところで、線形変換による暗号鍵は簡単に
解読できるという問題がある。暗号鍵を知らない第三者
であっても、平文と暗号文の組の幾つかが入手できれ
ば、これらに基づいて線形方程式をたて、これを解くこ
とで暗号鍵の推定が可能であるからである。
【0008】このような問題を解消するために、従来か
ら多重剰余暗号と呼ばれる暗号が用いられている。ここ
では、“P1 ,P2 ,……Pm ”を暗号鍵とし、整数
A、Bを予め決められた値とし、整数Pj を法とした線
形変換をj=1,……,mについて繰り返すことで、非
線形な変換を実現している。ここで整数mは予め決めら
れた“1”よりも大きな値の整数であり、平文および暗
号文の長さをnビットとすると、暗号鍵P1 ,P2 ,…
…Pm は互いに素なnビットの整数である。多重剰余暗
号については、例えば特開平6−75525号公報に詳
しく開示されている。また、特開平6−308882号
公報にも、互いに素な整数を用いて復号化鍵を求める技
術が開示されている。
【0009】
【発明が解決しようとする課題】このように従来では多
重剰余暗号を使用することで暗号鍵の解読が容易にでき
ないようにしている。しかしながら、多重剰余暗号を使
用する場合には、ランダムに生成された2値系列を暗号
鍵として使用することができないという問題がある。暗
号鍵P1 ,P2 ,……Pm として互いに素なnビットの
整数を用いる必要があるが、ランダムに生成されたnビ
ットの2値系列が整数であっても互いに素となるとは限
らないことによる。
【0010】そこで本発明の目的は、ランダムに生成さ
れた2値系列から互いに素なnビット整数の組を生成す
る多重剰余暗号の暗号鍵生成方法および装置を提供する
ことにある。
【0011】
【課題を解決するための手段】請求項1記載の発明で
は、(イ)暗号鍵設定指示入力手段により暗号鍵の設定
が指示されたときe0+……+ek-1ビットの乱数を乱数
入力手段にて入力する乱数入力ステップと、(ロ)乱数
入力手段にて入力されたe0+……+ek-1ビットの乱数
ビット列分割手段にて“e0,……,ek-1”ビットの
乱数s0,……,sk-1に分割するビット列分割ステップ
と、(ハ) j 生成手段によりビット列分割手段によっ
て分割された乱数s0,……,sk-1に依存してqjを生
成するqj生成ステップと、(ニ) j 生成手段により
成されたqj を入力として、rjおよびrj-1に対して、
逆ユークリッド互除法実行手段により逆ユークリッド互
除法の1ステップとしての rj+1=qjj+rj-1 を実行する逆ユークリッド互除法実行ステップと、
(ホ)rjと2n-1の大小を比較手段により比較する比較
ステップと、(へ)比較手段の比較結果でrjが2n-1
満の状態のとき加算手段によりjを1ずつ加算しては
j 生成手段によるj生成ステップと逆ユークリッド互除
法実行手段による逆ユークリッド互除法実行ステップ
反復実行手段にて繰り返し実行させる反復実行ステッ
プと、(ト)比較手段による比較結果でrjが2n-1と等
しいかこれよりも大きくなったときの整数の組rj、r
j+1を暗号鍵として暗号鍵出力手段にて出力する暗号鍵
出力ステップとを多重剰余暗号の暗号鍵生成方法に具備
させる。
【0012】請求項2記載の発明では、請求項1記載の
多重剰余暗号の暗号鍵生成方法でq j 生成ステップでk
がjよりも大きいときには qj =sj +1 とし、これ以外の場合でかつ 2n-3 ≦rj <2n-2 のときには (qj −1)rj <2n −rj-1 ,qj j ≧2n-1
j-1 を満足するqj を選択し、これ以外の場合にはqj =1
とすることを特徴としている。
【0013】請求項3記載の発明では、請求項2記載の
多重剰余暗号の暗号鍵生成方法でq j 生成ステップでk
がjよりも大きいときには、任意のsj に対してf
j (sj)であるような関数fj に対して、 qj =fj (sj ) とすることを特徴としている。
【0014】請求項4記載の発明では、(イ)暗号鍵の
設定の指示を入力する暗号鍵設定指示入力手段と、
(ロ)2値系列の乱数としてe0 +……+ek-1 ビット
の乱数を入力する乱数入力手段と、(ハ)暗号鍵設定指
示入力手段から暗号鍵の設定の指示があったとき、乱数
入力手段の入力したe0 +……+ek-1 ビットの乱数を
“e0 ,……,ek-1 ”ビットの乱数s0 ,……,s
k-1 に分割するビット列分割手段と、(ニ)このビット
列分割手段によって分割された乱数s0 ,……,sk- 1
に依存してqj を生成するqj 生成手段と、(ホ)この
j 生成手段によって生成されたqj と、rj およびr
j-1 に対して、逆ユークリッド互除法の1ステップとし
ての rj+1 =qj j +rj-1 を実行する逆ユークリッド互除法実行手段と、(ヘ)r
j と2n-1 の大小を比較する比較手段と、(ト)この比
較手段の比較結果でrj が2n-1 未満の状態のときjを
1ずつ加算してはqj 生成手段と逆ユークリッド互除法
実行手段による処理を繰り返し実行する反復実行手段
と、(チ)比較手段の比較結果でrj が2n- 1 と等しい
かこれよりも大きくなったときの整数の組rj 、rj+1
を暗号鍵として出力する暗号鍵出力手段とを多重剰余暗
号の暗号鍵生成装置に具備させる。
【0015】請求項5記載の発明では、請求項4記載の
多重剰余暗号の暗号鍵生成装置でq j 生成手段はkがj
よりも大きいときには qj =sj +1 とし、これ以外の場合でかつ 2n-3 ≦rj <2n-2 のときには (qj −1)rj <2n −rj-1 ,qj j ≧2n-1
j-1 を満足するqj を選択し、これ以外の場合にはqj =1
とすることを特徴としている。
【0016】請求項6記載の発明では、請求項5記載の
多重剰余暗号の暗号鍵生成装置でq j 生成手段はkがj
よりも大きいときには、任意のsj に対してf
j (sj )であるような関数fj に対して、 qj =fj (sj ) とすることを特徴としている。
【0017】以上の請求項1〜請求項6記載の発明の原
理を実施例の説明に先立ってまず説明する。x>yであ
るような2つの整数x,yの最大公約数を求めるアルゴ
リズムとして、ユークリッド互除法が知られている。こ
れは、r-1=x,r0 =yとして、rj+1 =0となるま
で、次の(1)式に示す操作をj=−1,0,1,……
について逐次行うものである。 rj =qj+2 j+1 +rj+2 ただし j=−1,0,1,…… ……(2)
【0018】なお、説明の便宜上、(1)式における記
号“=”は、左辺に右辺を代入することを意味するので
はなく、左辺rj-1 をrj で割ったときの商をqj+1
し、剰余をrj+1 とすること、すなわち除算を意味す
る。そして、rj+2 =0となったときのjの値をkとす
ると、 rk =qk+2 k+1 であり、rk+1 =rとすると、2つの整数xとyの最大
公約数がrに等しいことが知られている。
【0019】なお、2つの整数x,yが互いに素であれ
ば、それらの最大公約数は“1”である。したがって、
ユークリッド互除法は2つの整数の最大公約数が“1”
であるか否かによって、2つの整数が互いに素であるか
否かを判定する場合にも利用することができる。
【0020】ところで、除法定理によると、任意の2つ
の整数x,yに対して(3)式を満足させる整数q,r
がただ1組存在する。 y=qx+r (0≦r<x) ……(3)
【0021】除法定理は、ユークリッド互除法によって
最大公約数が求められることを証明するために使用され
ている。しかしながら、この除法定理は、qj ,j=
1,2,……,k+2が与えられた条件下で、ユークリ
ッド互除法が可逆であるという面白い性質を示してい
る。すなわち、rk+2 =0、rk+1 =rとし、次の
(4)式の操作をj=k,k−1,……,0,−1につ
いて逐次行えば、r-1=x,r 0 =yとなるのである。
ここで、x,yは前記したx,yと等しい整数である。 rj =qj+2 j+1 +rj+2 ただし j=k,k−1,……,0,−1 ……(4) なお、(4)式における記号“=”は、左辺に右辺を代
入することを意味する。
【0022】そこで本発明では、r0 =1、r-1=0と
し、ランダムにqj を選択し、rjとrj-1 の双方がn
ビットの整数になるまで、次の(5)式に示す操作をj
=0,1,2,……について逐次行うことにした。nビ
ットにおける“n”は、例えば“64”である。 rj+1 =qj j +rj-1 ただし、j=0,1,2,…… ……(5) そして、rj およびrj-1 がnビットの整数になったと
きのjの値をk’とすると、rk'=x,rk'-1=yとす
る。
【0023】なお、(5)式における記号“=”は、左
辺に右辺を代入することを意味する。qj はどのような
整数でも構わないので、ランダムに生成された2値系列
からqj を生成するのは容易である。また、r0 =1と
しているので、以上のようにして生成されたx,yの最
大公約数は“1”である。すなわち、xとyは互いに素
である。したがって、以上のようにすれば、ランダムに
生成された2値系列から互いに素な整数の組x,yを生
成することができる。以下の説明では、(5)式を繰り
返して整数の組x,yを生成する操作を逆ユークリッド
互除法と呼び、(5)式で示される操作を逆ユークリッ
ド互除法の1ステップと呼ぶことにする。
【0024】ところで、以上のように単にqj をランダ
ムに選んでいたのでは、互いに素なnビットの整数x,
yを常に生成することができるとは限らない。rj >r
j-1であるので、これらの双方を同時にnビットにする
ことができるとは限らないからである。rj がnビット
でrj-1 がn−1ビットになったり、rj がn+1ビッ
トでrj-1 がnビットになったりすることがしばしば発
生する。そこで本発明では、rj とrj-1 の双方がnビ
ットの整数になるように、qj の選択方法を工夫してい
る。
【0025】図4は、本発明におけるrj とrj-1 の双
方をnビットの整数にするためのq j の選択方法を説明
するためのものである。この図4で、縦軸はrj を、横
軸はrj-1 を示している。rj とrj-1 の双方をnビッ
トの整数にするということは、点(rj-1 ,rj )を斜
線で示した領域I の中に移動させることに他ならない。
ここで領域I とは、次の(6)式を満たす領域である。 2n-1 ≦rj-1 <rj <2n ……(6)
【0026】点(rj-1 ,rj )を領域I の中に移動さ
せるためには、例えば次のような手順を踏めばよい。
【0027】まず、点(rj-1 ,rj )を領域I に移
動させるために、この点(rj-1 ,rj )を斜線で示す
領域IIに移動させておく。ここで領域IIとは、次の
(7)式に示す2つの条件を満たす領域である。 rj +rj-1 <2n , 2n-1 ≦rj ……(7)
【0028】点(rj-1 ,rj )を領域IIに移動させ
て、qj =1を選べば、次のjの値に対して、この点
(rj-1 ,rj )が必ず領域I に移動する。なぜなら、
あるjの値に対して点(rj-1 ,rj )が領域IIに存在
するとき、qj =1を選択すれば次の(8)式に示す条
件が成立するからである。 rj+1 =rj +rj-1 <2n , 2n-1 ≦rj , rj <rj+1 ……(8)
【0029】以上により、点(rj-1 ,rj )を領域I
に移動させることが、点(rj-1 ,rj )を領域IIに移
動させることに帰着される。
【0030】次に、点(rj-1 ,rj )を領域IIに移
動させるために、その前にこの点(rj-1 ,rj )を斜
線で示す領域III に移動させておく。ここで領域III と
は、次の(9)式に示す2つの条件を満たす領域であ
る。 rj-1 <rj , 2n-3 ≦rj <2n-2 ……(9)
【0031】点(rj-1 ,rj )を領域III に移動させ
ると、qj を適切に選ぶことで、次のjの値に対してこ
の点(rj-1 ,rj )を領域IIに移動させることができ
る。その理由は、次のjの値に対して点(rj-1
j )が領域IIに存在する条件は次の(10)式に示す
条件を満たすこと、すなわち(11)式に示す関係にあ
ることであるが、rj が2n-2 よりも小さく、かつ2
n-1 −rj よりも小さいので、このような条件を満たす
j の値が必ず存在するからである。 rj+1 +rj <2n , 2n-1 ≦rj+1 ……(10) 2n-1 −rj-1 ≦qj j <(2n-1 −rj-1 )+(2n-1 −rj ) ……(11)
【0032】しかも、rj が2n-3 以上なので、そのよ
うなqj の値は、高々2n-1 /2n- 3 回、すなわち4回
の試行錯誤を行うことで簡単に求めることができる。以
上により、点(rj-1 ,rj )を領域IIに移動させるこ
とが、点(rj-1 ,rj )を領域III に移動させること
に帰着された。
【0033】最後に、点(rj-1 ,rj )を領域III
に移動させる方法を説明する。これは非常に簡単であ
る。まず、予め決められた長さの2値系列をランダムに
生成し、それに“1”を加算したものをqj として、
(5)式を実行する。このような操作を予め決められた
回数だけ繰り返す。ただし、最後の繰り返しで、rj
n-2 以上にならないように、予め決められた長さと予
め決められた回数を設定しておくものとする。この後
は、もしrj が2n-3 よりも小さければ、rj が2n- 3
以上になるまで、qj =1として(5)式を繰り返すよ
うにする。これにより、有限回の繰り返しの後に、点
(rj-1 ,rj )は領域III を飛び越えることなく、必
ず領域III に移動する。
【0034】なぜなら、qj =1であれば、次の(1
2)式に示す条件を満たすので、rjの増加率は(5)
式の操作の1回について2倍未満であり、これに対して
領域III におけるrj の上限値は下限値の2倍だからで
ある。 rj+1 =rj +rj-1 <2rj ……(12)
【0035】以上の説明で明らかなように、qj の値を
選択すれば、点(rj-1 ,rj )は(0,1)から領域
III に移動し、更にこの領域III から領域IIに移動し、
更には領域IIから領域I に移動する。そして、領域I に
移動したときの点(rj-1 ,rj )に対して、x=
j ,y=rj-1 とすれば、xとyは互いに素なnビッ
ト整数となる。
【0036】
【発明の実施の形態】
【0037】
【実施例】以下実施例につき本発明を詳細に説明する。
【0038】図1は本発明の一実施例における多重剰余
暗号の暗号鍵生成装置の機能的な構成を表わしたもので
ある。この装置は、制御信号入力手段101と乱数入力
手段102の2つの入力手段を備えている。制御信号入
力手段101は、暗号鍵を設定することの指示を行う制
御信号103をデータ処理装置104に入力し、乱数入
手段102は乱数105を生成してこれをデータ処理
装置104に入力するようになっている。データ処理装
置104は、それぞれのデータ処理の結果を一時的に格
納する記憶装置106および暗号鍵108の供給を受け
る暗号装置109とも接続されている。
【0039】ここで制御信号入力手段101および乱数
入力手段102は、図示しないが、例えば、スイッチお
よびROM(リード・オン・メモリ)のソケットで構成
することができる。そして、スイッチに、押下されたこ
とを示す制御信号を制御信号103としてデータ処理装
置104に供給させ、ROMソケットに挿入されたRO
Mに、ROMに書き込まれた乱数を乱数105としてデ
ータ処理装置104に供給させる。この場合に、操作者
が暗号装置に暗号鍵を設定するためには、操作者は、予
め長さ“e0 +……+ek-1 ”ビットの乱数(暗号鍵)
が書き込まれたROMをROMソケットに挿入してから
スイッチを押下すればよい。
【0040】また、制御信号入力手段101および乱数
入力手段102は、図示しないが、例えば、ICカード
読み取り装置で構成することも可能である。そして、I
Cカード読み取り装置に、ICカードが挿入されたこと
を示す制御信号を制御信号103としてデータ処理装置
104に供給させ、またICカードに書き込まれた乱数
を乱数105としてデータ処理装置に供給させる。この
場合に、操作者が暗号装置に暗号鍵を設定するために
は、操作者は、予め長さ“e0+……+ek-1”ビットの
乱数が書き込まれたICカードをICカード読み取り装
置に挿入するだけでよい。
【0041】また、データ処理装置104は、ビット列
分割手段121、qj 生成手段122、逆ユークリッド
互除法実行手段123およびrj と2n-1 の大小比較手
段124の各手段を備えており、これらの手段121〜
124を順に経ることで暗号鍵108の生成を行うよう
になっている。記憶装置106はこれらの手段121〜
124と接続されており、前記したように各処理によっ
て得られた所定のデータ125〜128を格納するよう
になっている。暗号装置109は、第1の入力端子13
1から入力された情報132に対して多重剰余暗号に基
づく暗号化を行い、得られた暗号文133を第1の出力
端子134から出力するようになっている。また、第2
の入力端子135から入力された暗号文136に対して
多重剰余暗号に基づいた復号化を施して、復元された情
報137を第2の出力端子138から出力するようにな
っている。
【0042】データ処理装置104では、制御信号入力
手段101から暗号鍵を設定することを指示する制御信
号103が入力されたら、乱数入力手段102から長さ
“e 0 +……+ek-1 ”ビットの乱数105を入力す
る。また、r0 を“1”に、またr-1を“0”に設定す
る。ビット列分割手段121は乱数入力手段102から
得た長さ“e0 +……+ek-1 ”ビットの乱数105
を、それぞれ“e0 ,……,ek-1 ”ビットの乱数
0 ,……,sk-1 に分割し、これらk個に分割された
乱数125を記憶装置106に記憶するようになってい
る。
【0043】データ処理装置104はj=0,1,2,
……の各値に対して次のような処理を行う。qj 生成手
段122は、j<kであるならばqj =sj +1とす
る。また、j>kで、かつ2n-3 ≦rj <2n-2 のとき
には、以下の(13)式を満足するqj を選択し、さも
なくばqj を“1”とする。 (qj −1)rj <2n −rj-1 ,qj j ≧2n-1 −rj-1 ……(13)
【0044】逆ユークリッド互除法実行手段123は、
j 生成手段122によって生成されたqj と、rj
よびrj-1 に対して、逆ユークリッド互除法の1ステッ
プすなわちrj+1 =qj j +rj-1 を実行するように
なっている。rj+1 はデータ127として記憶装置10
6に記憶される。
【0045】rj と2n-1 の大小比較手段124は、r
j と2n-1 の大小を比較するようになっている。そし
て、rj ≧2n-1 であるならば、(rj ,rj+1 )を暗
号鍵108として暗号装置109に供給して、処理を終
了することになる。
【0046】データ処理装置104は、図示しないがC
PU(中央処理装置)を備えており、ROM(リード・
オンリ・メモリ)あるいは外部記録装置に格納されたプ
ログラムを用いてこのような処理を実行する。記憶装置
106は各種データを一時的に格納するRAM(ランダ
ム・アクセス・メモリ)によって構成することができ
る。
【0047】図2は、このデータ処理装置の処理の流れ
を示したものである。図1と共に多重剰余暗号の暗号鍵
生成方法を説明する。まず、データ処理装置104は制
御信号103が入力されたら(ステップS101;
Y)、乱数入力手段102から長さ“e0 +……+e
k-1 ”ビットの乱数105を入力する(ステップS10
2)。ビット列分割手段121は乱数入力手段102か
ら得た長さ“e0 +……+e k-1 ”ビットの乱数105
を、それぞれ“e0 ,……,ek-1 ”ビットの乱数
0 ,……,sk-1 に分割し、これらk個に分割された
乱数125を記憶装置106に記憶する(ステップS1
03)。そして、r0 を“1”に、またr-1を“0”に
設定する(ステップS104)。次に、qj 生成手段1
22がqj を生成する(ステップS105)。
【0048】図3は、qj 生成手段によるqj 生成の処
理の流れを具体的に表わしたものである。qj 生成手段
122は、まずrj が2n-1 との大小を比較する(ステ
ップS201)。もし、rj が2n-1 未満である場合
(N)には、rj と2n-3 との大小関係が比較される
(ステップS202)。もし、rj が2n-3 未満である
場合(N)には、jとkとの大小関係が比較される(ス
テップS203)。もし、jがkと等しいかこれよりも
大きい場合には(N)、qj として“1”を設定して
(ステップS204)、処理を終了する(エンド)。ス
テップS201でrjが2n-1 と等しいかこれよりも大
きい場合には(Y)、同様にqj として“1”を設定し
て(ステップS204)、処理を終了することになる。
【0049】これに対して、ステップS202でrj
n-3 と等しいかこれよりも大きい場合には(Y)、前
記した(3)式を満足するqj の値をこのqj に設定し
て、処理を終了させる(ステップS205)。また、ス
テップS203でjがkよりも小さい場合には(Y)、
j にsj +1を設定して(ステップS206)、処理
を終了させる(エンド)。
【0050】なお、本実施例ではステップS206で、
単にqj にsj +1を設定しているが、これに限るもの
ではない。例えば、これに代えて何らかの関数fj を予
め決めておき、qj =fj (sj )としてもよい。ただ
し、逆ユークリッド互除法ではqj が“0”であること
が要求される。このため関数fj は、どのようなsj
値に対しても、fj (sj )が“0”よりも大きいとい
うようなものに限る必要がある。
【0051】図2に戻って説明を続ける。qj 生成手段
122によってqj が生成されたら、逆ユークリッド互
除法実行手段123が逆ユークリッド互除法の1ステッ
プとしてrj+1 =qj j +rj-1 を実行する(ステッ
プS106)。次にrj と2 n-1 の大小比較手段124
が、rj と2n-1 の大小を比較する(ステップS10
7)。そして、もしrj <2n-1 であれば(N)、jを
“1”だけ加算して(ステップS108)、ステップ1
05の処理に戻ることになる。これに対して、r j ≧2
n-1 の場合には(ステップS107;Y)、(rj ,r
j+1 )を暗号鍵108として暗号装置109に供給し
て、処理を終了する(エンド)。図1に示した暗号装置
109はこの暗号鍵108を使用して第1の入力端子1
31から入力された情報132に対して多重剰余暗号に
基づく暗号化を行い、暗号文133を第1の出力端子1
34から出力したり、第2の入力端子135から入力さ
れた暗号文136に対して多重剰余暗号に基づいた復号
化を施して、復元された情報137を第2の出力端子1
38から出力することになる。
【0052】
【発明の効果】以上説明したように請求項1〜請求項6
記載の発明によれば、互いに素な整数の組を総当たりで
生成するか、素数を暗号鍵として使用した従来の手法と
比べて、暗号鍵を生成するために膨大な計算量を不要と
し、ユークリッド互除法を実行するのにほぼ等しい計算
量だけで暗号鍵を生成することができるので、多重剰余
暗号の暗号鍵の高速生成が可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例における多重剰余暗号の暗号
鍵生成装置の機能ブロック図である。
【図2】本実施例の多重剰余暗号の暗号鍵生成装置のデ
ータ処理装置の部分の処理の概要を示す流れ図である。
【図3】qj 生成手段によるqj 生成の処理の流れを具
体的に表わした流れ図である。
【図4】本発明におけるrj とrj-1 の双方をnビット
の整数にするためのqj の選択方法を示す説明図であ
る。
【符号の説明】
101 制御信号入力手段 102 乱数入力手段 104 データ処理装置 106 記憶装置 108 暗号鍵 109 暗号装置 121 ビット列分割手段 122 qj 生成手段 123 逆ユークリッド互除法実行手段 124 rj と2n-1 の大小比較手段
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 H04L 9/06

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 暗号鍵設定指示入力手段により暗号鍵の
    設定が指示されたときe0+……+ek-1ビットの乱数を
    乱数入力手段にて入力する乱数入力ステップと、前記乱数入力手段にて 入力されたe0+……+ek-1ビッ
    トの乱数をビット列分割手段にて“e0,……,ek-1
    ビットの乱数s0,……,sk-1に分割するビット列分割
    ステップと、 j 生成手段により前記ビット列分割手段 によって分割
    された乱数s0,……,sk-1に依存してqjを生成する
    j生成ステップと、前記q j 生成手段により 生成されたqj を入力として、r
    jおよびrj-1に対して、逆ユークリッド互除法実行手段
    により逆ユークリッド互除法の1ステップとしての rj+1=qjj+rj-1 を実行する逆ユークリッド互除法実行ステップと、 rjと2n-1の大小を比較手段により比較する比較ステッ
    プと、前記比較手段の 比較結果でrjが2n-1未満の状態のとき
    加算手段によりjを1ずつ加算しては前記q j 生成手段
    による前記j生成ステップと前記逆ユークリッド互除
    法実行手段による前記逆ユークリッド互除法実行ステッ
    反復実行手段にて繰り返し実行させる反復実行ス
    テップと、前記比較手段による 比較結果でrjが2n-1と等しいかこ
    れよりも大きくなったときの整数の組rj、rj+1を暗号
    鍵として暗号鍵出力手段にて出力する暗号鍵出力ステッ
    プとを具備することを特徴とする多重剰余暗号の暗号鍵
    生成方法。
  2. 【請求項2】 前記qj 生成ステップでkがjよりも大
    きいときには qj =sj +1 とし、これ以外の場合でかつ 2n-3 ≦rj <2n-2 のときには (qj −1)rj <2n −rj-1 ,qj j ≧2n-1
    j-1 を満足するqj を選択し、これ以外の場合にはqj =1
    とすることを特徴とする請求項1記載の多重剰余暗号の
    暗号鍵生成方法。
  3. 【請求項3】 前記qj 生成ステップでkがjよりも大
    きいときには、任意のsj に対してfj (sj )である
    ような関数fj に対して、 qj =fj (sj ) とすることを特徴とする請求項2記載の多重剰余暗号の
    暗号鍵生成方法。
  4. 【請求項4】 暗号鍵の設定の指示を入力する暗号鍵設
    定指示入力手段と、 2値系列の乱数としてe0 +……+ek-1 ビットの乱数
    を入力する乱数入力手段と、 前記暗号鍵設定指示入力手段から暗号鍵の設定の指示が
    あったとき、乱数入力手段の入力したe0 +……+e
    k-1 ビットの乱数を“e0 ,……,ek-1 ”ビットの乱
    数s0 ,……,sk-1 に分割するビット列分割手段と、 このビット列分割手段によって分割された乱数s0 ,…
    …,sk-1 に依存してqj を生成するqj 生成手段と、 このqj 生成手段によって生成されたqj と、rj およ
    びrj-1 に対して、逆ユークリッド互除法の1ステップ
    としての rj+1 =qj j +rj-1 を実行する逆ユークリッド互除法実行手段と、 rj と2n-1 の大小を比較する比較手段と、 この比較手段の比較結果でrj が2n-1 未満の状態のと
    きjを1ずつ加算しては前記qj 生成手段と逆ユークリ
    ッド互除法実行手段による前記処理を繰り返し実行する
    反復実行手段と、 前記比較手段の比較結果でrj が2n-1 と等しいかこれ
    よりも大きくなったときの整数の組rj 、rj+1 を暗号
    鍵として出力する暗号鍵出力手段とを具備することを特
    徴とする多重剰余暗号の暗号鍵生成装置。
  5. 【請求項5】 前記qj 生成手段はkがjよりも大きい
    ときには qj =sj +1 とし、これ以外の場合でかつ 2n-3 ≦rj <2n-2 のときには (qj −1)rj <2n −rj-1 ,qj j ≧2n-1
    j-1 を満足するqj を選択し、これ以外の場合にはqj =1
    とすることを特徴とする請求項4記載の多重剰余暗号の
    暗号鍵生成装置。
  6. 【請求項6】 前記qj 生成手段はkがjよりも大きい
    ときには、任意のs j に対してfj (sj )であるよう
    な関数fj に対して、 qj =fj (sj ) とすることを特徴とする請求項5記載の多重剰余暗号の
    暗号鍵生成装置。
JP8136264A 1996-05-30 1996-05-30 多重剰余暗号の暗号鍵生成方法および装置 Expired - Lifetime JP3006490B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8136264A JP3006490B2 (ja) 1996-05-30 1996-05-30 多重剰余暗号の暗号鍵生成方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8136264A JP3006490B2 (ja) 1996-05-30 1996-05-30 多重剰余暗号の暗号鍵生成方法および装置

Publications (2)

Publication Number Publication Date
JPH09319304A JPH09319304A (ja) 1997-12-12
JP3006490B2 true JP3006490B2 (ja) 2000-02-07

Family

ID=15171131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8136264A Expired - Lifetime JP3006490B2 (ja) 1996-05-30 1996-05-30 多重剰余暗号の暗号鍵生成方法および装置

Country Status (1)

Country Link
JP (1) JP3006490B2 (ja)

Also Published As

Publication number Publication date
JPH09319304A (ja) 1997-12-12

Similar Documents

Publication Publication Date Title
KR100435052B1 (ko) 암호화장치
US7079651B2 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
US6891950B1 (en) Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
JP3092567B2 (ja) 暗号鍵の生成方法および装置
JP4866389B2 (ja) 閉ガロア体組合せ
US8306217B2 (en) Cryptographic processing apparatus and cryptographic processing method, and computer program
US6606385B1 (en) Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same
RU2124814C1 (ru) Способ шифрования блоков цифровых данных
JP3180836B2 (ja) 暗号通信装置
WO2018115143A1 (en) A calculation device for encoded addition
KR101506499B1 (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
US20040247116A1 (en) Method of generating a stream cipher using multiple keys
JP3006490B2 (ja) 多重剰余暗号の暗号鍵生成方法および装置
JP2725610B2 (ja) 秘密鍵暗号方法及び装置
JP4857230B2 (ja) 疑似乱数生成装置及びそれを用いた暗号化処理装置
KR100564599B1 (ko) 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
JP5354914B2 (ja) 暗号処理装置及び復号処理装置及びプログラム
RU2188513C2 (ru) Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки
JP2011119985A (ja) 暗号復号方法
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
JP4692022B2 (ja) 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム
JPH0990870A (ja) 基本変換方法、暗号化方法、基本変換回路および暗号装置
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法
JP3013777B2 (ja) 循環演算にもとづく暗号の暗号鍵生成装置
KR100304368B1 (ko) 드 브르우즌 수열 발생 방법