JP3055636B2 - 暗号通信符号化装置および復号化装置 - Google Patents
暗号通信符号化装置および復号化装置Info
- Publication number
- JP3055636B2 JP3055636B2 JP3268518A JP26851891A JP3055636B2 JP 3055636 B2 JP3055636 B2 JP 3055636B2 JP 3268518 A JP3268518 A JP 3268518A JP 26851891 A JP26851891 A JP 26851891A JP 3055636 B2 JP3055636 B2 JP 3055636B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- selector
- plaintext
- equation
- ciphertext
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
【0001】
【産業上の利用分野】本発明は、通信路を通して伝送す
るディジタルデータの内容を不正に解読されないよう
に、ディジタル情報の内容を暗号化して送信する暗号通
信符号化装置、および受信された暗号から元のディジタ
ルデータを復元する暗号通信復号化装置に関するもので
ある。
るディジタルデータの内容を不正に解読されないよう
に、ディジタル情報の内容を暗号化して送信する暗号通
信符号化装置、および受信された暗号から元のディジタ
ルデータを復元する暗号通信復号化装置に関するもので
ある。
【0002】
【従来の技術】公開鍵暗号とは1976年にディフィー
とヘルマンがアイトリプリイー・トランザクション・オ
ン・インフォメーション・セオリー誌の第IT−22
巻,6号(Whitfield Diffie and Martin E.Hellman,
“New Directions in Cryptography,"IEEE Transaction
s on Information Theory,Vol.IT-22,No.6,pp.644-654,
November 1976)で提案した暗号通信方式である。な
お、以下ではディジタル情報を暗号に変換して送信する
操作のことを暗号通信符号化あるいは単に暗号化と呼
び、受信された暗号から元のディジタル情報を復元する
操作のことを暗号通信復号化あるいは単に復号化と呼
ぶ。
とヘルマンがアイトリプリイー・トランザクション・オ
ン・インフォメーション・セオリー誌の第IT−22
巻,6号(Whitfield Diffie and Martin E.Hellman,
“New Directions in Cryptography,"IEEE Transaction
s on Information Theory,Vol.IT-22,No.6,pp.644-654,
November 1976)で提案した暗号通信方式である。な
お、以下ではディジタル情報を暗号に変換して送信する
操作のことを暗号通信符号化あるいは単に暗号化と呼
び、受信された暗号から元のディジタル情報を復元する
操作のことを暗号通信復号化あるいは単に復号化と呼
ぶ。
【0003】また、送信しようとするディジタルデータ
のことを平文と呼び、暗号化されたディジタルデータの
ことを暗号文と呼ぶ。また、ディジタルデータは数値で
表現できるから、以下では平文と暗号文を表すディジタ
ルデータと数値とを同一視することにする。公開鍵暗号
が提案される前に使われていた暗号では、暗号化に使う
暗号鍵と復号化に使う復号鍵とが等しかったので、Aさ
んとBさんが他人に通信内容を知られないように通信を
する場合には、予め2人だけしか知らない暗号鍵を決め
ておいて、その暗号鍵を使って送信する通信内容を暗号
化する必要があった。このため、n人が互いに通信を行
う場合には、(n−1)×(n−2)×…×2×1個も
の暗号鍵を管理する必要があった。
のことを平文と呼び、暗号化されたディジタルデータの
ことを暗号文と呼ぶ。また、ディジタルデータは数値で
表現できるから、以下では平文と暗号文を表すディジタ
ルデータと数値とを同一視することにする。公開鍵暗号
が提案される前に使われていた暗号では、暗号化に使う
暗号鍵と復号化に使う復号鍵とが等しかったので、Aさ
んとBさんが他人に通信内容を知られないように通信を
する場合には、予め2人だけしか知らない暗号鍵を決め
ておいて、その暗号鍵を使って送信する通信内容を暗号
化する必要があった。このため、n人が互いに通信を行
う場合には、(n−1)×(n−2)×…×2×1個も
の暗号鍵を管理する必要があった。
【0004】これに対して公開鍵暗号では、n人が互い
に通信するには、n組の暗号鍵を管理すればよい。とい
うのも公開鍵では、暗号化に使う暗号鍵と復号化に使う
暗号鍵とが異なり、しかも前者の暗号鍵から後者の暗号
鍵を算出することが困難なので、前者の暗号鍵を不特定
多数に公開しても、通信内容があばかれないという性質
があるからである。なお、この性質の故に、前者の暗号
鍵のことは公開鍵と呼ばれ、後者の暗号鍵は秘密鍵と呼
ばれる。公開鍵暗号を使ってn人が暗号通信する場合に
は、n人がそれぞれ固有の秘密鍵と公開鍵を作り、公開
鍵の方を他のメンバーに公開する。そして、例えばAさ
んがBさんに通信文を送信したい場合には、AさんはB
さんの公開鍵で通信文を暗号化してBさんに送信する。
その暗号から元の通信文を復元できるのは秘密鍵を知っ
ているBさんだけなので、通信文がBさん以外の第三者
に知られることはない。
に通信するには、n組の暗号鍵を管理すればよい。とい
うのも公開鍵では、暗号化に使う暗号鍵と復号化に使う
暗号鍵とが異なり、しかも前者の暗号鍵から後者の暗号
鍵を算出することが困難なので、前者の暗号鍵を不特定
多数に公開しても、通信内容があばかれないという性質
があるからである。なお、この性質の故に、前者の暗号
鍵のことは公開鍵と呼ばれ、後者の暗号鍵は秘密鍵と呼
ばれる。公開鍵暗号を使ってn人が暗号通信する場合に
は、n人がそれぞれ固有の秘密鍵と公開鍵を作り、公開
鍵の方を他のメンバーに公開する。そして、例えばAさ
んがBさんに通信文を送信したい場合には、AさんはB
さんの公開鍵で通信文を暗号化してBさんに送信する。
その暗号から元の通信文を復元できるのは秘密鍵を知っ
ているBさんだけなので、通信文がBさん以外の第三者
に知られることはない。
【0005】以下では、従来の公開鍵暗号について詳し
く説明する前に、必要な数学的事項について簡単に説明
しておく。なお、これらの事項については例えば198
2年にデニングによって著されアジソン・ウェスレイか
ら出版された書籍クリプトグラフィー・アンド・セキュ
リティ(Dorothy Elizabeth Robling, Denning Cryptog
raphy and Data Security, Addison-Wesley Publishing
Company,Inc.,1982)の第1章6節で詳しく説明されて
いる。
く説明する前に、必要な数学的事項について簡単に説明
しておく。なお、これらの事項については例えば198
2年にデニングによって著されアジソン・ウェスレイか
ら出版された書籍クリプトグラフィー・アンド・セキュ
リティ(Dorothy Elizabeth Robling, Denning Cryptog
raphy and Data Security, Addison-Wesley Publishing
Company,Inc.,1982)の第1章6節で詳しく説明されて
いる。
【0006】まず剰余について説明しておく。aをNで
割った余りrは、aのNに関する剰余と呼ばれる。ま
た、aのNに関する剰余と、bのNに関する剰余が等し
いことは、a mod N=b mod Nあるいはa
=b mod Nで表わされる。
割った余りrは、aのNに関する剰余と呼ばれる。ま
た、aのNに関する剰余と、bのNに関する剰余が等し
いことは、a mod N=b mod Nあるいはa
=b mod Nで表わされる。
【0007】次に平方剰余について説明しておく。次式
を満足する整数xが存在するときにはaは法pの平方剰
余、存在しないときにはaは法pの平方非剰余と呼ばれ
る。
を満足する整数xが存在するときにはaは法pの平方剰
余、存在しないときにはaは法pの平方非剰余と呼ばれ
る。
【0008】
【数1】
【0009】次にルジャンドル記号について説明してお
く。整数aと素数pに対して、ルジャンドル記号(a|
p)は式(10)で定義される。
く。整数aと素数pに対して、ルジャンドル記号(a|
p)は式(10)で定義される。
【0010】
【数2】
【0011】ルジャンドル記号については式(11),
(12)が成り立っている。
(12)が成り立っている。
【0012】
【数3】
【0013】次にヤコビ記号について説明しておく。整
数Pと、2より大きな整数Qに対して、ヤコビ記号(P
|Q)は式(13)で定義される。
数Pと、2より大きな整数Qに対して、ヤコビ記号(P
|Q)は式(13)で定義される。
【0014】
【数4】
【0015】式(13)において、Qに含まれる素因数
の個数をmとし、Qに含まれるm個の素因数をQ1,Q2
…Qi…Qmとし、Qの因数として素因数Qiがそれぞれ
ei個含まれているものとする。例えば、Q=360=
23×32×51ならば、m=3,Q1=2,Q2=3,Q3
=5,e1=3,e2=2,e3=1である。なお、Qが
2より大きな素数の場合には、ヤコビ記号(P|Q)は
ルジャンドル記号(P|Q)と等価となることが知られ
ている。このために、ヤコビ記号とルジャンドル記号を
同一の記号を使って表わしても混乱はない。
の個数をmとし、Qに含まれるm個の素因数をQ1,Q2
…Qi…Qmとし、Qの因数として素因数Qiがそれぞれ
ei個含まれているものとする。例えば、Q=360=
23×32×51ならば、m=3,Q1=2,Q2=3,Q3
=5,e1=3,e2=2,e3=1である。なお、Qが
2より大きな素数の場合には、ヤコビ記号(P|Q)は
ルジャンドル記号(P|Q)と等価となることが知られ
ている。このために、ヤコビ記号とルジャンドル記号を
同一の記号を使って表わしても混乱はない。
【0016】なおまた、上式(13)において、(P,
Q)はPとQの最大公約数を表す。この表記方法は以下
の説明においても用いることにする。ヤコビ記号につい
ては以下の性質が成り立っている。
Q)はPとQの最大公約数を表す。この表記方法は以下
の説明においても用いることにする。ヤコビ記号につい
ては以下の性質が成り立っている。
【0017】
【数5】
【0018】ただし上式の定義は、例えば前記デニング
の文献に記載されている通常のヤコビ記号の定義を拡張
したものである。しかしながら拡張されたヤコビ記号で
は、通常のヤコビ記号が定義されないようなPとQに対
するヤコビ記号(P|Q)の値を0にしただけであるか
ら、明らかに通常のヤコビ記号と同様に式(14),
(15),(16),(17),(18),(19)が
成り立つ。
の文献に記載されている通常のヤコビ記号の定義を拡張
したものである。しかしながら拡張されたヤコビ記号で
は、通常のヤコビ記号が定義されないようなPとQに対
するヤコビ記号(P|Q)の値を0にしただけであるか
ら、明らかに通常のヤコビ記号と同様に式(14),
(15),(16),(17),(18),(19)が
成り立つ。
【0019】本発明においてヤコビ記号と言えば、式
(13)で定義される拡張されたヤコビ記号を意味する
ことにする。なお、ヤコビ記号の定義の拡張について
は、例えば1980年にアイトリプリイー・トランザク
ションズ・オン・インフォメーション・セオリー誌のI
T−26巻6号に記載されたウイリアムズの論文(H.C.
Williams,“A Modification of tha RSA Public-Key En
cryption Procedure,"IEEETransactions on Informatio
n Theory,Vol.IT-26,No.6,pp.726-729,1980)に詳しく
述べられている。
(13)で定義される拡張されたヤコビ記号を意味する
ことにする。なお、ヤコビ記号の定義の拡張について
は、例えば1980年にアイトリプリイー・トランザク
ションズ・オン・インフォメーション・セオリー誌のI
T−26巻6号に記載されたウイリアムズの論文(H.C.
Williams,“A Modification of tha RSA Public-Key En
cryption Procedure,"IEEETransactions on Informatio
n Theory,Vol.IT-26,No.6,pp.726-729,1980)に詳しく
述べられている。
【0020】また、拡張されたヤコビ記号の計算方法に
ついては前記デニングの書籍の第106項やウイリアム
ズの論文および拡張されたヤコビ記号の定義式(13)
より明かである。すなわち、拡張された式(16)のヤ
コビ記号(P|Q)を計算する場合には、(P,Q)の
値を確認しつつ通常のヤコビ記号の計算方法を実行し、
もし(P,Q)が1でないことがわかれば、通常の計算
方法を終了して、計算結果を0とすればよい。なお、ウ
イリアムズはヤコビ記号をQ|PすなわちPがQで割り
切れるならば(P|Q)≠0であると定義しているが、
Q|Pを(P,Q)=1と読み換えれば、式(16)の
場合と同様になる。
ついては前記デニングの書籍の第106項やウイリアム
ズの論文および拡張されたヤコビ記号の定義式(13)
より明かである。すなわち、拡張された式(16)のヤ
コビ記号(P|Q)を計算する場合には、(P,Q)の
値を確認しつつ通常のヤコビ記号の計算方法を実行し、
もし(P,Q)が1でないことがわかれば、通常の計算
方法を終了して、計算結果を0とすればよい。なお、ウ
イリアムズはヤコビ記号をQ|PすなわちPがQで割り
切れるならば(P|Q)≠0であると定義しているが、
Q|Pを(P,Q)=1と読み換えれば、式(16)の
場合と同様になる。
【0021】さて、公開鍵暗号としては様々なものが提
案されているが、実際に広く使われているものは、19
78年にリベストらがコミュニケーションズ・オブ・ザ
・エイ・シー・エム誌で提案した暗号通信方式で(R.L.
Rivest, A.Shamir,and L.Adleman,"A Method for Obtai
ning Digital Signatures and Public-Key Cryptosyste
ms," Communications ofthe ACM,Vol.21,No.2,pp.120-1
26,February 1978)があり、著者らの頭文字をとってR
SA暗号と呼ばれているものである。以下ではRSA暗
号について簡単に説明しておく。なお、RSA暗号につ
いては例えば前記デニングの書籍の第2章7節などに詳
しい解説がある。RSA暗号では、公開鍵として公開さ
れる数値にはeとNの2つがあり、式(30)のように
平文Mをeでべき乗して、Nで割ったときの余りを暗号
文Cとする。
案されているが、実際に広く使われているものは、19
78年にリベストらがコミュニケーションズ・オブ・ザ
・エイ・シー・エム誌で提案した暗号通信方式で(R.L.
Rivest, A.Shamir,and L.Adleman,"A Method for Obtai
ning Digital Signatures and Public-Key Cryptosyste
ms," Communications ofthe ACM,Vol.21,No.2,pp.120-1
26,February 1978)があり、著者らの頭文字をとってR
SA暗号と呼ばれているものである。以下ではRSA暗
号について簡単に説明しておく。なお、RSA暗号につ
いては例えば前記デニングの書籍の第2章7節などに詳
しい解説がある。RSA暗号では、公開鍵として公開さ
れる数値にはeとNの2つがあり、式(30)のように
平文Mをeでべき乗して、Nで割ったときの余りを暗号
文Cとする。
【0022】
【数6】
【0023】ここでM,e,Nは、ともに数百ビットの
大きな数である。また、暗号文から元の平文Mを復元す
るには、式(31)のように暗号文Cを秘密鍵dでべき
乗し、Nで割ったときの余りを求める。
大きな数である。また、暗号文から元の平文Mを復元す
るには、式(31)のように暗号文Cを秘密鍵dでべき
乗し、Nで割ったときの余りを求める。
【0024】
【数7】
【0025】なお、公開鍵N,eと秘密鍵dとは、M=
(Me mod N)d mod Nという関係が、0以
上N未満の任意の数値Mについて成り立つように予め決
められているもので、そのように公開鍵と秘密鍵を選ぶ
方法については前記リベストらの文献に示されている。
しかしながら、RSA暗号では数百ビットもの数のべき
乗演算が必要なために、暗号化と復号化に膨大な処理時
間を必要とする。
(Me mod N)d mod Nという関係が、0以
上N未満の任意の数値Mについて成り立つように予め決
められているもので、そのように公開鍵と秘密鍵を選ぶ
方法については前記リベストらの文献に示されている。
しかしながら、RSA暗号では数百ビットもの数のべき
乗演算が必要なために、暗号化と復号化に膨大な処理時
間を必要とする。
【0026】RSA暗号以外の公開鍵暗号としては、ラ
ビン暗号が知られている。これは1979年にラビンが
エム・アイ・テイーの報告書の中で提案した暗号通信方
式である(M.O.Rabin,“Digitized signatures and pub
lic-Key functions as intractable as factorizatio
n,"MIT Lab.for Computer Science,Tech.Rep.LCS/TR21
2,Cambridge MA:MIT Lab.for Computer Science,197
9)。以下ではラビン暗号について簡単に説明してお
く。なお、ラビン暗号については例えば前記デニングの
書籍の第128項などに記述がある。ラビン暗号では、
素数p,qを秘密鍵とし、N=p・qを公開鍵として、
式(32)のように暗号化を行う。
ビン暗号が知られている。これは1979年にラビンが
エム・アイ・テイーの報告書の中で提案した暗号通信方
式である(M.O.Rabin,“Digitized signatures and pub
lic-Key functions as intractable as factorizatio
n,"MIT Lab.for Computer Science,Tech.Rep.LCS/TR21
2,Cambridge MA:MIT Lab.for Computer Science,197
9)。以下ではラビン暗号について簡単に説明してお
く。なお、ラビン暗号については例えば前記デニングの
書籍の第128項などに記述がある。ラビン暗号では、
素数p,qを秘密鍵とし、N=p・qを公開鍵として、
式(32)のように暗号化を行う。
【0027】
【数8】
【0028】ここで、Mは平文、Cは暗号文であり、
p,q,N,M,Cはともに数百ビットもの数である。
ラビン暗号では乗算を1回と剰余を1回だけ計算して暗
号化を行うので、暗号化はRSA暗号に比べて桁違いに
高速に実行できる。なお、ラビン暗号の暗号化は式(3
3)のように一般化できるが、
p,q,N,M,Cはともに数百ビットもの数である。
ラビン暗号では乗算を1回と剰余を1回だけ計算して暗
号化を行うので、暗号化はRSA暗号に比べて桁違いに
高速に実行できる。なお、ラビン暗号の暗号化は式(3
3)のように一般化できるが、
【0029】
【数9】
【0030】以下では、便宜上、式(33)においてb
=0とした場合、すなわち式(32)の場合についての
み説明する。というのも、式(33)は式(34)のよ
うに変形できるので、
=0とした場合、すなわち式(32)の場合についての
み説明する。というのも、式(33)は式(34)のよ
うに変形できるので、
【0031】
【数10】
【0032】以下の説明において平文Mと暗号文Cをそ
れぞれM+(b/2)と、C+(b/2)2に代入すれ
ば、式(33)の場合については自明だからである。な
お、参考までに図11にラビン暗号にもとづく従来の暗
号通信符号化装置の機能ブロック図を示す。図におい
て、平文Mは入力端子1101から入力されて、公開鍵
Nは入力端子1105から入力されて、それぞれ平方回
路102に供給される。平方回路102はM2 mod
Nを算出し、その結果を暗号文Cとして出力端子11
04から出力する。
れぞれM+(b/2)と、C+(b/2)2に代入すれ
ば、式(33)の場合については自明だからである。な
お、参考までに図11にラビン暗号にもとづく従来の暗
号通信符号化装置の機能ブロック図を示す。図におい
て、平文Mは入力端子1101から入力されて、公開鍵
Nは入力端子1105から入力されて、それぞれ平方回
路102に供給される。平方回路102はM2 mod
Nを算出し、その結果を暗号文Cとして出力端子11
04から出力する。
【0033】さて、ラビン暗号で暗号文から元の平文を
復号化するには、xに関する式(40)の方程式を解け
ばよい。
復号化するには、xに関する式(40)の方程式を解け
ばよい。
【0034】
【数11】
【0035】ただし、式(40)はNの因数すなわちp
とqを知らないと解くのが困難である。式(40)を解
くには、まず以下の2つの式(41),(42)をxに
ついて解く。
とqを知らないと解くのが困難である。式(40)を解
くには、まず以下の2つの式(41),(42)をxに
ついて解く。
【0036】
【数12】
【0037】これらの式(41),(42)の解は、p
=3 mod 4,q=3 mod4の場合には、式
(43),(44)のようにして求められる。
=3 mod 4,q=3 mod4の場合には、式
(43),(44)のようにして求められる。
【0038】
【数13】
【0039】なお参考までに、式(43),(44)で
与えられる√Cp,√Cq が、それぞれ式(41),
(42)の解となることの証明は、例えば前述のデニン
グの書籍の116項に述べられている。なお、C≠0
mod pの場合には式(41)は2つの解を持ち、も
う一方の解は−√Cp で与えられる。同様に、C≠0
mod qの場合には式(42)は2つの解を持ち、も
う一方の解は−√Cqで与えられる。このことは、−√
Cp ,−√Cq をそれぞれ式(41),(42)に代
入してみれば明らかである。また、C=0 mod p
の場合には式(41)は1つの解0を持つ。同様に、C
=0 mod qの場合には式(42)は1つの解0を
持つ。
与えられる√Cp,√Cq が、それぞれ式(41),
(42)の解となることの証明は、例えば前述のデニン
グの書籍の116項に述べられている。なお、C≠0
mod pの場合には式(41)は2つの解を持ち、も
う一方の解は−√Cp で与えられる。同様に、C≠0
mod qの場合には式(42)は2つの解を持ち、も
う一方の解は−√Cqで与えられる。このことは、−√
Cp ,−√Cq をそれぞれ式(41),(42)に代
入してみれば明らかである。また、C=0 mod p
の場合には式(41)は1つの解0を持つ。同様に、C
=0 mod qの場合には式(42)は1つの解0を
持つ。
【0040】式(41),(42)の解が求まれば、そ
れを利用して式(40)の解が求められる。このために
は、式(41)の解をxp,式(42)の解をxq とす
れば、式(45)にこれらの解を代入することで式(4
0)の解xN が求められる。
れを利用して式(40)の解が求められる。このために
は、式(41)の解をxp,式(42)の解をxq とす
れば、式(45)にこれらの解を代入することで式(4
0)の解xN が求められる。
【0041】
【数14】
【0042】ここで、bpとbqは、q・bp=1 mo
d p,p・bq=1 mod qを満足する値であ
る。このようにして式(40)の解が求められること
は、式(40),(41),(42)に式(45)を代
入してみれば明らかである。なお、式(41),(4
2)の解xp ,xq は、それぞれ最大で2個あるか
ら、式(40)の解は、式(45)に代入するxp ,
xq に応じて、最大で4個得られる。
d p,p・bq=1 mod qを満足する値であ
る。このようにして式(40)の解が求められること
は、式(40),(41),(42)に式(45)を代
入してみれば明らかである。なお、式(41),(4
2)の解xp ,xq は、それぞれ最大で2個あるか
ら、式(40)の解は、式(45)に代入するxp ,
xq に応じて、最大で4個得られる。
【0043】なお、参考までに、式(40)の解の数
と、暗号文Cのヤコビ記号との関係をまとめておくと式
(46)のようになる。
と、暗号文Cのヤコビ記号との関係をまとめておくと式
(46)のようになる。
【0044】
【数15】
【0045】また参考までに、図12にラビン暗号にも
とづく従来の暗号通信復号化装置の機能ブロック図を示
しておく。図において暗号文Cは入力端子1201から
入力されて、開平回路203,204に供給される。秘
密鍵pは入力端子1208から入力されて、開平回路2
03と平文合成回路1205に供給される。秘密鍵qは
入力端子1210から入力されて、開平回路204と平
文合成回路1205に供給される。開平回路203およ
び開平回路204はそれぞれ式(43),(44)にも
とづいてそれぞれ式(41),(42)の解を算出し、
その結果を平文合成回路1205に供給する。平文合成
回路1205は式(45)にもとづいて式(40)の解
を算出する。そして、平文合成回路で算出された解は、
出力端子1211,1212,1213,1214から
出力される。なお、送信された平文は1つであるから、
受信者は出力端子1211,1212,1213,12
14から出力された解のうちどれが正しい平文であるか
を判断する必要がある。
とづく従来の暗号通信復号化装置の機能ブロック図を示
しておく。図において暗号文Cは入力端子1201から
入力されて、開平回路203,204に供給される。秘
密鍵pは入力端子1208から入力されて、開平回路2
03と平文合成回路1205に供給される。秘密鍵qは
入力端子1210から入力されて、開平回路204と平
文合成回路1205に供給される。開平回路203およ
び開平回路204はそれぞれ式(43),(44)にも
とづいてそれぞれ式(41),(42)の解を算出し、
その結果を平文合成回路1205に供給する。平文合成
回路1205は式(45)にもとづいて式(40)の解
を算出する。そして、平文合成回路で算出された解は、
出力端子1211,1212,1213,1214から
出力される。なお、送信された平文は1つであるから、
受信者は出力端子1211,1212,1213,12
14から出力された解のうちどれが正しい平文であるか
を判断する必要がある。
【0046】
【発明が解決しようとする課題】しかしながらラビン暗
号では、送信された平文がASCIIコードで記述され
た英文だったりJISコードで記述された邦文であれ
ば、暗号通信復号化装置の出力した複数の解を見比べる
ことでどれが送信された平文であるかを判断できるもの
の、送信された平文が冗長度の無いランダムなディジタ
ルデータである用途では、複数の解から正しい平文を見
つけ出す手がかりが無いので、送信された平文を一意に
決定することができないという問題があった。
号では、送信された平文がASCIIコードで記述され
た英文だったりJISコードで記述された邦文であれ
ば、暗号通信復号化装置の出力した複数の解を見比べる
ことでどれが送信された平文であるかを判断できるもの
の、送信された平文が冗長度の無いランダムなディジタ
ルデータである用途では、複数の解から正しい平文を見
つけ出す手がかりが無いので、送信された平文を一意に
決定することができないという問題があった。
【0047】本発明は、以上のような問題点を解決し、
平文が冗長度の無いランダムなディジタルデータであっ
ても暗号文から元の平文が一意に決定できるような、暗
号通信符号化装置および復号化装置を実現するものであ
る。
平文が冗長度の無いランダムなディジタルデータであっ
ても暗号文から元の平文が一意に決定できるような、暗
号通信符号化装置および復号化装置を実現するものであ
る。
【0048】
【問題点を解決するための手段】本発明の第1の暗号通
信符号化装置は、8で除算すると余りが3であるような
予め決められた素数pと、8で除算すると余りが7であ
るような予め決められた素数qと、前記pとqの積Nに
対して、少なくとも、入力されたデータの数値表現Mを
平方し平方結果を予め決められた前記数値Nで割った余
りを出力する平方手段と、前記N/2とMとの大小を比
較する比較手段と、前記数値Nに関するMのヤコビ記号
(M|N)を計算するヤコビ記号計算手段と、前記Nか
ら前記平方手段の出力を減算して減算結果を出力する減
算手段と、前記比較手段の出力がM<N/2であること
を示していれば前記平方手段の出力を選択して出力し、
前記比較手段の出力がM>N/2であることを示してい
れば前記減算手段の出力を選択して出力する第1のセレ
クタと、前記Nを法として前記第1のセレクタの出力に
2を乗算して乗算結果を出力する乗算手段と、前記ヤコ
ビ記号計算手段の出力(M|N)が1であれば前記第1
のセレクタの出力を選択して出力し、前記ヤコビ記号計
算手段の出力(M|N)が−1であれば前記乗算手段の
出力を選択して出力する第2のセレクタとを備え、前記
第2のセレクタの出力を、前記数値表現Mに対応する暗
号文Cとして出力することを特徴とする。
信符号化装置は、8で除算すると余りが3であるような
予め決められた素数pと、8で除算すると余りが7であ
るような予め決められた素数qと、前記pとqの積Nに
対して、少なくとも、入力されたデータの数値表現Mを
平方し平方結果を予め決められた前記数値Nで割った余
りを出力する平方手段と、前記N/2とMとの大小を比
較する比較手段と、前記数値Nに関するMのヤコビ記号
(M|N)を計算するヤコビ記号計算手段と、前記Nか
ら前記平方手段の出力を減算して減算結果を出力する減
算手段と、前記比較手段の出力がM<N/2であること
を示していれば前記平方手段の出力を選択して出力し、
前記比較手段の出力がM>N/2であることを示してい
れば前記減算手段の出力を選択して出力する第1のセレ
クタと、前記Nを法として前記第1のセレクタの出力に
2を乗算して乗算結果を出力する乗算手段と、前記ヤコ
ビ記号計算手段の出力(M|N)が1であれば前記第1
のセレクタの出力を選択して出力し、前記ヤコビ記号計
算手段の出力(M|N)が−1であれば前記乗算手段の
出力を選択して出力する第2のセレクタとを備え、前記
第2のセレクタの出力を、前記数値表現Mに対応する暗
号文Cとして出力することを特徴とする。
【0049】本発明の第2の暗号通信符号化装置は、数
値表現Mをランダム変換手段に入力して、予め決められ
た1対1変換を行って得られる数値を、上記暗号通信符
号化装置の数値表現Mに用いることを特徴とする。本発
明の第1の暗号通信復号化装置は、上記暗号通信符号化
装置の出力した前記暗号文Cに対して、少なくとも、ヤ
コビ記号(C|p)および(C|q)を計算する第2の
ヤコビ記号計算手段と、前記数値Nを法として暗号文C
を2で除算して除算結果を出力する第2の除算手段と、
(C|p)・(C|q)=0あるいは(C|p)・(C
|q)=1ならば前記暗号文Cを選択して出力し、(C
|P)・(C|q)=−1ならば前記第2の除算手段の
出力を選択して出力する第3のセレクタと、前記数値N
から前記第3のセレクタの出力を減算して減算結果を出
力する第3の減算手段と、(C|p)=−1あるいは
(C|q)=−1ならば前記第3の減算手段の出力を選
択出力、さもなくば前記第3のセレクタの出力を選択し
て出力する第4のセレクタと、前記第4のセレクタの出
力を剰余pと剰余qでそれぞれ開平する開平手段と、前
記開平手段の出力を予め決められた定数で重み付き加算
し、加算結果を前記予め決められた数値Nで割った余り
を算出して出力する平文合成手段とを備え、前記平文合
成手段の出力を暗号文Cに対応する平文Mとして出力す
ることを特徴とする。
値表現Mをランダム変換手段に入力して、予め決められ
た1対1変換を行って得られる数値を、上記暗号通信符
号化装置の数値表現Mに用いることを特徴とする。本発
明の第1の暗号通信復号化装置は、上記暗号通信符号化
装置の出力した前記暗号文Cに対して、少なくとも、ヤ
コビ記号(C|p)および(C|q)を計算する第2の
ヤコビ記号計算手段と、前記数値Nを法として暗号文C
を2で除算して除算結果を出力する第2の除算手段と、
(C|p)・(C|q)=0あるいは(C|p)・(C
|q)=1ならば前記暗号文Cを選択して出力し、(C
|P)・(C|q)=−1ならば前記第2の除算手段の
出力を選択して出力する第3のセレクタと、前記数値N
から前記第3のセレクタの出力を減算して減算結果を出
力する第3の減算手段と、(C|p)=−1あるいは
(C|q)=−1ならば前記第3の減算手段の出力を選
択出力、さもなくば前記第3のセレクタの出力を選択し
て出力する第4のセレクタと、前記第4のセレクタの出
力を剰余pと剰余qでそれぞれ開平する開平手段と、前
記開平手段の出力を予め決められた定数で重み付き加算
し、加算結果を前記予め決められた数値Nで割った余り
を算出して出力する平文合成手段とを備え、前記平文合
成手段の出力を暗号文Cに対応する平文Mとして出力す
ることを特徴とする。
【0050】本発明の第2の暗号通信復号化装置は、上
記暗号通信復号化装置において、前記平文合成手段の出
力の平文Mを、予め決められた1対1変換を行う逆ラン
ダム変換手段に入力し、得られる数値を出力することを
特徴とする。
記暗号通信復号化装置において、前記平文合成手段の出
力の平文Mを、予め決められた1対1変換を行う逆ラン
ダム変換手段に入力し、得られる数値を出力することを
特徴とする。
【0051】
【作用】上記の構成によれば本発明の暗号通信符号化装
置においては、平方回路で入力平文の数値表現Mを平方
して数値Nで割った余りの出力に、比較器でN/2とM
の大小を比較した出力およびヤコビ記号計算回路で計算
したヤコビ記号(M|N)の出力とに応じて補正回路で
予め決められた補正を施して暗号文Cとしてデータ出力
される。
置においては、平方回路で入力平文の数値表現Mを平方
して数値Nで割った余りの出力に、比較器でN/2とM
の大小を比較した出力およびヤコビ記号計算回路で計算
したヤコビ記号(M|N)の出力とに応じて補正回路で
予め決められた補正を施して暗号文Cとしてデータ出力
される。
【0052】一方暗号通信復号化装置においては、入力
暗号Cに対してヤコビ記号計算回路で計算された暗号文
Cのヤコビ記号(C|p)と(C|q)に応じて逆補正
回路で逆補正回路を施し、開平回路で剰余pと剰余qで
それぞれ開平して、平文合成回路で決められた定数で重
み付加算した上で数値Nで割った余りを平文データとし
て出力するので、暗号文から平文が一意に決定処理する
ことが可能となる。
暗号Cに対してヤコビ記号計算回路で計算された暗号文
Cのヤコビ記号(C|p)と(C|q)に応じて逆補正
回路で逆補正回路を施し、開平回路で剰余pと剰余qで
それぞれ開平して、平文合成回路で決められた定数で重
み付加算した上で数値Nで割った余りを平文データとし
て出力するので、暗号文から平文が一意に決定処理する
ことが可能となる。
【0053】あるいは、暗号通信符号化装置において、
ランダム変換器が入力文Mに予め決められた1対1の変
換を行ない暗号化してデータ出力され、一方暗号通信復
号化装置においては、逆ランダム変換器が平文合成回路
の出力を入力として予め決められたランダム変換器の逆
変換を行って平文データとして出力するので、更に機能
的な平文と暗号文の1対1対応処理を行うことが可能と
なる。
ランダム変換器が入力文Mに予め決められた1対1の変
換を行ない暗号化してデータ出力され、一方暗号通信復
号化装置においては、逆ランダム変換器が平文合成回路
の出力を入力として予め決められたランダム変換器の逆
変換を行って平文データとして出力するので、更に機能
的な平文と暗号文の1対1対応処理を行うことが可能と
なる。
【0054】
【実施例】次に本発明の暗号通信符号化装置および復号
化装置の一実施例における具体的なデータ処理を説明す
る前にまず本発明の暗号化および復号化の特徴的方式に
ついて述べておく必要があるので以下に説明する。
化装置の一実施例における具体的なデータ処理を説明す
る前にまず本発明の暗号化および復号化の特徴的方式に
ついて述べておく必要があるので以下に説明する。
【0055】公開鍵がNのラビン暗号においては、0か
らN−1までのすべての整数値が平文として使われてい
るが、暗号文としては0からN−1までの整数のうち一
部しか使われていない。平文と暗号文の数が等しくなけ
れば、それらを1対1に対応させることは明らかに不可
能である。本発明は、ラビン暗号で暗号文として使われ
ていない整数を見つけ出して、0からN−1までのすべ
ての整数を暗号文として利用することで1対1の対応を
可能にするものである。以下では、ラビン暗号で暗号文
として使われていない整数を見つけ出す方法と、得られ
たN個の暗号文とN個の平文とを1対1に対応させる方
法を3つの場合に分けて説明する。なお、本発明におい
ては、秘密鍵p,qとして式(50)あるいは、
らN−1までのすべての整数値が平文として使われてい
るが、暗号文としては0からN−1までの整数のうち一
部しか使われていない。平文と暗号文の数が等しくなけ
れば、それらを1対1に対応させることは明らかに不可
能である。本発明は、ラビン暗号で暗号文として使われ
ていない整数を見つけ出して、0からN−1までのすべ
ての整数を暗号文として利用することで1対1の対応を
可能にするものである。以下では、ラビン暗号で暗号文
として使われていない整数を見つけ出す方法と、得られ
たN個の暗号文とN個の平文とを1対1に対応させる方
法を3つの場合に分けて説明する。なお、本発明におい
ては、秘密鍵p,qとして式(50)あるいは、
【0056】
【数16】
【0057】式(51)の条件を満たすような3以上の
素数を選ぶ必要がある。
素数を選ぶ必要がある。
【0058】
【数17】
【0059】そのような素数の組を選ぶ理由は以下の説
明の過程で明らかになる。ただし、説明の便宜上、以下
では式(50)を満たすような素数の組に限定する。式
(51)の条件を満たす素数の組を選んだ場合について
は、以下の説明においてpとqを入れ換えてみれば明ら
かである。
明の過程で明らかになる。ただし、説明の便宜上、以下
では式(50)を満たすような素数の組に限定する。式
(51)の条件を満たす素数の組を選んだ場合について
は、以下の説明においてpとqを入れ換えてみれば明ら
かである。
【0060】第1に平文MがM=0の場合について考え
る。ラビン暗号においては明らかに、平文0は暗号文0
に暗号化される。また、暗号文0に暗号化される平文は
0しかない。そうであるなら、x2 =0 mod N
を満足する整数xはNの倍数すなわち0,N,2N,3
N,…であるが、それらのうち平文として使われている
ものは0だけである。本発明においても平文M=0は暗
号文C=0に暗号化することにする。すなわち、
る。ラビン暗号においては明らかに、平文0は暗号文0
に暗号化される。また、暗号文0に暗号化される平文は
0しかない。そうであるなら、x2 =0 mod N
を満足する整数xはNの倍数すなわち0,N,2N,3
N,…であるが、それらのうち平文として使われている
ものは0だけである。本発明においても平文M=0は暗
号文C=0に暗号化することにする。すなわち、
【0061】
【数18】
【0062】なお、式(60)で符号化された暗号文か
ら元の平文を復元するには、式(61)のような操作を
行えばよい。
ら元の平文を復元するには、式(61)のような操作を
行えばよい。
【0063】
【数19】
【0064】第2に平文Mが(M|N)=0,M≠0を
満足する場合について考える。ラビン暗号においては、
そのような平文は(C|N)=0,C≠0を満たす暗号
文Cに暗号化される。なぜなら(M|N)=0ならば前
述のヤコビ記号の性質により(C|N)=(M・M m
od N|N)=(M|N)2=0であり、一方、(M
|N)=0を満たすMのうちM=0は先に述べたように
C=0と1対1に対応しているからである。このような
暗号文Cに対しては、式(46)に示したように式(4
0)は2つの解を持つ。すなわち1つの暗号文に2つの
平文が対応している。従って、(M|N)=0,M≠0
を満たす平文Mと(C|N)=0,C≠0を満たす暗号
文Cとを1対1に対応させるには、それぞれの暗号文C
に対して、(x|N)=0,x=0を満たす整数xのう
ちラビン暗号の暗号文として使われていない整数を1個
捜し出して、それを暗号文として利用する必要がある。
満足する場合について考える。ラビン暗号においては、
そのような平文は(C|N)=0,C≠0を満たす暗号
文Cに暗号化される。なぜなら(M|N)=0ならば前
述のヤコビ記号の性質により(C|N)=(M・M m
od N|N)=(M|N)2=0であり、一方、(M
|N)=0を満たすMのうちM=0は先に述べたように
C=0と1対1に対応しているからである。このような
暗号文Cに対しては、式(46)に示したように式(4
0)は2つの解を持つ。すなわち1つの暗号文に2つの
平文が対応している。従って、(M|N)=0,M≠0
を満たす平文Mと(C|N)=0,C≠0を満たす暗号
文Cとを1対1に対応させるには、それぞれの暗号文C
に対して、(x|N)=0,x=0を満たす整数xのう
ちラビン暗号の暗号文として使われていない整数を1個
捜し出して、それを暗号文として利用する必要がある。
【0065】さて本発明では、式(50)のように(−
1|p)=(−1|q)=−1を満たすような秘密鍵
p,qを選んでいるので、Cが(C|N)=0,C≠0
を満たすような暗号文であれば、(x|N)=0,x≠
0を満たしラビン暗号の暗号文として使われていないよ
うな整数として−Cを選べばよい。なぜなら秘密鍵p,
qの式(50)の条件と前述のヤコビ記号の性質より、
1|p)=(−1|q)=−1を満たすような秘密鍵
p,qを選んでいるので、Cが(C|N)=0,C≠0
を満たすような暗号文であれば、(x|N)=0,x≠
0を満たしラビン暗号の暗号文として使われていないよ
うな整数として−Cを選べばよい。なぜなら秘密鍵p,
qの式(50)の条件と前述のヤコビ記号の性質より、
【0066】
【数20】
【0067】であるから、(−C|p),(−C|q)
の一方が−1でもう一方が0となる。これは、暗号文と
して−Cを代入した式(41),(42)の一方が解を
持たないということであるから、暗号文として−Cを代
入した式(40)が解を持たないということになる。す
なわち、−Cはラビン暗号において暗号文として使われ
ていない。なお、以上の説明では便宜上−Cと表してい
るが、−C=N−C mod Nで0<N−C<Nであ
るから、実際に暗号文として使われるのはN−Cであ
る。以下でも便宜的に同様の記法を用いることにする。
の一方が−1でもう一方が0となる。これは、暗号文と
して−Cを代入した式(41),(42)の一方が解を
持たないということであるから、暗号文として−Cを代
入した式(40)が解を持たないということになる。す
なわち、−Cはラビン暗号において暗号文として使われ
ていない。なお、以上の説明では便宜上−Cと表してい
るが、−C=N−C mod Nで0<N−C<Nであ
るから、実際に暗号文として使われるのはN−Cであ
る。以下でも便宜的に同様の記法を用いることにする。
【0068】さて、ラビン暗号において(M|N)=
0,M≠0を満たす平文Mが暗号文Cに暗号化されたと
すると、式(40)を満足するもう一つの平文は−Mで
ある。これは式(40)に−Mを代入してみると明らか
である。なお明らかに、Mと−Mの2つの平文のうち、
一方はN/2より大きく、他方はN/2より小さい。ま
た以上では、−Cがラビン暗号で暗号文として使われて
いないことを示した。これらの平文M,−Mと暗号文
C,−Cとを1対1に対応させるには、例えば次のよう
にして暗号化すればよい。ただし式(70)において
M,Cはそれぞれ平文と暗号文を示す変数であり、以上
の説明におけるM,Cとは異なる。
0,M≠0を満たす平文Mが暗号文Cに暗号化されたと
すると、式(40)を満足するもう一つの平文は−Mで
ある。これは式(40)に−Mを代入してみると明らか
である。なお明らかに、Mと−Mの2つの平文のうち、
一方はN/2より大きく、他方はN/2より小さい。ま
た以上では、−Cがラビン暗号で暗号文として使われて
いないことを示した。これらの平文M,−Mと暗号文
C,−Cとを1対1に対応させるには、例えば次のよう
にして暗号化すればよい。ただし式(70)において
M,Cはそれぞれ平文と暗号文を示す変数であり、以上
の説明におけるM,Cとは異なる。
【0069】
【数21】
【0070】そして、式(70)のように暗号化された
暗号文から元の平文を復元するには、まず式(71)の
ような操作を行う。
暗号文から元の平文を復元するには、まず式(71)の
ような操作を行う。
【0071】
【数22】
【0072】θについて(θ|p)=1,(θ|q)=
0あるいは(θ|p)=0,(θ|q)=1という関係
が成り立っていることは、式(50)のp,qの条件お
よび前述のヤコビ記号の性質より明らかである。次に暗
号文としてθを代入した式(40)の解を求める。そし
て、得られた2つの解のうちN/2より小さい方の解を
mとすれば、式(72)の操作で元の平文が復元でき
る。
0あるいは(θ|p)=0,(θ|q)=1という関係
が成り立っていることは、式(50)のp,qの条件お
よび前述のヤコビ記号の性質より明らかである。次に暗
号文としてθを代入した式(40)の解を求める。そし
て、得られた2つの解のうちN/2より小さい方の解を
mとすれば、式(72)の操作で元の平文が復元でき
る。
【0073】
【数23】
【0074】なお、復号化の操作は式(71)の代わり
に式(73)のように行ってもよい。
に式(73)のように行ってもよい。
【0075】
【数24】
【0076】ただし、その場合には式(72)を式(7
4)のように修正する必要がある。
4)のように修正する必要がある。
【0077】
【数25】
【0078】第3に平文が(M|N)≠0を満足する場
合について考える。ラビン暗号においては、そのような
平文は(C|N)≠0を満たす暗号文Cに暗号化され
る。なぜなら、(M|N)≠0ならば前述のヤコビ記号
の性質により(C|N)=(M・M mod N|N)
=(M・M|N)=(M|N)2≠0だからである。こ
のようなCに対しては、式(46)に示したようにMに
関する方程式(40)は4つの解を持つ。すなわち一つ
の暗号文に対して4つの平文が対応している。従って、
(M|N)≠0を満たす平文Mと(C|N)≠0を満た
す暗号文Cとを1対1に対応させるには、それぞれの暗
号文Cに対応して、(x|N)≠0を満たす整数xのう
ちラビン暗号の暗号文として使われていない整数を3個
捜し出して、それを暗号文として利用する必要がある。
合について考える。ラビン暗号においては、そのような
平文は(C|N)≠0を満たす暗号文Cに暗号化され
る。なぜなら、(M|N)≠0ならば前述のヤコビ記号
の性質により(C|N)=(M・M mod N|N)
=(M・M|N)=(M|N)2≠0だからである。こ
のようなCに対しては、式(46)に示したようにMに
関する方程式(40)は4つの解を持つ。すなわち一つ
の暗号文に対して4つの平文が対応している。従って、
(M|N)≠0を満たす平文Mと(C|N)≠0を満た
す暗号文Cとを1対1に対応させるには、それぞれの暗
号文Cに対応して、(x|N)≠0を満たす整数xのう
ちラビン暗号の暗号文として使われていない整数を3個
捜し出して、それを暗号文として利用する必要がある。
【0079】さて、(M|M)≠0を満たす平文Mが暗
号文Cに暗号化されたとする。この場合には(x|N)
≠0を満たす整数xのうちラビン暗号の暗号文として使
われていない整数の一つとして−Cを選ぶ。これがラビ
ン暗号で暗号文として使われていないことは第2の場合
と同様にしてわかる。残り2つの整数としては2C,−
2Cを選ぶことにする。なぜなら、秘密鍵p,qの条件
(50)と前述のヤコビ記号の性質より
号文Cに暗号化されたとする。この場合には(x|N)
≠0を満たす整数xのうちラビン暗号の暗号文として使
われていない整数の一つとして−Cを選ぶ。これがラビ
ン暗号で暗号文として使われていないことは第2の場合
と同様にしてわかる。残り2つの整数としては2C,−
2Cを選ぶことにする。なぜなら、秘密鍵p,qの条件
(50)と前述のヤコビ記号の性質より
【0080】
【数26】
【0081】であるから、暗号文として2C,−2Cを
代入した式(40)が解を持たない。すなわち、2C,
−2Cはラビン暗号において暗号文として使われていな
い。さて、(M|N)≠0を満たす平文Mが暗号文Cに
暗号化されたとする。この場合に、式(40)を満足す
る4つの平文と、以上のようにして得られた計4つの暗
号文C,−C,2C,−2Cとを如何にして1対1に対
応させるか説明する。
代入した式(40)が解を持たない。すなわち、2C,
−2Cはラビン暗号において暗号文として使われていな
い。さて、(M|N)≠0を満たす平文Mが暗号文Cに
暗号化されたとする。この場合に、式(40)を満足す
る4つの平文と、以上のようにして得られた計4つの暗
号文C,−C,2C,−2Cとを如何にして1対1に対
応させるか説明する。
【0082】式(40)を満足する4つの平文のうち2
つはN/2より小さく、それらをM1 ,M2とおけば、
残りの2つの平文は−M1 ,−M2である。その理由
は、第2の場合と同様である。また、M1とM2 は、ヤ
コビ記号(M1|N),(M2,|N)の値が異なってい
る。というのも、まず第一に、先に述べたヤコビ記号の
性質により、
つはN/2より小さく、それらをM1 ,M2とおけば、
残りの2つの平文は−M1 ,−M2である。その理由
は、第2の場合と同様である。また、M1とM2 は、ヤ
コビ記号(M1|N),(M2,|N)の値が異なってい
る。というのも、まず第一に、先に述べたヤコビ記号の
性質により、
【0083】
【数27】
【0084】であるから、M1と−M1およびM2と−M2
はヤコビ記号の値が等しい。第二に、式(41)の1方
の解をxp とし、式(42)の1つの解をxq とし、
xp,xq を式(45)に代入して得られる式(40)
の解をxN とすれば、先に述べたヤコビ記号の性質と
先に述べたbp とbq の定義により、
はヤコビ記号の値が等しい。第二に、式(41)の1方
の解をxp とし、式(42)の1つの解をxq とし、
xp,xq を式(45)に代入して得られる式(40)
の解をxN とすれば、先に述べたヤコビ記号の性質と
先に述べたbp とbq の定義により、
【0085】
【数28】
【0086】であるから、式(40)を満足する4つの
解のヤコビ記号(M1|N),(M2|N),(−M1|
N),(−M2|N)の値は、2つの解については1で
2つの解については−1である。以上によりM1とM2
のヤコビ記号(M1|N),(M2|N)の値が異なって
いることがわかる。
解のヤコビ記号(M1|N),(M2|N),(−M1|
N),(−M2|N)の値は、2つの解については1で
2つの解については−1である。以上によりM1とM2
のヤコビ記号(M1|N),(M2|N)の値が異なって
いることがわかる。
【0087】さて、ラビン暗号において(M|N)≠0
を満たす平文Mが暗号文Cに暗号化されたとすると、ラ
ビン暗号で暗号文として使われていない整数としては以
上で示したように−C,2C,−2Cがあり、式(4
0)を満足する4つの解は以上で示したようにN/2と
の大小関係とNに関するヤコビ記号の値で区別できる。
従って、これら4つの平文と4つの暗号文とを1対1に
対応させるには、例えば次のようにして暗号化すればよ
い。ただし式(80)においてM,Cはそれぞれ平文と
暗号文を示す変数であり、以上の説明におけるM,Cと
は異なる。
を満たす平文Mが暗号文Cに暗号化されたとすると、ラ
ビン暗号で暗号文として使われていない整数としては以
上で示したように−C,2C,−2Cがあり、式(4
0)を満足する4つの解は以上で示したようにN/2と
の大小関係とNに関するヤコビ記号の値で区別できる。
従って、これら4つの平文と4つの暗号文とを1対1に
対応させるには、例えば次のようにして暗号化すればよ
い。ただし式(80)においてM,Cはそれぞれ平文と
暗号文を示す変数であり、以上の説明におけるM,Cと
は異なる。
【0088】
【数29】
【0089】そして、式(80)のように暗号化された
暗号文から元の平文を復元するには、まず式(81)の
ような操作を行う。
暗号文から元の平文を復元するには、まず式(81)の
ような操作を行う。
【0090】
【数30】
【0091】θについて(θ|p)=1,(θ|q)=
1という関係が成り立っていることは、式(50)の
p,qの条件および前述のヤコビ記号の性質より明らか
である。次に暗号文としてθを代入した式(40)の解
を求める。そして得られた4つの解のうち、N/2より
小さくNに関するヤコビ記号が1であるような解をm1
とし、N/2より小さくNに関するヤコビ記号が−1で
あるような解をm2とすれば、式(82)の操作で元の
平文Mが復元できる。
1という関係が成り立っていることは、式(50)の
p,qの条件および前述のヤコビ記号の性質より明らか
である。次に暗号文としてθを代入した式(40)の解
を求める。そして得られた4つの解のうち、N/2より
小さくNに関するヤコビ記号が1であるような解をm1
とし、N/2より小さくNに関するヤコビ記号が−1で
あるような解をm2とすれば、式(82)の操作で元の
平文Mが復元できる。
【0092】
【数31】
【0093】なお、本発明における暗号化においては、
式(80)における演算と条件とが、1対1に対応して
いれば、任意のものが使える。ただし、式(80)と異
なる対応付けをした場合には、それに応じて式(8
1),(82)における演算と条件との対応付けも変更
する必要がある。
式(80)における演算と条件とが、1対1に対応して
いれば、任意のものが使える。ただし、式(80)と異
なる対応付けをした場合には、それに応じて式(8
1),(82)における演算と条件との対応付けも変更
する必要がある。
【0094】なお、最後に補足をすると、以上の説明で
は式(50)の条件を満足する素数p,qが存在するこ
とを前提としていたが、そのような素数p,qは実際に
存在する。というのも、この条件は前述のヤコビ記号の
性質によってp=3 mod8,q=7 mod 8と
いう簡単な条件に帰着できる。そして、式p=3mod
8を満たす素数pには3,11,19,43,59,
…が存在し、式q=7 mod 8を満たす素数qには
7,23,31,47,71,79,…が存在する。ま
た、そのようなp,qはp=3 mod 4,q=3
mod 4という条件を満たしているので、ラビン暗号
の復号化の説明で述べたように式(43),(44)を
利用して、式(41),(42)の解を求められる。
は式(50)の条件を満足する素数p,qが存在するこ
とを前提としていたが、そのような素数p,qは実際に
存在する。というのも、この条件は前述のヤコビ記号の
性質によってp=3 mod8,q=7 mod 8と
いう簡単な条件に帰着できる。そして、式p=3mod
8を満たす素数pには3,11,19,43,59,
…が存在し、式q=7 mod 8を満たす素数qには
7,23,31,47,71,79,…が存在する。ま
た、そのようなp,qはp=3 mod 4,q=3
mod 4という条件を満たしているので、ラビン暗号
の復号化の説明で述べたように式(43),(44)を
利用して、式(41),(42)の解を求められる。
【0095】さらに前述の説明では、3つの場合につい
てそれぞれ式(60),(70),(80)のように異
なる暗号化を行っていたが、これらは以下式(90),
(91)のように簡単にまとめることができる。
てそれぞれ式(60),(70),(80)のように異
なる暗号化を行っていたが、これらは以下式(90),
(91)のように簡単にまとめることができる。
【0096】
【数32】
【0097】ここで関数t(M)とu(M)は式(9
2),(93)で定義される関数である。
2),(93)で定義される関数である。
【0098】
【数33】
【0099】なお以下では、θのことを中間文と呼ぶこ
とにする。式(60),(70),(80)の操作が式
(90),(91)のようにまとめられることは、式
(60),(70),(80)と式(90),(9
1),(92),(93)を比較すれば明らかである。
とにする。式(60),(70),(80)の操作が式
(90),(91)のようにまとめられることは、式
(60),(70),(80)と式(90),(9
1),(92),(93)を比較すれば明らかである。
【0100】以下本発明の一実施例について図を参照し
て説明する。図1は、式(90),(91)にもとづい
て暗号化操作を行う、本発明の第1の実施例である暗号
通信符号化装置の一実施例を示す機能ブロック図であ
る。図において、公開鍵Nは入力端子105から入力さ
れ、平方回路102,補正回路103,比較器106,
ヤコビ記号計算回路107に供給される。平文Mは入力
端子101から入力され、平方回路102,比較器10
6,ヤコビ記号計算回路107に供給される。平方回路
102はM2 mod Nを算出し、その結果を補正
回路103に供給する。なお、平方回路102における
処理が式(90)の操作に相当し、平方回路102の出
力が式(90)の中間文θに相当する。また、平方回路
102としてはラビン暗号で使われるものと同様のもの
が使用できる。比較器106は、平文MとN/2との大
小関係を算出し、その結果を補正回路103に供給す
る。
て説明する。図1は、式(90),(91)にもとづい
て暗号化操作を行う、本発明の第1の実施例である暗号
通信符号化装置の一実施例を示す機能ブロック図であ
る。図において、公開鍵Nは入力端子105から入力さ
れ、平方回路102,補正回路103,比較器106,
ヤコビ記号計算回路107に供給される。平文Mは入力
端子101から入力され、平方回路102,比較器10
6,ヤコビ記号計算回路107に供給される。平方回路
102はM2 mod Nを算出し、その結果を補正
回路103に供給する。なお、平方回路102における
処理が式(90)の操作に相当し、平方回路102の出
力が式(90)の中間文θに相当する。また、平方回路
102としてはラビン暗号で使われるものと同様のもの
が使用できる。比較器106は、平文MとN/2との大
小関係を算出し、その結果を補正回路103に供給す
る。
【0101】ヤコビ記号計算回路107はヤコビ記号
(M|N)を計算し、その結果を補正回路103に供給
する。ヤコビ記号計算回路107については先に述べた
ように例えば前述のデニングの書籍やウイリアムズの論
文で示されている算法を実行するマイクロコンピュータ
などによって構成できる。なお、ヤコビ記号の計算方法
については本発明とは関係が薄いのでヤコビ記号の計算
方法についてはそれらの文献に譲ることにする。補正回
路103は比較器106の出力とヤコビ記号計算回路1
07の出力に応じて、中間文θに対して式(91)の変
換を施し、その結果を暗号文Cとして出力端子104か
ら出力する。つぎに、補正回路103について詳しく述
べることにする。
(M|N)を計算し、その結果を補正回路103に供給
する。ヤコビ記号計算回路107については先に述べた
ように例えば前述のデニングの書籍やウイリアムズの論
文で示されている算法を実行するマイクロコンピュータ
などによって構成できる。なお、ヤコビ記号の計算方法
については本発明とは関係が薄いのでヤコビ記号の計算
方法についてはそれらの文献に譲ることにする。補正回
路103は比較器106の出力とヤコビ記号計算回路1
07の出力に応じて、中間文θに対して式(91)の変
換を施し、その結果を暗号文Cとして出力端子104か
ら出力する。つぎに、補正回路103について詳しく述
べることにする。
【0102】図3は、図1に示した補正回路103の機
能ブロック図である。図において、中間文θは入力端子
301から入力され、減算器302とセレクタ303に
供給される。図1に示した比較器106の出力は入力端
子308から入力され、セレクタ303に供給される。
図1に示したヤコビ記号計算回路107の出力は入力端
子309から入力されセレクタ305に供給される。公
開鍵Nは入力端子307から入力され、減算器302と
加算器304に供給される。減算器302はN−θを計
算して、その結果をセレクタ303に供給する。セレク
タ303は比較器106の出力がM<N/2であること
を示していれば、その出力として中間文θを選択し、さ
もなくば減算器302の出力を選択する。セレクタ30
3の出力は加算器304セレクタ305に供給される。
セレクタ303の出力をsで表わせば、加算器304は
s+s mod Nすなわち2・s mod Nを計算
し、その結果をセレクタ305に供給する。セレクタ3
05はヤコビ記号計算回路107の出力が(M|N)=
−1であることを示していれば、その出力として加算器
304の出力を選択し、さもなくばセレクタ303の出
力を選択する。セレクタ305の出力は出力端子306
から出力される。
能ブロック図である。図において、中間文θは入力端子
301から入力され、減算器302とセレクタ303に
供給される。図1に示した比較器106の出力は入力端
子308から入力され、セレクタ303に供給される。
図1に示したヤコビ記号計算回路107の出力は入力端
子309から入力されセレクタ305に供給される。公
開鍵Nは入力端子307から入力され、減算器302と
加算器304に供給される。減算器302はN−θを計
算して、その結果をセレクタ303に供給する。セレク
タ303は比較器106の出力がM<N/2であること
を示していれば、その出力として中間文θを選択し、さ
もなくば減算器302の出力を選択する。セレクタ30
3の出力は加算器304セレクタ305に供給される。
セレクタ303の出力をsで表わせば、加算器304は
s+s mod Nすなわち2・s mod Nを計算
し、その結果をセレクタ305に供給する。セレクタ3
05はヤコビ記号計算回路107の出力が(M|N)=
−1であることを示していれば、その出力として加算器
304の出力を選択し、さもなくばセレクタ303の出
力を選択する。セレクタ305の出力は出力端子306
から出力される。
【0103】つぎに第2の実施例である暗号通信復号化
装置における処理について説明する。前述の式(6
0),(70),(80)に対応した説明では、3つの
場合について式(61),(71),(81)のように
それぞれ異なる復号化の操作を行っていたが、中間文θ
を算出する操作は式(94)のように簡単にまとめられ
る。なお、C=0の場合には中間文を求めなくとも、平
文Mが0であることがわかるが、C=0の場合にはθ=
0となるので、式(94)に含めて扱っても、後の操作
に支障はない。
装置における処理について説明する。前述の式(6
0),(70),(80)に対応した説明では、3つの
場合について式(61),(71),(81)のように
それぞれ異なる復号化の操作を行っていたが、中間文θ
を算出する操作は式(94)のように簡単にまとめられ
る。なお、C=0の場合には中間文を求めなくとも、平
文Mが0であることがわかるが、C=0の場合にはθ=
0となるので、式(94)に含めて扱っても、後の操作
に支障はない。
【0104】
【数34】
【0105】ここで関数t’(C)とu’(C)は式
(95),(96)で定義される関数である。
(95),(96)で定義される関数である。
【0106】
【数35】
【0107】式(61),(71),(81)が式(9
4)のようにまとめられることは、式(61),(7
1),(81)と式(94),(95),(96)を比
較すれば明らかである。図2は、式(94)にもとづい
て復号化操作を行う、本発明の第2の実施例である暗号
通信復号化装置の一実施例を示す機能ブロック図であ
る。図において、秘密鍵pは入力端子208から入力さ
れ、ヤコビ記号計算回路209,開平回路203,平文
合成回路205に供給される。秘密鍵qは入力端子21
0から入力され、ヤコビ記号計算回路211、開平回路
204、平文合成回路205に供給される。公開鍵Nは
入力端子207から入力され、逆補正回路202、平文
合成回路205に供給される。なお、N=p・qである
から、公開鍵Nを入力端子207から供給しないで、入
力端子208と入力端子210から供給されるp・qを
乗じて公開鍵Nを生成することも可能であるが、乗算器
が必要となるので、多くの用途では図2のように外部か
ら供給する方が望ましい。暗号文Cは入力端子201か
ら入力されて逆補正回路202とヤコビ記号計算回路2
09,211に供給される。
4)のようにまとめられることは、式(61),(7
1),(81)と式(94),(95),(96)を比
較すれば明らかである。図2は、式(94)にもとづい
て復号化操作を行う、本発明の第2の実施例である暗号
通信復号化装置の一実施例を示す機能ブロック図であ
る。図において、秘密鍵pは入力端子208から入力さ
れ、ヤコビ記号計算回路209,開平回路203,平文
合成回路205に供給される。秘密鍵qは入力端子21
0から入力され、ヤコビ記号計算回路211、開平回路
204、平文合成回路205に供給される。公開鍵Nは
入力端子207から入力され、逆補正回路202、平文
合成回路205に供給される。なお、N=p・qである
から、公開鍵Nを入力端子207から供給しないで、入
力端子208と入力端子210から供給されるp・qを
乗じて公開鍵Nを生成することも可能であるが、乗算器
が必要となるので、多くの用途では図2のように外部か
ら供給する方が望ましい。暗号文Cは入力端子201か
ら入力されて逆補正回路202とヤコビ記号計算回路2
09,211に供給される。
【0108】ヤコビ記号計算回路209はヤコビ記号
(C|p)を算出し、その結果を逆補正回路202、平
文合成回路205に供給する。ヤコビ記号計算回路21
1はヤコビ記号(C|q)を算出し、その結果を逆補正
回路202、平文合成回路205に供給する。逆補正回
路202は公開鍵Nとヤコビ記号(C|p),(C|
q)の値に応じて暗号文Cに式(94)の変換を施し、
その結果θを開平回路203,204に供給する。開平
回路203は暗号文としてθを代入した式(41)をx
について解いて、その解を平文合成回路205に出力
し、開平回路204は暗号文としてθを代入した式(4
2)をxについて解いて、その解を平文合成回路205
に出力する。
(C|p)を算出し、その結果を逆補正回路202、平
文合成回路205に供給する。ヤコビ記号計算回路21
1はヤコビ記号(C|q)を算出し、その結果を逆補正
回路202、平文合成回路205に供給する。逆補正回
路202は公開鍵Nとヤコビ記号(C|p),(C|
q)の値に応じて暗号文Cに式(94)の変換を施し、
その結果θを開平回路203,204に供給する。開平
回路203は暗号文としてθを代入した式(41)をx
について解いて、その解を平文合成回路205に出力
し、開平回路204は暗号文としてθを代入した式(4
2)をxについて解いて、その解を平文合成回路205
に出力する。
【0109】なお、本発明では先に述べたように秘密鍵
p,qはp=3 mod 4,q=3 mod 4を満
足するように選ばれているので、開平回路203,20
4は式(43),(44)のような巾乗演算を行うこと
で解を求める。従って、開平回路203,204は、従
来のRSA暗号やラビン暗号で使われているのと同様な
巾乗演算回路を利用して実現できる。平文合成回路20
5は、式(45)にもとづいて開平回路203,204
の出力から式(40)の解を求める。なお、平文合成回
路205については後で詳しく述べることにする。
p,qはp=3 mod 4,q=3 mod 4を満
足するように選ばれているので、開平回路203,20
4は式(43),(44)のような巾乗演算を行うこと
で解を求める。従って、開平回路203,204は、従
来のRSA暗号やラビン暗号で使われているのと同様な
巾乗演算回路を利用して実現できる。平文合成回路20
5は、式(45)にもとづいて開平回路203,204
の出力から式(40)の解を求める。なお、平文合成回
路205については後で詳しく述べることにする。
【0110】図4は、図2に示した復号化装置の逆補正
回路202の機能ブロック図である。図において暗号文
Cは入力端子401から入力され、加算器402、セレ
クタ403、セレクタ405に供給される。図2に示し
たヤコビ記号計算回路209の出力(C|p)は入力端
子410から入力され、図2に示したヤコビ記号計算回
路211の出力(C|q)は入力端子411から入力さ
れ、それらは平文情報生成回路412に供給される。公
開鍵Nは入力端子409から入力され、加算器402と
減算器406に供給される。加算器402は公開鍵Nと
暗号文Cを加算し、その結果をセレクタ403に供給す
る。セレクタ403は、暗号文Cの最下位ビットが1す
なわち暗号文Cが奇数であれば出力として加算器402
の出力を選択し、さもなくば暗号文Cを選択する。シフ
タ404はセレクタ403の出力を下位ビット方向に1
ビットだけシフトして、その結果をセレクタ405に供
給する。なお、暗号文Cが偶数ならばCは2で割り切れ
るから、シフタ404の出力はC/2に等しい。
回路202の機能ブロック図である。図において暗号文
Cは入力端子401から入力され、加算器402、セレ
クタ403、セレクタ405に供給される。図2に示し
たヤコビ記号計算回路209の出力(C|p)は入力端
子410から入力され、図2に示したヤコビ記号計算回
路211の出力(C|q)は入力端子411から入力さ
れ、それらは平文情報生成回路412に供給される。公
開鍵Nは入力端子409から入力され、加算器402と
減算器406に供給される。加算器402は公開鍵Nと
暗号文Cを加算し、その結果をセレクタ403に供給す
る。セレクタ403は、暗号文Cの最下位ビットが1す
なわち暗号文Cが奇数であれば出力として加算器402
の出力を選択し、さもなくば暗号文Cを選択する。シフ
タ404はセレクタ403の出力を下位ビット方向に1
ビットだけシフトして、その結果をセレクタ405に供
給する。なお、暗号文Cが偶数ならばCは2で割り切れ
るから、シフタ404の出力はC/2に等しい。
【0111】一方、Nは明らかに奇数であるから、暗号
文Cが奇数ならばC+Nは2で割り切れ、シフタ404
の出力は(C+N)/2に等しい。また、CはNより小
さい数であるから、(C+N)/2もNより小さい。従
って、加算器402とセレクタ403とシフタ404
は、C/2 mod Nを計算しているわけである。
文Cが奇数ならばC+Nは2で割り切れ、シフタ404
の出力は(C+N)/2に等しい。また、CはNより小
さい数であるから、(C+N)/2もNより小さい。従
って、加算器402とセレクタ403とシフタ404
は、C/2 mod Nを計算しているわけである。
【0112】平文情報生成回路412は、ヤコビ記号計
算回路209,211の出力から、暗号通信符号化装置
の送信した平文Mのヤコビ記号(M|N)と、平文Mと
N/2との大小関係に関する情報を算出し、それぞれセ
レクタ405とセレクタ407に供給する。セレクタ4
05は、もし(M|N)=−1ならば出力としてシフタ
404の出力を選択し、それ以外の場合には暗号文Cを
選択する。セレクタ405の出力は減算器406、セレ
クタ407に供給されている。減算器406は公開鍵N
からセレクタ405の出力を減算し、その結果をセレク
タ407に供給する。もしM<N/2ならば、セレクタ
407は出力としてセレクタ405の出力を選択し、一
方M>N/2ならば、セレクタ407は減算器406の
出力を選択する。セレクタ407の出力は出力端子40
8から出力される。
算回路209,211の出力から、暗号通信符号化装置
の送信した平文Mのヤコビ記号(M|N)と、平文Mと
N/2との大小関係に関する情報を算出し、それぞれセ
レクタ405とセレクタ407に供給する。セレクタ4
05は、もし(M|N)=−1ならば出力としてシフタ
404の出力を選択し、それ以外の場合には暗号文Cを
選択する。セレクタ405の出力は減算器406、セレ
クタ407に供給されている。減算器406は公開鍵N
からセレクタ405の出力を減算し、その結果をセレク
タ407に供給する。もしM<N/2ならば、セレクタ
407は出力としてセレクタ405の出力を選択し、一
方M>N/2ならば、セレクタ407は減算器406の
出力を選択する。セレクタ407の出力は出力端子40
8から出力される。
【0113】さて、前述の本発明の復号化過程において
は、式(82)のような操作を行っているので、平文M
の候補の全てについてヤコビ記号を調べておく必要があ
る。ところで、暗号文Cとして中間文θを式(43),
(44)に代入して得られる√θp ,√θq について
は以下式(97),(98)の性質が成り立っている。
は、式(82)のような操作を行っているので、平文M
の候補の全てについてヤコビ記号を調べておく必要があ
る。ところで、暗号文Cとして中間文θを式(43),
(44)に代入して得られる√θp ,√θq について
は以下式(97),(98)の性質が成り立っている。
【0114】
【数36】
【0115】なぜなら、式(43),(44)、秘密鍵
p,qがp=3 mod 4,q=3 mod 4を満
足すること、および前述のヤコビ記号の定義と性質によ
り、式(99),(100)となる。
p,qがp=3 mod 4,q=3 mod 4を満
足すること、および前述のヤコビ記号の定義と性質によ
り、式(99),(100)となる。
【0116】
【数37】
【0117】従って、√θp ,√θq を式(45)に
代入して求められた解については、そのNに関するヤコ
ビ記号の値が1であることがわかる。ただし、このよう
にして得られた解とN/2との大小関係については予め
予測できない。そこで、前述の本発明の復号化操作を更
に進めて考えれば後半部分を次のように整理することが
できる。まず、式(81)によって中間文θが得られた
ならば、暗号文としてθを式(43),(44)に代入
して、√θp ,√θq を算出する。そして、送信され
た平文Mのヤコビ記号が(M|N)=−1でなければ、
それらを式(45)に代入して解を求め、送信された平
文Mのヤコビ記号が(M|N)=−1であれば、−√θ
p ,√θq あるいは√θp ,−√θq を式(45)
に代入して解を求める。そしてもし、得られた解mとN
/2との大小関係が、送信された平文MとN/2との大
小関係に一致すれば、M=mであることがわかり、一
方、得られた解mとN/2との大小関係が、送信された
平文MとN/2との大小関係に一致しなければ、M=N
−m mod Nであることがわかる。このようにすれ
ば、すべての平文についてヤコビ記号を計算する必要は
なくなる。
代入して求められた解については、そのNに関するヤコ
ビ記号の値が1であることがわかる。ただし、このよう
にして得られた解とN/2との大小関係については予め
予測できない。そこで、前述の本発明の復号化操作を更
に進めて考えれば後半部分を次のように整理することが
できる。まず、式(81)によって中間文θが得られた
ならば、暗号文としてθを式(43),(44)に代入
して、√θp ,√θq を算出する。そして、送信され
た平文Mのヤコビ記号が(M|N)=−1でなければ、
それらを式(45)に代入して解を求め、送信された平
文Mのヤコビ記号が(M|N)=−1であれば、−√θ
p ,√θq あるいは√θp ,−√θq を式(45)
に代入して解を求める。そしてもし、得られた解mとN
/2との大小関係が、送信された平文MとN/2との大
小関係に一致すれば、M=mであることがわかり、一
方、得られた解mとN/2との大小関係が、送信された
平文MとN/2との大小関係に一致しなければ、M=N
−m mod Nであることがわかる。このようにすれ
ば、すべての平文についてヤコビ記号を計算する必要は
なくなる。
【0118】図5は、以上の改良された復号化手順にも
とづいて、図2に示した開平回路203,204の出力
から平文を復元する、平文合成回路205の機能ブロッ
ク図である。図において、開平回路203の出力√θp
は入力端子502から入力され、乗算器514に供給さ
れる。開平回路204の出力√θqは入力端子504か
ら入力され、減算器511、セレクタ512に供給され
る。公開鍵Nは入力端子505から入力され、減算器5
18、加算器517、比較器521に供給される。秘密
鍵pは入力端子503から入力され乗算器515に供給
される。秘密鍵qは入力端子501から入力されて乗算
器513、減算器511に供給される。ヤコビ記号計算
回路209,211の出力は入力端子506,507か
ら入力されて平文情報生成回路522に供給され、平文
情報生成回路522は、送信された平文Mのヤコビ記号
(M|N)に関する情報をセレクタ512に供給し、M
とN/2との大小関係を排他的論理和回路520に供給
する。
とづいて、図2に示した開平回路203,204の出力
から平文を復元する、平文合成回路205の機能ブロッ
ク図である。図において、開平回路203の出力√θp
は入力端子502から入力され、乗算器514に供給さ
れる。開平回路204の出力√θqは入力端子504か
ら入力され、減算器511、セレクタ512に供給され
る。公開鍵Nは入力端子505から入力され、減算器5
18、加算器517、比較器521に供給される。秘密
鍵pは入力端子503から入力され乗算器515に供給
される。秘密鍵qは入力端子501から入力されて乗算
器513、減算器511に供給される。ヤコビ記号計算
回路209,211の出力は入力端子506,507か
ら入力されて平文情報生成回路522に供給され、平文
情報生成回路522は、送信された平文Mのヤコビ記号
(M|N)に関する情報をセレクタ512に供給し、M
とN/2との大小関係を排他的論理和回路520に供給
する。
【0119】減算器511はqから√θqを減算し、そ
の結果をセレクタ512に供給する。セレクタ512
は、もし(M|N)=−1ならば出力として減算器51
1の出力を選択し、それ以外の場合には、√θqを選択
する。乗算器513はqと入力端子508から供給され
ているbpとを乗算し、その結果を乗算器514に供給
する。乗算器515はpと入力端子509から供給され
ているbqとを乗算し、その結果を乗算器516に供給
する。なお、bp,bqは、式(45)で用いられている
定数bp,bqで、予め前述の条件を満たすように決めら
れている。
の結果をセレクタ512に供給する。セレクタ512
は、もし(M|N)=−1ならば出力として減算器51
1の出力を選択し、それ以外の場合には、√θqを選択
する。乗算器513はqと入力端子508から供給され
ているbpとを乗算し、その結果を乗算器514に供給
する。乗算器515はpと入力端子509から供給され
ているbqとを乗算し、その結果を乗算器516に供給
する。なお、bp,bqは、式(45)で用いられている
定数bp,bqで、予め前述の条件を満たすように決めら
れている。
【0120】乗算器514は√θpと乗算器513の出
力を乗算し、その結果を加算器517に供給する。乗算
器516はセレクタ512の出力と乗算器515の出力
を乗算し、その結果を加算器517に供給する。加算器
517は乗算器514,516の出力を加算した結果の
Nの剰余を算出し、その結果をセレクタ519、減算器
518、比較器521に供給する。なお、乗算器51
3,514,515,516、加算器517によって式
(45)の操作が実行され、減算器511とセレクタ5
12によって、√θq,−√θqの選択が実行されてい
る。
力を乗算し、その結果を加算器517に供給する。乗算
器516はセレクタ512の出力と乗算器515の出力
を乗算し、その結果を加算器517に供給する。加算器
517は乗算器514,516の出力を加算した結果の
Nの剰余を算出し、その結果をセレクタ519、減算器
518、比較器521に供給する。なお、乗算器51
3,514,515,516、加算器517によって式
(45)の操作が実行され、減算器511とセレクタ5
12によって、√θq,−√θqの選択が実行されてい
る。
【0121】減算器518は公開鍵Nから加算器517
の出力を減算し、その結果をセレクタ519に供給す
る。比較器521は加算器517の出力とN/2の大小
関係を算出し、その結果を排他的論理和回路520に供
給する。なお、比較器521の出力する大小比較結果の
ビット表現は平文情報生成回路522の出力と等しいこ
ととする。排他的論理和回路520は平文情報生成回路
522の出力と比較器521の出力が等しいか否かを判
定し、その結果をセレクタ519に供給する。セレクタ
519は、もし平文情報生成回路522の出力と比較器
521の出力が等しければ、出力として加算器517の
出力を選択し、さもなくば減算器518の出力を選択す
る。セレクタ519の出力は、復元された平文として出
力端子510から出力される。
の出力を減算し、その結果をセレクタ519に供給す
る。比較器521は加算器517の出力とN/2の大小
関係を算出し、その結果を排他的論理和回路520に供
給する。なお、比較器521の出力する大小比較結果の
ビット表現は平文情報生成回路522の出力と等しいこ
ととする。排他的論理和回路520は平文情報生成回路
522の出力と比較器521の出力が等しいか否かを判
定し、その結果をセレクタ519に供給する。セレクタ
519は、もし平文情報生成回路522の出力と比較器
521の出力が等しければ、出力として加算器517の
出力を選択し、さもなくば減算器518の出力を選択す
る。セレクタ519の出力は、復元された平文として出
力端子510から出力される。
【0122】なお、減算器518、セレクタ519、排
他的論理和回路520、比較器521は、加算器517
の出力している解とN/2の大小関係が、送信された平
文とN/2との大小関係と一致したら、加算器517の
出力をそのまま出力端子510から出力し、それ以外の
場合には−(加算器517の出力)mod Nを出力端
子510から出力することになる。
他的論理和回路520、比較器521は、加算器517
の出力している解とN/2の大小関係が、送信された平
文とN/2との大小関係と一致したら、加算器517の
出力をそのまま出力端子510から出力し、それ以外の
場合には−(加算器517の出力)mod Nを出力端
子510から出力することになる。
【0123】つぎに図4,5に示した平文情報生成回路
の動作について更に詳しく説明する。本発明の暗号化の
定義(60),(70),(80)とラビン暗号におけ
るヤコビ記号と根の数の関係式(46)および前述のヤ
コビ記号の性質より、本発明においては平文Mと暗号文
Cとの間に次の関係が成り立っていることがわかる。
の動作について更に詳しく説明する。本発明の暗号化の
定義(60),(70),(80)とラビン暗号におけ
るヤコビ記号と根の数の関係式(46)および前述のヤ
コビ記号の性質より、本発明においては平文Mと暗号文
Cとの間に次の関係が成り立っていることがわかる。
【0124】
【数38】
【0125】この関係を利用すれば、暗号文Cのヤコビ
記号(C|p),(C|q)の値から、送信された平文
Mのヤコビ記号の値およびMとN/2との関係が判断で
きる。図10は、式(101)にもとづいて暗号文Cの
ヤコビ記号(C|p),(C|q)の値から、送信され
た平文Mのヤコビ記号の値およびMとN/2との関係を
算出する、暗号文の(復号化装置の逆補正回路図、)図
4および(復号化装置の平文合成回路図、)図5に示し
た平文情報生成回路の機能ブロック図である。なお、説
明の便宜上、図4の平文情報生成回路412と図5の平
文情報生成回路522を別々に表わしたが、どちらの平
文情報生成回路も、図2に示したヤコビ記号生成回路2
09,211から信号の供給を受けているので、実際に
は、図4の平文情報生成回路412と図5の平文情報生
成回路522は共用できる。
記号(C|p),(C|q)の値から、送信された平文
Mのヤコビ記号の値およびMとN/2との関係が判断で
きる。図10は、式(101)にもとづいて暗号文Cの
ヤコビ記号(C|p),(C|q)の値から、送信され
た平文Mのヤコビ記号の値およびMとN/2との関係を
算出する、暗号文の(復号化装置の逆補正回路図、)図
4および(復号化装置の平文合成回路図、)図5に示し
た平文情報生成回路の機能ブロック図である。なお、説
明の便宜上、図4の平文情報生成回路412と図5の平
文情報生成回路522を別々に表わしたが、どちらの平
文情報生成回路も、図2に示したヤコビ記号生成回路2
09,211から信号の供給を受けているので、実際に
は、図4の平文情報生成回路412と図5の平文情報生
成回路522は共用できる。
【0126】さて、図において、図2に示したヤコビ記
号計算回路209の出力(C|p)は入力端子1001
から入力され、上位ビットがセレクタ1005の入力
と、排他的論理和回路1003に、下位ビットが論理積
回路1004およびセレクタ1005の制御信号入力端
子に供給される。図2に示したヤコビ記号計算回路21
1の出力(C|q)は入力端子1002から入力され、
上位ビットが排他的論理和回路1003とセレクタ10
05に供給され、下位ビットが論理積回路1004に供
給される。なお、(C|p)と(C|q)はそれぞれ2
の補数で表現されているものとする。セレクタ1005
は、(C|p)の下位ビットが1であればその出力とし
て(C|p)の上位ビットを選択し、さもなくば(C|
q)の上位ビットを選択する。セレクタ1005の出力
は出力端子1007から出力される。排他的論理和回路
1003は(C|p)の上位ビットと(C|q)の上位
ビットとの排他的論理和回路をとってその結果を論理積
回路1004に供給する。
号計算回路209の出力(C|p)は入力端子1001
から入力され、上位ビットがセレクタ1005の入力
と、排他的論理和回路1003に、下位ビットが論理積
回路1004およびセレクタ1005の制御信号入力端
子に供給される。図2に示したヤコビ記号計算回路21
1の出力(C|q)は入力端子1002から入力され、
上位ビットが排他的論理和回路1003とセレクタ10
05に供給され、下位ビットが論理積回路1004に供
給される。なお、(C|p)と(C|q)はそれぞれ2
の補数で表現されているものとする。セレクタ1005
は、(C|p)の下位ビットが1であればその出力とし
て(C|p)の上位ビットを選択し、さもなくば(C|
q)の上位ビットを選択する。セレクタ1005の出力
は出力端子1007から出力される。排他的論理和回路
1003は(C|p)の上位ビットと(C|q)の上位
ビットとの排他的論理和回路をとってその結果を論理積
回路1004に供給する。
【0127】そして、論理積回路1004は(C|p)
の下位ビットと、(C|q)の下位ビットと、排他的論
理和回路1003の出力との論理積をとって、その結果
を出力端子1006から出力する。なお、式(46)お
よび式(101)より、論理積回路1004の出力は、
(M|N)=1ならば1で、それ以外の場合は0である
ことがわかる。またセレクタ1005の出力は、M<N
/2ならば0で、M>N/2ならば1であることがわか
る。
の下位ビットと、(C|q)の下位ビットと、排他的論
理和回路1003の出力との論理積をとって、その結果
を出力端子1006から出力する。なお、式(46)お
よび式(101)より、論理積回路1004の出力は、
(M|N)=1ならば1で、それ以外の場合は0である
ことがわかる。またセレクタ1005の出力は、M<N
/2ならば0で、M>N/2ならば1であることがわか
る。
【0128】つぎに図6は、本発明の第3の実施例であ
る暗号通信符号化装置にランダム変換器を付加した暗号
通信符号化装置の一実施例を示す機能ブロック図であ
る。図1では入力端子101から入力された平文Mは平
方回路102、比較器106、ヤコビ記号計算回路10
7に供給されていたが、図6においては、入力端子10
1から入力された平文Mはランダム変換器601に入力
されている。また、入力端子105から入力された公開
鍵Nは、ランダム変換器601にも供給されている。ラ
ンダム変換器601は予め決められた1対1の変換を入
力された平文Mに施し、その結果を平方回路102、比
較器106、ヤコビ記号計算回路107に供給する。そ
れ以外の信号の流れは、図1と同様である。ここで、ラ
ンダム変換器について詳しく述べる。
る暗号通信符号化装置にランダム変換器を付加した暗号
通信符号化装置の一実施例を示す機能ブロック図であ
る。図1では入力端子101から入力された平文Mは平
方回路102、比較器106、ヤコビ記号計算回路10
7に供給されていたが、図6においては、入力端子10
1から入力された平文Mはランダム変換器601に入力
されている。また、入力端子105から入力された公開
鍵Nは、ランダム変換器601にも供給されている。ラ
ンダム変換器601は予め決められた1対1の変換を入
力された平文Mに施し、その結果を平方回路102、比
較器106、ヤコビ記号計算回路107に供給する。そ
れ以外の信号の流れは、図1と同様である。ここで、ラ
ンダム変換器について詳しく述べる。
【0129】図8は、図6に示したランダム変換器60
1の一実施例を示す機能ブロック図である。一般に、整
数aに対して0から2a−1までの数値を、0から2a−
1までの数値に1対1変換することは容易である。この
ためには例えば予め決められた数値と変換する数値のビ
ットごとの排他的論理和をとったり、例えば前記デニン
グの文献に記載されているDES暗号などによって暗号
化の処理を行えばよい。しかしながら、図6のランダム
変換器では0からN−1までの数値を0からN−1まで
の数値に1対1変換する必要がある。本発明ではpとq
は素数でN=p・qであるから、一般にNは2a−1の
形に表されず、そのような変換を実現することは容易で
ない。
1の一実施例を示す機能ブロック図である。一般に、整
数aに対して0から2a−1までの数値を、0から2a−
1までの数値に1対1変換することは容易である。この
ためには例えば予め決められた数値と変換する数値のビ
ットごとの排他的論理和をとったり、例えば前記デニン
グの文献に記載されているDES暗号などによって暗号
化の処理を行えばよい。しかしながら、図6のランダム
変換器では0からN−1までの数値を0からN−1まで
の数値に1対1変換する必要がある。本発明ではpとq
は素数でN=p・qであるから、一般にNは2a−1の
形に表されず、そのような変換を実現することは容易で
ない。
【0130】そこで、図8のランダム変換器では次のよ
うにして0からN−1までの数値を0からN−1までの
数値に1対1変換する。なお、以下では説明の便宜上、
公開鍵Nおよび平文Mの最大の桁数をnビットとする。
図において、入力端子801から入力された平文Mは、
比較器812、変換器813、セレクタ814に供給さ
れる。入力端子802から入力された公開鍵Nは、加算
器815,825に供給される。入力端子803からは
2n-1が入力され、比較器812,822、加算器81
5,825に供給されている。比較器812は平文Mと
2n−1を比較して、その結果をセレクタ814に供給
する。変換器813は、0から2n-1−1までの数値
を、0から2n-1−1までの数値に1対1変換するよう
な変換を、入力された数値に施すもので、変換の方法は
予め決められているものとする。
うにして0からN−1までの数値を0からN−1までの
数値に1対1変換する。なお、以下では説明の便宜上、
公開鍵Nおよび平文Mの最大の桁数をnビットとする。
図において、入力端子801から入力された平文Mは、
比較器812、変換器813、セレクタ814に供給さ
れる。入力端子802から入力された公開鍵Nは、加算
器815,825に供給される。入力端子803からは
2n-1が入力され、比較器812,822、加算器81
5,825に供給されている。比較器812は平文Mと
2n−1を比較して、その結果をセレクタ814に供給
する。変換器813は、0から2n-1−1までの数値
を、0から2n-1−1までの数値に1対1変換するよう
な変換を、入力された数値に施すもので、変換の方法は
予め決められているものとする。
【0131】セレクタ814は、比較器812の出力が
M>2n-1であることを示していれば出力として平文M
を選び、さもなくば変換器813の出力を選択する。加
算器815は、セレクタ814の出力と2n-1との加算
結果のNの剰余を算出し、その結果を比較器822、変
換器823、セレクタ824に供給する。比較器82
2、変換器823、セレクタ824、加算器825は、
比較器812、変換器813、セレクタ814、加算器
815が平文Mに対して行った操作を、加算器815の
出力に対して行い、加算器825の出力を出力端子80
4から出力する。
M>2n-1であることを示していれば出力として平文M
を選び、さもなくば変換器813の出力を選択する。加
算器815は、セレクタ814の出力と2n-1との加算
結果のNの剰余を算出し、その結果を比較器822、変
換器823、セレクタ824に供給する。比較器82
2、変換器823、セレクタ824、加算器825は、
比較器812、変換器813、セレクタ814、加算器
815が平文Mに対して行った操作を、加算器815の
出力に対して行い、加算器825の出力を出力端子80
4から出力する。
【0132】以上の操作において、入力と出力は1対1
に対応しており、入力と出力の値は常に0からN−1ま
での範囲に収められているから、図8のランダム変換器
が0からN−1までの数値を0からN−1までの数値に
1対1変換していることがわかる。
に対応しており、入力と出力の値は常に0からN−1ま
での範囲に収められているから、図8のランダム変換器
が0からN−1までの数値を0からN−1までの数値に
1対1変換していることがわかる。
【0133】なお、図8のランダム変換器では、比較器
812,822、変換器813,823、セレクタ81
4,824、加算器815,825を各2個ずつ備え
て、同様の処理を2回行っているが、時分割して処理を
行えば、それぞれ1個ずつ備えれば十分である。また、
操作は2回だけでなく3回以上行っても構わない。
812,822、変換器813,823、セレクタ81
4,824、加算器815,825を各2個ずつ備え
て、同様の処理を2回行っているが、時分割して処理を
行えば、それぞれ1個ずつ備えれば十分である。また、
操作は2回だけでなく3回以上行っても構わない。
【0134】つぎに図7は、本発明の第4の実施例であ
る暗号通信復号化装置に逆ランダム変換器を付加した暗
号通信復号化装置の一実施例を示す機能ブロック図であ
る。図2では平文合成回路205の出力はそのまま出力
端子206から出力されていたが、図7では平文合成回
路205の出力は逆ランダム変換器701に供給され
る。また、入力端子207から入力された公開鍵Nは逆
ランダム変換器701にも供給されている。逆ランダム
変換器701は、図6のランダム変換器601における
変換の逆変換であるような、予め決められた1対1変換
を平文合成回路205の出力に施し、その結果を出力端
子206から出力する。それ以外の信号の流れは図2と
同様である。ここで逆ランダム変換器について詳しく述
べる。
る暗号通信復号化装置に逆ランダム変換器を付加した暗
号通信復号化装置の一実施例を示す機能ブロック図であ
る。図2では平文合成回路205の出力はそのまま出力
端子206から出力されていたが、図7では平文合成回
路205の出力は逆ランダム変換器701に供給され
る。また、入力端子207から入力された公開鍵Nは逆
ランダム変換器701にも供給されている。逆ランダム
変換器701は、図6のランダム変換器601における
変換の逆変換であるような、予め決められた1対1変換
を平文合成回路205の出力に施し、その結果を出力端
子206から出力する。それ以外の信号の流れは図2と
同様である。ここで逆ランダム変換器について詳しく述
べる。
【0135】図9は、図7に示した逆ランダム変換器7
01の一実施例を示す機能ブロック図である。図7の暗
号化復号化装置が図6の暗号化符号化装置の出力した暗
号文から元の平文を正しく復元できるには、逆ランダム
変換器701の行う変換がランダム変換器601が行う
変換の逆変換になっている必要がある。図9の逆ランダ
ム変換器は、図8のランダム変換器の逆変換を行うもの
である。図において、入力端子901から入力された数
値Aは減算器925に供給される。入力端子902から
入力された公開鍵Nは、減算器915,925に供給さ
れる。入力端子903からは数値2n-1が入力され、比
較器912,922、減算器915,925に供給され
る。減算器925は数値Aから2n-1を減じた結果のN
の剰余を算出し、その結果を比較器922と逆変換器9
23とセレクタ924に供給する。比較器922は減算
器925の出力と2n-1を比較して、その結果をセレク
タ924に供給する。
01の一実施例を示す機能ブロック図である。図7の暗
号化復号化装置が図6の暗号化符号化装置の出力した暗
号文から元の平文を正しく復元できるには、逆ランダム
変換器701の行う変換がランダム変換器601が行う
変換の逆変換になっている必要がある。図9の逆ランダ
ム変換器は、図8のランダム変換器の逆変換を行うもの
である。図において、入力端子901から入力された数
値Aは減算器925に供給される。入力端子902から
入力された公開鍵Nは、減算器915,925に供給さ
れる。入力端子903からは数値2n-1が入力され、比
較器912,922、減算器915,925に供給され
る。減算器925は数値Aから2n-1を減じた結果のN
の剰余を算出し、その結果を比較器922と逆変換器9
23とセレクタ924に供給する。比較器922は減算
器925の出力と2n-1を比較して、その結果をセレク
タ924に供給する。
【0136】逆変換器923は0から2n-1−1までの
数値を、0から2n-1−1までの数値に1対1変換する
ような変換を入力された数値に施すもので、図8の変換
器823が行う変換の逆変換になるように変換の方法が
予め決められているものとする。セレクタ924は、比
較器922の出力が、減算器925の出力が2n-1より
も大きいことを示していれば出力として減算器925の
出力を選び、さもなくば逆変換器923の出力を選択す
る。減算器915、比較器912、逆変換器913、セ
レクタ914は、減算器925、比較器922、逆変換
器923、セレクタ924が、数値Aに対して行った操
作を、セレクタ924の出力に対して行い、セレクタ9
14の出力を出力端子904から出力する。
数値を、0から2n-1−1までの数値に1対1変換する
ような変換を入力された数値に施すもので、図8の変換
器823が行う変換の逆変換になるように変換の方法が
予め決められているものとする。セレクタ924は、比
較器922の出力が、減算器925の出力が2n-1より
も大きいことを示していれば出力として減算器925の
出力を選び、さもなくば逆変換器923の出力を選択す
る。減算器915、比較器912、逆変換器913、セ
レクタ914は、減算器925、比較器922、逆変換
器923、セレクタ924が、数値Aに対して行った操
作を、セレクタ924の出力に対して行い、セレクタ9
14の出力を出力端子904から出力する。
【0137】なお、逆変換器913は、0から2n-1−
1までの数値を、0から2n-1−1までの数値に1対1
変換するような変換を、入力された数値に施すもので、
図8の変換器813が行う変換の逆変換になるように変
換の方法が予め決められているものとする。なお、図9
の逆ランダム変換器では、比較器912,922、逆変
換器913,923、セレクタ914,924、減算器
915,925を各2個ずつ備えて、同様の処理を2回
行っているが、時分割して処理を行えば、それぞれ1個
ずつ備えれば十分である。また、操作は2回だけでなく
3回以上行っても構わない。ただし、繰り返しの回数は
対応する図8のランダム変換器における繰り返し回数と
一致させる必要がある。
1までの数値を、0から2n-1−1までの数値に1対1
変換するような変換を、入力された数値に施すもので、
図8の変換器813が行う変換の逆変換になるように変
換の方法が予め決められているものとする。なお、図9
の逆ランダム変換器では、比較器912,922、逆変
換器913,923、セレクタ914,924、減算器
915,925を各2個ずつ備えて、同様の処理を2回
行っているが、時分割して処理を行えば、それぞれ1個
ずつ備えれば十分である。また、操作は2回だけでなく
3回以上行っても構わない。ただし、繰り返しの回数は
対応する図8のランダム変換器における繰り返し回数と
一致させる必要がある。
【0138】なお、最後に補足をすると、本発明の暗号
通信符号化装置および暗号通信復号化装置は以上で示し
たように、複数の加算器、減算器、乗算器、比較器、ヤ
コビ記号計算回路で構成されているが、それぞれの回路
を時分割で使用すれば、回路の個数を少なくできる。ま
た、本発明の暗号通信符号化装置および暗号通信復号化
装置の各回路で実行されているのは、加減乗除およびシ
フトなどの演算であるから、本発明の暗号通信符号化装
置および暗号通信復号化装置の一部あるいは全部を、マ
イクロコンピュータとメモリと入出力インターフェース
とで構成される装置に置き換え、ソフトウェアによって
暗号化および復号化の操作を行うことも可能である。
通信符号化装置および暗号通信復号化装置は以上で示し
たように、複数の加算器、減算器、乗算器、比較器、ヤ
コビ記号計算回路で構成されているが、それぞれの回路
を時分割で使用すれば、回路の個数を少なくできる。ま
た、本発明の暗号通信符号化装置および暗号通信復号化
装置の各回路で実行されているのは、加減乗除およびシ
フトなどの演算であるから、本発明の暗号通信符号化装
置および暗号通信復号化装置の一部あるいは全部を、マ
イクロコンピュータとメモリと入出力インターフェース
とで構成される装置に置き換え、ソフトウェアによって
暗号化および復号化の操作を行うことも可能である。
【0139】
【発明の効果】本発明は以上述べてきたように、従来の
公開鍵暗号では暗号文として使われていなかった数値も
暗号文として利用することで、暗号文から平文が一意に
決定できる暗号通信符号化装置および復号化装置を実現
できる。
公開鍵暗号では暗号文として使われていなかった数値も
暗号文として利用することで、暗号文から平文が一意に
決定できる暗号通信符号化装置および復号化装置を実現
できる。
【図1】本発明の第1の実施例である暗号通信符号化装
置の一実施例を示す機能ブロック図である。
置の一実施例を示す機能ブロック図である。
【図2】本発明の第2の実施例である暗号通信復号化装
置の一実施例を示す機能ブロック図である。
置の一実施例を示す機能ブロック図である。
【図3】本発明の暗号通信符号化装置の補正回路の機能
ブロック図である。
ブロック図である。
【図4】本発明の暗号通信復号化装置の逆補正回路の機
能ブロック図である。
能ブロック図である。
【図5】本発明の暗号通信復号化装置の平文合成回路の
機能ブロック図である。
機能ブロック図である。
【図6】本発明の第3の実施例である暗号通信符号化装
置にランダム変換器を付加した暗号通信符号化装置の一
実施例を示す機能ブロック図である。
置にランダム変換器を付加した暗号通信符号化装置の一
実施例を示す機能ブロック図である。
【図7】本発明の第4の実施例である暗号通信復号化装
置に逆ランダム変換器を付加した暗号通信復号化装置の
一実施例を示す機能ブロック図である。
置に逆ランダム変換器を付加した暗号通信復号化装置の
一実施例を示す機能ブロック図である。
【図8】本発明のランダム変換器を付加した暗号通信符
号化装置におけるランダム変換器の一実施例を示す機能
ブロック図である。
号化装置におけるランダム変換器の一実施例を示す機能
ブロック図である。
【図9】本発明の逆ランダム変換器を付加した暗号通信
復号化装置における逆ランダム変換器の一実施例を示す
機能ブロック図である。
復号化装置における逆ランダム変換器の一実施例を示す
機能ブロック図である。
【図10】本発明における暗号通信復号化装置の平文情
報生成回路の機能ブロック図である。
報生成回路の機能ブロック図である。
【図11】従来の暗号通信符号化装置の機能ブロック図
である。
である。
【図12】従来の暗号通信復号化装置の機能ブロック図
である。
である。
102 平方回路(平方手段) 103 補正回路 202 逆補正回路 106 比較器(比較手段) 107,209,211 ヤコビ記号計算回路(ヤコ
ビ記号計算手段) 203,204 開平回路(開平手段) 205 平文合成回路(平文合成手段) 302 減算器(減算手段) 303 セレクタ(第1のセレクタ) 304 加算器(加算手段:乗算手段) 305 セレクタ(第2のセレクタ) 404 シフタ(除算手段) 405 セレクタ(第3のセレクタ) 406 減算器(第2の減算手段) 407 セレクタ(第4のセレクタ) 412,522 平文情報生成回路(平文情報生成手
段)
ビ記号計算手段) 203,204 開平回路(開平手段) 205 平文合成回路(平文合成手段) 302 減算器(減算手段) 303 セレクタ(第1のセレクタ) 304 加算器(加算手段:乗算手段) 305 セレクタ(第2のセレクタ) 404 シフタ(除算手段) 405 セレクタ(第3のセレクタ) 406 減算器(第2の減算手段) 407 セレクタ(第4のセレクタ) 412,522 平文情報生成回路(平文情報生成手
段)
フロントページの続き (56)参考文献 D.E.Knuth,中川圭介訳「T he Art of Computer Programming=4 準数値 算法/算術演算」,サイエンス社, (1986),p.240,440 H.C.Williams,“A M odification of the RSA Public−Key En cryption Procedur e,”IEEE Transactio n on Information T heory,Vol.IT−26,No. 6,(1980),p.726−729 林彬,清水秀夫“一意複号可能なPa bin型暗号”電子情報通信学会技術研 究報告,ISEC92−4,(1992) (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00
Claims (4)
- 【請求項1】 8で除算すると余りが3であるような予
め決められた素数pと、8で除算すると余りが7である
ような予め決められた素数qと、前記pとqの積Nに対
して、少なくとも、入力されたデータの数値表現Mを平
方し平方結果を予め決められた前記数値Nで割った余り
を出力する平方手段と、前記N/2とMとの大小を比較
する比較手段と、前記数値Nに関するMのヤコビ記号
(M|N)を計算するヤコビ記号計算手段と、前記Nか
ら前記平方手段の出力を減算して減算結果を出力する減
算手段と、前記比較手段の出力がM<N/2であること
を示していれば前記平方手段の出力を選択して出力し、
前記比較手段の出力がM>N/2であることを示してい
れば前記減算手段の出力を選択して出力する第1のセレ
クタと、前記Nを法として前記第1のセレクタの出力に
2を乗算して乗算結果を出力する乗算手段と、前記ヤコ
ビ記号計算手段の出力(M|N)が1であれば前記第1
のセレクタの出力を選択して出力し、前記ヤコビ記号計
算手段の出力(M|N)が−1であれば前記乗算手段の
出力を選択して出力する第2のセレクタとを備え、前記
第2のセレクタの出力を、前記数値表現Mに対応する暗
号文Cとして出力する暗号通信符号化装置。 - 【請求項2】 請求項1に記載の暗号通信符号化装置の
出力した前記暗号文Cに対して、少なくとも、ヤコビ記
号(C|p)および(C|q)を計算する第2のヤコビ
記号計算手段と、前記数値Nを法として暗号文Cを2で
除算して除算結果を出力する第2の除算手段と、(C|
p)・(C|q)=0あるいは(C|p)・(C|q)
=1ならば前記暗号文Cを選択して出力し、(C|P)
・(C|q)=−1ならば前記第2の除算手段の出力を
選択して出力する第3のセレクタと、前記数値Nから前
記第3のセレクタの出力を減算して減算結果を出力する
第3の減算手段と、(C|p)=−1あるいは(C|
q)=−1ならば前記第3の減算手段の出力を選択出
力、さもなくば前記第3のセレクタの出力を選択して出
力する第4のセレクタと、前記第4のセレクタの出力を
剰余pと剰余qでそれぞれ開平する開平手段と、前記開
平手段の出力を予め決められた定数で重み付き加算し、
加算結果を前記予め決められた数値Nで割った余りを算
出して出力する平文合成手段とを備え、前記平文合成手
段の出力を暗号文Cに対応する平文Mとして出力する暗
号通信復号化装置。 - 【請求項3】 数値表現Mをランダム変換手段に入力し
て、予め決められた1対1変換を行って得られる数値
を、請求項1に記載の暗号通信符号化装置の数値表現M
に用いることを特徴とする暗号通信符号化装置。 - 【請求項4】 請求項2に記載の暗号通信復号化装置に
おいて、前記平文合成手段の出力の平文Mを、予め決め
られた1対1変換を行う逆ランダム変換手段に入力し、
得られる数値を出力することを特徴とする暗号通信復号
化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3268518A JP3055636B2 (ja) | 1991-09-20 | 1991-09-20 | 暗号通信符号化装置および復号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3268518A JP3055636B2 (ja) | 1991-09-20 | 1991-09-20 | 暗号通信符号化装置および復号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0583244A JPH0583244A (ja) | 1993-04-02 |
JP3055636B2 true JP3055636B2 (ja) | 2000-06-26 |
Family
ID=17459632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3268518A Expired - Lifetime JP3055636B2 (ja) | 1991-09-20 | 1991-09-20 | 暗号通信符号化装置および復号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3055636B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2727955B2 (ja) * | 1994-02-14 | 1998-03-18 | 日本電気株式会社 | 公開鍵暗号装置 |
JP3396693B2 (ja) * | 1998-07-16 | 2003-04-14 | リコーシステム開発株式会社 | 暗号化/復号化装置と公開鍵暗号化システム |
JP2001162015A (ja) * | 1999-12-14 | 2001-06-19 | Samii Kk | 遊技機の検証方法並びに遊技機及び検証装置 |
JP2001162016A (ja) * | 1999-12-14 | 2001-06-19 | Samii Kk | 遊技機の検証方法並びに遊技機及び検証装置 |
-
1991
- 1991-09-20 JP JP3268518A patent/JP3055636B2/ja not_active Expired - Lifetime
Non-Patent Citations (3)
Title |
---|
D.E.Knuth,中川圭介訳「The Art of Computer Programming=4 準数値算法/算術演算」,サイエンス社,(1986),p.240,440 |
H.C.Williams,"A Modification of the RSA Public−Key Encryption Procedure,"IEEE Transaction on Information Theory,Vol.IT−26,No.6,(1980),p.726−729 |
林彬,清水秀夫"一意複号可能なPabin型暗号"電子情報通信学会技術研究報告,ISEC92−4,(1992) |
Also Published As
Publication number | Publication date |
---|---|
JPH0583244A (ja) | 1993-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU677269B2 (en) | A cryptographic method | |
JP3188940B2 (ja) | 暗号化システム | |
Merkle | A certified digital signature | |
JP3180836B2 (ja) | 暗号通信装置 | |
US4969190A (en) | Encrypting system of data | |
US6480606B1 (en) | Elliptic curve encryption method and system | |
JP3055636B2 (ja) | 暗号通信符号化装置および復号化装置 | |
US7233662B2 (en) | Numerical array output device, a numerical array output method, an encryption device, and a decryption device | |
JP3396693B2 (ja) | 暗号化/復号化装置と公開鍵暗号化システム | |
US5068895A (en) | Encryption and decryption methods using bit-length preservation decryptor | |
KR100330510B1 (ko) | 고속의 모듈라 멱승 연산기 | |
CN113300844B (zh) | 一种公私角色固定的非对称密钥设置方法 | |
JP2000047581A (ja) | 暗号化方法,暗号化・復号装置及び暗号通信システム | |
EP0667692B1 (en) | Public-key cryptographic apparatus handling ciphertext by public-key | |
JP2002252610A (ja) | 暗号装置および復号装置並びに公開鍵暗号方式および公開鍵復号方式 | |
JP2864813B2 (ja) | 暗号化装置及び復号化装置 | |
JP2003304237A (ja) | 共通鍵生成方法、その共通鍵を用いる暗号方法および共通鍵管理方法並びに端末の固体番号による固体認証方法、並びにそれらの方法を実行するプログラム、及びそのプログラムを含む応用ソフトウェア | |
JP4200259B2 (ja) | 公開鍵生成装置、暗号化装置および復号装置 | |
Hussain et al. | New multistage knapsack public-key cryptosystem | |
JP3013774B2 (ja) | 循環演算にもとづく暗号化装置 | |
Chang et al. | A digital signature scheme based upon the theory of quadratic residues | |
US6721421B1 (en) | Method for encrypting information represented as a numerical value | |
JPH0548599A (ja) | 秘密通信用ネツトワークシステム | |
KR19980035958A (ko) | 암호화 방법 및 시스템 | |
JPH07199806A (ja) | 多重剰余暗号の暗号鍵生成回路 |