JP3396693B2 - 暗号化/復号化装置と公開鍵暗号化システム - Google Patents

暗号化/復号化装置と公開鍵暗号化システム

Info

Publication number
JP3396693B2
JP3396693B2 JP20200598A JP20200598A JP3396693B2 JP 3396693 B2 JP3396693 B2 JP 3396693B2 JP 20200598 A JP20200598 A JP 20200598A JP 20200598 A JP20200598 A JP 20200598A JP 3396693 B2 JP3396693 B2 JP 3396693B2
Authority
JP
Japan
Prior art keywords
output
value
selector
symbol
jacobian
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
JP20200598A
Other languages
English (en)
Other versions
JP2000035757A (ja
Inventor
道雄 島田
博晴 吉川
Original Assignee
リコーシステム開発株式会社
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 リコーシステム開発株式会社 filed Critical リコーシステム開発株式会社
Priority to JP20200598A priority Critical patent/JP3396693B2/ja
Priority to EP99305581A priority patent/EP0973293A3/en
Priority to CNB991192664A priority patent/CN1153404C/zh
Publication of JP2000035757A publication Critical patent/JP2000035757A/ja
Application granted granted Critical
Publication of JP3396693B2 publication Critical patent/JP3396693B2/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/12Details relating to cryptographic hardware or logic circuitry

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル情報を
暗号文に変換する際に使用する鍵を公開鍵とし、暗号文
から元のディジタル情報を得る際に使用する鍵を秘密鍵
とする公開鍵暗号化方法およびシステムに関する。
【0002】
【従来の技術】近年では、インターネット等の普及によ
り様々なディジタル情報を電話回線等を介して通信相手
先に伝達するようになってきている。しかし、機密保持
が必要な情報を送信先に伝達をする際には、第3者によ
る盗用を防がなけらばならない。このように、第3者か
らの盗用を防ぐために様々な暗号化方法が考案されてい
る。
【0003】暗号化方法は、送信したいディジタル情報
を暗号化鍵を用いて暗号化し、その暗号化したディジタ
ルデータを送信先に伝送する。そして、その暗号化され
たデジタルデータを受信した通信相手は、復号化鍵を用
いてその暗号文を復号化して元のディジタル情報を得る
という方法である。
【0004】なお、以下ではディジタル情報を暗号に変
換して送信する操作のことを暗号化と呼び、受信された
暗号から元のディジタル情報を復元する操作のことを復
号化と呼ぶ。また、送信しようとするディジタルデータ
のことを平文と呼び、暗号化されたディジタルデータの
ことを暗号文と呼ぶ。また、ディジタルデータは数値で
表現できるから、以下では平文と暗号文を表すディジタ
ルデータと数値とを同一視することにする。
【0005】そして、暗号化鍵と復号化鍵が同一である
暗号化方法を共通鍵暗号化方法といい、暗号化鍵と復号
化鍵が異なり、暗号化鍵を公開している暗号化方法を公
開鍵暗号化方法という。
【0006】共通鍵暗号化方法では、暗号化鍵と復号化
鍵が同一であるためそれらの鍵を共に秘密にしておかな
ければならない。しかし、公開鍵暗号化方法では、暗号
化鍵は公開されているため、ある宛て先にディジタル情
報を送信したい任意の者は、公開されている公開鍵を使
用して暗号化を行ない、その暗号化されたディジタル情
報をその宛て先に送信することにより秘密保持を図るこ
とができる。この公開鍵暗号化方法の特徴は、ある宛て
先だけが復号化することができる暗号文を、その宛先と
鍵の打ち合わせを行うことなく誰でも生成することがで
きるということである。
【0007】次に、従来の公開鍵暗号化システムについ
て詳しく説明するが、その前に先ず必要な数学的事項に
ついて簡単に説明しておく。なお、これらの事項につい
ては例えば1982年にデニングによって著されアジソ
ン・ウェスレイから出版された書籍クリプトグラフィー
・アンド・セキュリティ(Dorothy Elizabeth Robli
ng Denning, Cryptography and Data Security, Addis
on−Wesley Publishing Company, Inc., 1982)の
第1章6節で詳しく説明されている。
【0008】まず、剰余について説明しておく。aをN
で割った余りrは、aのNに関する剰余と呼ばれ、a
mod N=rと表わされる。また、aのNに関する剰
余と、bのNに関する剰余が等しいことは、a=b(m
od N)で表わされる。
【0009】また、gcd(P、Q)で、PとQの最大公
約数を表す。
【0010】また、(P|Q)で、Qに関するPのヤコビ
記号の値を表す。ヤコビ記号とは、もし、P1=P2(m
od Q)の場合には、(P1|Q)=(P2|Q)が成り立
ち、また、(1|P)=1、(−1|P)=−1、(P12
|Q)=(P1|Q)(P2|Q)、(P|Q12)=(P|Q1)
(P|Q2)という関係式が成り立つものであり、具体的
な計算方法については、前記文献に詳しい記述がある。
ただし、ヤコビ記号(P|Q)は、通常は、gcd(P,
Q)=1であるようなPとQに対してしか定義されてい
ないが、本発明では、gcd(P,Q)≠1であるような
PとQに対しては(P|Q)=0と定義しておく。
【0011】なお、ヤコビ記号の定義の拡張について
は、例えば1980年にアイトリプリイー・トランザク
ションズ・オン・インフォメーション・セオリー誌のIT
−26巻6号に掲載されたウイリアムズの論文(H.C.
Williams, "A Modification of the RSA Public−Key
Encryption Procedure, "IEEE Transactionson Inform
ation Theory, Vol. IT−26, No.6, pp.726−
729, 1980)に詳しく述べられている。
【0012】また、拡張されたヤコビ記号の計算方法に
ついては前述のデニングの書籍の第106項やウイリア
ムズの論文および拡張されたヤコビ記号の定義より明ら
かである。すなわち、拡張されたヤコビ記号(P|Q)を
計算する場合には、gcd(P,Q)の値を確認しつつ通
常のヤコビ記号の計算方法を実行し、もしgcd(P,
Q)が1でないことがわかれば、通常の計算方法を終了
して、計算結果を0とすればよい。
【0013】また、x2=a(mod p)を満足する整数
xが存在するときにはaは法pの平方剰余、存在しない
ときにはaは法pの平方非剰余と呼ばれる。そして、p
が素数の場合には、x2=a(mod p)を満足する整数
xの個数はせいぜい2つしか存在せず、それらの解が互
いに異なる場合には(a|p)=1で、重根である場合に
は(a|p)=0で、解が存在しない場合には(a|p)=
−1となることが知られている。
【0014】また、Nが2つの素数の積である場合に
は、x2=a(mod N)を満足する整数xの個数はせい
ぜい4つしか存在せず、互いに異なる解が4個の場合に
は(a|p)=1で、互いに異なる解が2個の場合には
(a|p)=0,a≠0で、解が1個しか存在しない場合
にはa=0で、解が存在しない場合には(a|p)=−1
となることが知られている。
【0015】さて、公開鍵暗号としてラビン暗号が知ら
れていた。これは1979年にラビンがエム・アイ・テ
ィーの報告書(M.O.Rabin, "Digitized signatures a
nd public−key functions as intractable as fact
orization, "MIT Lab. ForComputer Science, Tech. R
ep. LCS/TR212, Cambridge MA:MIT Lab. For
Computer Science,1979)で提案した暗号通信方式
であり、例えば前述のデニングの書籍の第128項など
に詳しい説明がある。
【0016】ラビン暗号では、素数p,qを秘密鍵と
し、N=pqを公開鍵として、C=M2mod Nのよう
に暗号化を行う。ここで、Mは平文、Cは暗号文であ
り、p,q,N,M,Cはともに数百ビット〜千数百ビット
の数である。Nが数百ビット〜千数百ビットの数だと、
Nを素因数分解することは計算量の問題から事実上不可
能になるが、ラビン暗号を解読することは、Nを素因数
分解することと同じくらい難しいことであることが知ら
れている。
【0017】ラビン暗号で暗号文から元の平文を復号化
するには、xに関する2次合同式x 2=C(mod N)を
解けばよい。この2次合同式を解くためには、まず、x
2=C(mod p)とx2=C(mod q)の2つの2次合
同式をxについて解く。これら2次合同式の解の計算方
法については、例えば前述のデニングの書籍の116項
に述べられている。2つの2次合同式x2=C(mod
p)とx2=C(modq)の解xp,xqが求められれば、
N=qbpp+pbqq mod Nによって、2次合
同式x2=C(mod N)の解xNが求められる。ここでb
p,bqは、qbp=1(mod p),pbq=1(mod q)を
満足する値である。このようにして、解xNが求められ
ることは、その解を2次合同式に代入して見れば確かめ
られる。
【0018】なお、解xp,xqは、それぞれ最大で2通
りの値をとるから、xNは最大で4通りの値をとる。ま
た、Cのヤコビ記号とxNの取り得る値の数(すなわち
2次合同式x2=C(mod N)の解の数)と、xNのヤ
コビ記号との間には次のような関係があることが知られ
ている。もし((C|p),(C|q))=(0,0)なら解の数
は1個で、解xNのヤコビ記号は((xN|p),(xN|q))
=(0,0)である。もし((C|p),(C|q))=(0,1)
なら解の数は2個で、解xNのヤコビ記号は((xN|p),
(xN|q))=(0,1),(0,−1)の2通りの値をとる。
もし、((C|p),(C|q))=(1,0)なら解の数は2個
で、解xNのヤコビ記号は((xN|p),( xN|q))=
(1,0),(−1,0)の2通りの値をとる。もし、((C|
p),(C|q))=(1,1)なら解の数は4個で、解xN
ヤコビ記号は((xN|p),( xN|q))=(1,1),(−1,
−1),(−1,1),(1,−1)の4通りの値をとる。
【0019】ラビン暗号には、このように最大で4つの
暗号文が1つの暗号文Cに変換されるという問題があっ
たので、そのままでは、暗号文から平文を一意に復元で
きなかった。このため従来は、シマダが1992年にエ
レクトロニクス・レターズで提案した改良版が用いられ
ていた(M.Shimada, "Another Practical Public−Key
Cryptosystem", Electronics Letters, Vol.28, N
o.23, pp.2146−2147, 5th November 1
992)。このラビン暗号の改良版では、C=t(M)u
(M)M2(mod Nという操作によって、{0,1, ・・
・,N−1}という値をとる平文Mから、{0,1,・・・,
N−1}という値をとる暗号文Cを生成する。ここで、
t(M)は、M≧(N+1)/2の場合にはt(M)=−1
で、それ以外の場合にはt(M)=1であるような関数
で、u(M)は、(M|N)=−1の場合にはu(M)=2
で、それ以外の場合にはu(M)=1であるような関数で
ある。なお、このように暗号化すると1対1の関数が構
成できることについては、前術の文献に示されている。
【0020】しかしながら、ラビン暗号の改良版には選
択暗号文攻撃に弱いという問題があった。すなわち、暗
号文Cに対して、C,−C mod N,2C mod N,
−2C mod Nの合計4つの暗号文を公開鍵復号化す
ると、それぞれに対応する平文として、2次合同式x2
=C(mod N)の4つの解が得られるからである。そ
して、それら4つの解のうち、(x1|N)=−1である
ような解x1と(x2|N)=1であるような解x2に対し
て、gcd(x1−x2,N)を計算すれば、最大公約数と
してpあるいはqの値が得られるからである。
【0021】なお、通常の暗号通信の場合には、暗号解
読者がそのような4つの平文を入手することは不可能だ
が、復号化結果を不特定多数に公開するディジタル署名
においては、暗号解読者が復号化装置の入力(暗号文に
相当)を自由に選べるので、選択暗号文攻撃が可能であ
る。このため、ラビン暗号の改良版には、ディジタル署
名に利用できないという問題があった。
【0022】
【発明が解決しようとする課題】上述した従来の公開鍵
暗号化システムでは、ラビン暗号の改良版は選択暗号文
攻撃に弱いためディジタル署名に利用することができな
いという問題点があった。
【0023】本発明の目的は、暗号文から平文を一意に
復元することができるとともに選択暗号文攻撃に強くす
ることによりディジタル署名に利用することができる公
開鍵暗号化システムを提供することである。
【0024】
【課題を解決するための手段】上記目的を達成するため
に、本発明の公開鍵暗号化システムは、ヤコビ記号(2
│p)が−1となる素数の第1の秘密鍵pとヤコビ記号
(2│q)が1となる素数の第2の秘密鍵qとの積pq
を値として有する公開鍵Nを用いて下記の暗号化装置
より、M≦(N−1)/2という条件を満たす平文Mを暗
号化して暗号文Cを生成して送信し、受信側では第1お
よび第2の秘密鍵p、qと公開鍵Nを用いて下記の復号
装置により暗号文Cを復号化することにより元の平文
Mを復元する。
【0025】本発明の暗号化装置は、ヤコビ記号(2│
p)が−1となる素数である第1の秘密鍵pとヤコビ記
号(2│q)が1となる素数である第2の秘密鍵qとの
積pqを値として有する公開鍵Nを用いて、M≦(N−
1)/2という条件を満たす平文Mを暗号化することによ
り暗号文Cを生成するための暗号化装置であって、前記
平文Mと前記公開鍵Nとのヤコビ記号(M│N)の値を
計算するヤコビ記号計算回路と、前記平文Mの値を2倍
して、該乗算結果である出力2Mを出力する第1の乗算
器と、前記ヤコビ記号計算回路において得られたヤコビ
記号(M│N)の値が“−1”の場合には前記第1の乗算
器の出力2Mを選択して出力xとして出力し、前記ヤコ
ビ記号(M│N)の値が“−1”以外の場合には前記平文
Mを選択して出力xとして出力する第1のセレクタと、
前記第1のセレクタの出力xに対して、該出力xの2乗
をNで割った時の余りであるx 2 mod Nを計算し
て、該計算結果を出力yとして出力する平方回路と、前
記平方回路の出力yに対して、該出力yの2倍をNで割
った時の余りである2y mod Nを計算して、該計算
結果を出力する第2の乗算器と、前記ヤコビ記号計算回
路において得られたヤコビ記号(M│N)の値が“−1”
の場合には前記第2の乗算器の出力である2y mod
Nを選択して出力zとして出力し、前記ヤコビ記号(M
│N)の値が“−1”以外の場合には前記平方回路の出
力yを選択して出力zとして出力する第2のセレクタ
と、前記公開鍵Nを右に1ビットだけシフトして得られ
た値である出力(N−1)/2を出力するシフタと、前記
シフタの出力(N−1)/2と前記第2のセレクタの出力
zとの大小を比較して、該比較結果を出力する比較器
と、前記第2のセレクタの出力zの−1倍をNで割った
時の余りである−z mod Nを計算して、該計算結果
を出力する第3の乗算器と、前記比較器の出力がz≦
(N−1)/2を示している場合には、前記第2のセレ
タの出力zを選択して前記暗号文Cとして出力し、前記
比較器の出力がz>(N−1)/2を示していれば、前記
第3の乗算器の出力−z mod Nを選択して前記暗号
文Cとして出力する第3のセレクタとから構成されてい
る。
【0026】そして、本発明の復号化装置は、ヤコビ記
号(2│p)が−1となる素数の第1の秘密鍵pとヤコ
ビ記号(2│q)が1となる素数の第2の秘密鍵qとの
積pqを値として有する公開鍵Nを用いて、M≦(N−
1)/2という条件を満たす平文Mを暗号化することによ
り生成された暗号文Cを、前記第1および第2の秘密鍵
p、qと公開鍵Nを用いて復号化することにより元の平
文Mを復元するための復号化装置であって、前記暗号文
Cと前記第1の秘密鍵pのヤコビ記号(C│p)の値を計
算する第1のヤコビ記号計算回路と、前記暗号文Cと前
記第2の秘密鍵qのヤコビ記号(C│q)の値を計算する
第2のヤコビ記号計算回路と、前記第1のヤコビ記号計
算回路により得られたヤコビ記号(C│p)と前記第2の
ヤコビ記号計算回路により得られたヤコビ記号(C│q)
の積を計算して、該計算結果(C│p)(C│q)を出力す
る第1の乗算器と、前記第2のヤコビ記号計算回路の出
力(C│q)の値が“0”の場合には、前記第1のヤコビ
記号計算回路の出力(C│p)を選択して出力s(C)と
して出力し、前記第2のヤコビ記号計算回路の出力(C
│q)の値が“0”以外の場合には、前記第2のヤコビ
記号計算回路の出力(C│q)を選択して出力s(C)とし
て出力する第1のセレクタと、前記暗号文Cの値の−1
倍をNで割った時の余りである−C mod Nを計算し
て、該計算結果を出力する第2の乗算器と、前記第1の
セレクタの出力s(C)が“−1”の場合には前記第1の
乗算器の出力すなわち−C mod Nを選択して出力z
として出力し、前記第1のセレクタの出力s(C)が“−
1”以外の場合には前記暗号文Cを選択して出力zとし
て出力する第2のセレクタと、前記第2のセレクタの出
力zに対して、該出力zの1/2倍を前記公開鍵Nで割
った時の余りであるz/2 mod Nを計算して、該計
算結果を出力する第1の除算器と、前記第1の除算器の
出力(C│p)(C│q)の値が“−1”の場合には前記第
の除算器の出力であるz/2 mod Nを選択して出
力yとして出力し、前記第1の除算器の出力(C│p)
(C│q)の値が“−1”以外の場合には前記第2のセレ
クタの出力zを選択して出力yとして出力する第3のセ
レクタと、前記第3のセレクタの出力yが“0”以外の
場合には、xに関する2次合同式x 2 =y(mod N)の
解のうち(x│p)(x│q)≠−1を満たし、その値が
(N−1)/2以下のものを第1の出力x L として出力し、
その値が(N+1)/2以上のものを第2の出力x G として
出力し、前記第3のセレクタの出力yが“0”の場合に
は“0”を前記第1の出力x L 、前記第2の出力x G とし
て出力する開平回路と、前記開平回路の第2の出力x G
に対して、x G を2で割った時の商すなわちx G /2を計
算して、該計算結果を出力する第2の除算器と、前記第
1の乗算器の出力(C│p)(C│q)の値が“−1”の
場合には前記第2の除算器の出力すなわちx G /2を選択
して平文Mとして出力し、前記第1の乗算器の出力(C
│p)(C│q)の値が“−1”以外の場合には前記開平
回路の第1の出力x L を選択して平文Mとして出力する
第4のセレクタとから構成されている。
【0027】本発明は、(x|p)(x|q)=−1と
なるようなxを使用していないため、復号化装置によっ
てディジタル署名を作成しても、選択暗号攻撃によって
解読されることがない。また、平文と暗号文を1対1に
対応させることができるため、暗号文Cから平文Nを一
意に復元することができる。
【0028】
【発明の実施の形態】次に、本発明の一実施形態につい
て図面を参照して詳細に説明する。
【0029】本実施形態の公開鍵暗号化システムは、平
文Mを公開鍵Nによって暗号して暗号文Cを生成する暗
号化装置と、暗号文Cを秘密鍵p、qを用いて復号化し
て元の平文Mを再生する復号化装置とから構成されてい
る。
【0030】以下では、秘密鍵p、qを((2|p),(2
|q))=(−1,1)を満たすような素数の組とし、公開
鍵NをN=pqとする。ここで、(x|y)は、上述した
ように、yに関するxのヤコビ記号と呼ばれるものであ
る。
【0031】図1は本発明の一実施形態の公開鍵暗号化
システムにおける暗号化装置の構成を示したブロック図
である。
【0032】この本実施形態における暗号化装置は、ヤ
コビ記号計算回路111と、乗算器112、131、1
43と、セレクタ113、132、144と、平方回路
120と、シフタ141と、比較器142とから構成さ
れている。
【0033】図1において、平文Mが、入力端子151
から入力され、ヤコビ記号計算回路111とセレクタ1
13と乗算器112に供給される。また、公開鍵Nが、
入力端子152から入力され、ヤコビ記号計算回路11
1とシフタ141と平方回路120と乗算器131と乗
算器143に供給される。ヤコビ記号計算回路111
は、ヤコビ記号(M|N)の値を計算して、ヤコビ記号
の値をセレクタ113とセレクタ132に供給する。乗
算器112は、平文Mの値を2倍して、その乗算結果で
ある出力2Mを出力する。セレクタ113は、(M|N)
=−1の場合には乗算器112の出力すなわち出力2M
を選択して出力し、それ以外の場合にはMを選択して出
力する。
【0034】なお、以下では説明の便宜上、セレクタ1
13の出力をxと表記する。平方回路120は、セレク
タ113の出力xに対して、xの2乗をNで割った時の
余りすなわちx2 mod Nを計算して、計算結果を出
力する。すなわち、平方回路120はラビン暗号の暗号
化を実行する。
【0035】なお、以下では説明の便宜上、平方回路1
20の出力をyと表記する。乗算器131は、平方回路
120の出力yに対して、yの2倍をNで割った時の余
りすなわち2y mod Nを計算して、計算結果を出力
する。セレクタ132は、(M|N)=−1の場合には乗
算器131の出力すなわち2y mod Nを選択して出
力し、それ以外の場合にはyを選択して出力する。な
お、以下では説明の便宜上、セレクタ132の出力をz
と表記する。シフタ141は、Nを右に1ビットだけシ
フトして、得られた値すなわち(N−1)/2を出力する
(なぜなら公開鍵Nは奇数だからである)。比較器14
2は、シフタ141の出力すなわち(N−1)/2とセレ
クタ132の出力zとの大小を比較し、比較結果をセレ
クタ144に供給する。乗算器143は、セレクタ13
2の出力zの−1倍をNで割った時の余りすなわち−z
mod Nを計算して、計算結果を出力する。なお、−
zmod Nは(N−z) mod Nに他ならないのだ
が、以下では−z mod Nと表記する。
【0036】セレクタ144は、比較器142の出力が
z>(N−1)/2を示している場合には、乗算器143
の出力−z mod Nを選択して出力し、それ以外の場
合にはセレクタ132の出力zを選択して出力する。そ
して、セレクタ144の出力が、出力端子153から、
暗号文Cとして出力される。
【0037】図2は、本実施形態における復号化装置の
構成を示すブロック図である。
【0038】この復号化装置は、ヤコビ記号計算回路2
11、212と、乗算器213、221と、セレクタ2
14、222、232、252と、除算器231、25
1とから構成されている。
【0039】図2において、暗号文Cが、入力端子26
3から入力され、ヤコビ記号計算回路211とヤコビ記
号計算回路212とセレクタ222と乗算器221に供
給される。また、公開鍵Nが、入力端子264から入力
され、乗算器221と除算器231と開平回路240に
供給される。また、秘密鍵pが入力端子261から入力
され、ヤコビ記号計算回路211と開平回路240に供
給される。また、秘密鍵qが入力端子262から入力さ
れ、ヤコビ記号計算回路212と開平回路240に供給
される。
【0040】ヤコビ記号計算回路211は、ヤコビ記号
(C|p)の値を計算して、計算結果を、乗算器213と
セレクタ214に供給する。ヤコビ記号計算回路212
は、ヤコビ記号(C|q)の値を計算して、計算結果を、
乗算器213とセレクタ214に供給する。乗算器21
3は、(C|p)と(C|q)の積を計算して、計算結果
(C|p)(C|q)を、セレクタ232とセレクタ252
に供給する。セレクタ214は、ヤコビ記号計算回路2
12の出力(C|q)が0の場合には、ヤコビ記号計算回
路211の出力(C|p)を選択して出力し、それ以外の
場合にはヤコビ記号計算回路212の出力(C|q)を選
択して出力する。
【0041】なお、以下では説明の便宜上、セレクタ2
14の出力をs(C)と表記する。セレクタ214の出力
s(C)は、もし(C|q)=0の場合にはs(C)=(C|
p)で、(C|q)≠0の場合にはs(C)=(C|q)であ
る。乗算器221は、暗号文Cの−1倍をNで割った時
の余りすなわち−C mod Nを計算して、計算結果を
出力する。なお、−C mod Nは(N−C) mod N
に他ならないのだが、以下では−C mod Nと表記す
る。セレクタ222は、セレクタ214の出力s(C)が
−1の場合には乗算器221の出力すなわち−C mo
d Nを選択して出力し、それ以外の場合には暗号文C
を選択して出力する。
【0042】なお、以下では説明の便宜上、セレクタ2
22の出力をzと表記する。除算器231は、セレクタ
222の出力zに対して、その出力zの1/2倍を公開
鍵Nで割った時の余りであるz/2 mod Nを計算
し、その計算結果を出力する。ここで、出力zの1/2
倍を公開鍵Nで割るとは、出力zが偶数の場合にはその
出力zをそのまま2で割り、出力zが奇数の場合には出
力zとNを加算した値を2で割ることを意味している。
【0043】セレクタ232は、除算器213の出力
(C|p)(C|q)が−1の場合には除算器231の出力
すなわちz/2 mod Nを選択して出力し、それ以外
の場合にはzを選択して出力する。
【0044】なお、以下では説明の便宜上、セレクタ2
32の出力をyと表記する。開平回路240は、xに関
する2次合同式x2=y(mod N)の解を求め、それら
のうち(x|p)(x|q)≠−1を満たす解を出力する
(そのような解の個数は最大で2個である)。なお、以
下では説明の便宜上、出力された解のうち、値が(N−
1)/2以下のものをxLと表記し、値が(N+1)/2以上
のものをxGと表記する。ただし、y=0の場合には、
2=y(mod N)の解はx=0の一つしか存在しない
ので、xL =xG=0とする。
【0045】除算器251は、開平回路240の出力x
Gに対して、xGを2で割った時の商すなわちxG /2を
計算して、計算結果を出力する。セレクタ252は、乗
算器213の出力(C|p)(C|q)が−1の場合には
除算器251の出力すなわちxG/2を選択して出力し、
それ以外の場合にはxLを選択して出力する。そして、
セレクタ252の出力が、出力端子265から、平文M
として出力される。
【0046】なお、以上の説明において、乗算器11
2、131、143、乗算器221、除算器231、2
51の具体的な構成方法については、数学と論理回路の
初歩的な知識があれば自明なので、省略する。また、ヤ
コビ記号計算回路111、211、212および開平回
路240は、従来の暗号化装置および復号化装置で用い
られていたものと同様のものであるから、それらの回路
の具体的な構成方法についても、詳しい説明は省略す
る。
【0047】次に、本実施形態の公開鍵暗号化システム
の動作について図3および図4を参照して説明する。
【0048】図3は、本実施形態の暗号化方法を示すフ
ローチャートである。なお、このフローチャートは図1
の暗号化装置の動作を示すものでもある。
【0049】図において、まず最初に、平文Mに対し
て、ヤコビ記号(M|N)の値が−1の場合には、制御を
ステップ313に移し、それ以外の場合には制御をステ
ップ312に移す(ステップ311)。ステップ312に
おいてはx=Mとして制御をステップ320に移し、ス
テップ313においてはx=2Mとして制御をステップ
320に移す。なお、以下では、ステップ311、31
2、313をまとめてステップ310として参照する。
【0050】次に、y=x2 mod Nとする(ステップ
320)。次に、yに対して、ヤコビ記号(M|N)の値
が−1の場合には、制御をステップ333に移し、それ
以外の場合には制御をステップ332に移す(ステップ
331)。ステップ332においてはz=yとして制御
をステップ341に移し、ステップ333においてはz
=2y mod Nとして制御をステップ341に移す。
なお、以下では、ステップ331、332、333をま
とめてステップ330として参照する。
【0051】次に、zに対して、z>(N−1)/2の場
合には、制御をステップ343に移し、それ以外の場合
には制御をステップ342に移す(ステップ341)。ス
テップ342においてはC=zとし、ステップ343に
おいてはC=−z mod Nとする。そして、Cを暗号
文として出力する。なお、以下では、ステップ341、
342、343をまとめてステップ340として参照す
る。
【0052】図4は、本実施形態の復号化方法を示すフ
ローチャートである。なお、このフローチャートは図2
の復号化装置の動作を示すものでもある。
【0053】図4において、まず最初に、暗号文Cに対
して、s(C)が−1の場合には、制御をステップ413
に移し、それ以外の場合には制御をステップ412に移
す(ステップ411)。
【0054】ここで、s(C)は、もし(C|q)=0の場
合にはs(C)=(C|p)で、(C|q)≠0の場合にはs
(C)=(C|q)と定義される値である。ステップ412
においてはz=Cとして制御をステップ421に移し、
ステップ413においてはz=−C mod Nとして制
御をステップ421に移す。なお、以下では、ステップ
411、412、413をまとめてステップ410とし
て参照する。
【0055】次に、zに対して、ヤコビ記号の値の積
(C|p)(C|q)が−1の場合には、制御をステップ4
23に移し、それ以外の場合には制御をステップ422
に移す(ステップ421)。ステップ422においてはy
=zとして制御をステップ430に移し、ステップ42
3においてはy=z/2 mod Nとして制御をステッ
プ430に移す。なお、以下では、ステップ421、4
22、423をまとめてステップ420として参照す
る。
【0056】次に、yに対して、xに関する2次合同式
2=y(mod N)の解を求めて、(x|p)(x|q)≠
−1を満たす解のうち、値が(N−1)/2以下のものを
Lとし、値が(N+1)/2以上のものをxGとする(ス
テップ430)。ただし、ステップ430においては、
(x|p)(x|q)≠−1を満たす解が1つしか存在しな
い場合には、xL=xG=0とする。
【0057】次に、xL,xGに対して、ヤコビ記号の値
の積(C|p)(C|q)が−1の場合には、制御をステッ
プ443に移し、それ以外の場合には制御をステップ4
42に移す(ステップ441)。ステップ442において
はM= xLとし、ステップ423においてはM=xG /
2とする。そして、Mを平文として出力する。なお、以
下では、ステップ441,442,443をまとめてステ
ップ440として参照する。
【0058】図5は、図3のステップ310で行われる
変換を示す概念図である。図において、左側に縦方向に
並べられた箱の集合は、それぞれ平文Mの取り得る値の
集合で、箱に(i,j)というベクトルが書かれている集合
には、((M|p),(M|q))=(i,j)であるような平文M
の値が属している。
【0059】また、箱の上から1個目から8個目までの
箱には、M≧(N+1)/2であるような平文Mの値が属
し、箱の下から1個目から9個目までの箱には、M≦
(N−1)/2であるような平文Mの値が属している。点
線で囲まれた箱は、その箱に属する値が平文として使用
されないことを示し、実線で囲まれた箱は、その箱に属
する値が平文として使用され得ることを示している。
【0060】また、右側に縦方向に並べられた箱の集合
は、それぞれセレクタ113の出力xの取り得る値の集
合で、記述方法は、平文Mの取り得る値の集合と同様で
あり、箱に(i,j)というベクトルが書かれている集合に
は、((x|p),(x|q))=(i,j)であるようなxの値が
属している。
【0061】ステップ310においては、平文Mに対し
て、ヤコビ記号の値(M|N)が−1の場合には、x=2
Mとし、それ以外の場合にはx=Mとしている。また、
既に述べたように、本実施形態では((2|p),(2|
q))=(−1,1)であるような秘密鍵が用いられる。こ
のため、ステップ310においては、図に示すように、
((M|p)(M|q))=(1,−1)であるような集合と
((M|p)(M|q))=(−1,1)であるような集合は、
それぞれ((x|p)(x|q))=(1,1)であるような集
合と((x|p)(x|q))=(−1,−1)であるような集
合に写され、それ以外の平文の集合は、そのまま右手の
集合に写される。
【0062】図5を見てわかるように、その際に、別の
集合が一つの同じ集合に写されることは無い。従って、
ステップ310によって行われるMからxへの変換が1
対1の変換であることがわかる。なお、注意しておく
が、((x|p),(x|q))=(1,1)あるいは((x|p),
(x|q))=(−1,−1)であるようなxの値の集合のう
ち、(N+1)/2以上のxについては、そのxと対応す
るMに対して(M|N)=−1が成り立っており、一方、
(N−1)/2以下のxについては、そのxと対応するM
に対して(M|N)=1が成り立っている。
【0063】図6は、図3のステップ320で行われる
変換を示す概念図である。図において、左側に縦方向に
並べられた箱の集合は、それぞれセレクタ113の出力
xの取り得る値の集合で、箱に(i,j)というベクトル
が書かれている集合には、((x|p),(x|q))=(i,
j)であるようなxの値が属している。点線で囲まれた
箱は、その箱に属するxの値が使用されないことを示
し、実線で囲まれた箱は、その箱に属するxの値が使用
され得ることを示している。また、右側に縦方向に並べ
られた箱の集合は、それぞれ平方回路120の出力yの
取り得る値の集合で、記述方法は、xの取り得る値の集
合と同様であり、箱に(i,j)というベクトルが書かれ
ている集合には、((y|p),(y|q))=(i,j)である
ようなyの値が属している。
【0064】ただし注意しておくが、この図6において
は、図5と違って、それぞれの集合に、(N+1)/2以
上の値も(N−1)/2以下の値も含まれている(集合
(0,0)を除けば)。ステップ320では、y=x2
od Nという変換が行われるので、(y|p)および(y
|q)の値は、0か1であり、−1という値は取り得な
い。このため、x=0に対応する集合(集合(0,0))
を除けば、x側の2つの集合が、y側の1つの集合に写
される。
【0065】ただし、y側の集合のうち、(0,1)と
(1,0)については、図の上ではx側の2つの集合が重
複して写されているが、同じyの値に2つのxの値が写
されてはいない。なぜなら、(y|p),(y|q)の一方
が0の場合には、xに関する2次合同式x2=y(mod
N)はせいぜい2個の解しか持たないが、その場合に
は、一方の解をx0とするともう一方の解はN−x0だか
らである。
【0066】すなわち、一方の解が(N−1)/2以下だ
と、もう一方の解は(N+1)/2以上であるが、本実施
形態においては、図5を見てわかるように、((y|p),
(y|q))=(0,1),(1,0)に対応するxの値として
(N−1)/2以下の値しか使用していないからである。
また、y側の集合のうち(1,1)については、同じyの
値に2つのxの値が写されているが、図5を見てわかる
ように、(M|N)の値で区別することが可能である。
【0067】なお、図6のyの値からxの値を復元する
ためには、次のようにすれば良い。まず、xに関する2
次合同式x2=y(mod N)の解のうち、(x|p)(x
|q)≠−1を満たす解を求めれば良い。なぜなら、図
5を見てわかるように、(x|p)(x|q)=−1である
ようなxの値、すなわち((x|p),(x|q))=(−1,
1),(1,−1)であるようなxの値は、使われていない
からである。ただし、(x|p)(x|q)≠−1を満たす
解は、最大で2個存在する。以下では、そのような解の
うち、値が(N−1)/2以下のものをxLと表記し、値が
(N+1)/2以上のものをxGと表記しよう。
【0068】ただし、y=0の場合には、x2=y(mo
d N)の解はx=0の一つしか存在しないので、 xL
G=0としよう。元のxの値を復元するためには、こ
れらの2つの解のうち、どちらがxの元の値であるかを
識別しなければならない。図5を見てわかるように、そ
れらは(M|N)の値によって識別することができる。す
なわち、(M|N)=−1の場合には、xの元の値は、x
Gであり、それ以外の場合には、xの元の値はxLであ
る。
【0069】図7は、図3のステップ330で行われる
変換を示す概念図である。図において、左側に縦方向に
並べられた箱の集合は、それぞれ平方回路120の出力
yの取り得る値の集合で、箱に(i,j)というベクトル
が書かれている集合には、((y|p),(y|q))=(i,
j)であるようなyの値が属している。点線で囲まれた
箱は、その箱に属するyの値が使用されないことを示
し、実線で囲まれた箱は、その箱に属するyの値が使用
され得ることを示している。また、右側に縦方向に並べ
られた箱の集合は、それぞれセレクタ132の出力zの
取り得る値の集合で、記述方法は、yの取り得る値の集
合と同様であり、箱に(i,j)というベクトルが書かれ
ている集合には、((z|p),(z|q))=(i,j)である
ようなzの値が属している。ステップ330において
は、yに対して、ヤコビ記号の値(M|N)が−1の場合
には、z=2y(mod N)とし、それ以外の場合には
z=yとしている。
【0070】また、既に述べたように、本実施形態では
((2|p),(2|q))=(−1,1)であるような秘密鍵が
用いられる。このため、図7に示すように、((y|p)
(y|q))=(1,1)であるようなyは、z=2y(mo
d N)とすることによって、((z|p)(z|q))=(−
1,1)であるようなzに写される。図6においては、y
側の集合のうち(1,1)については、同じyの値に2つ
のxの値が重複して写されていたが、この操作によっ
て、重複したyの値が、別の値をとる2つのzの値に写
される。その結果、xとzとが1対1に対応することが
わかる。
【0071】図8は、図3のステップ340で行われる
変換を示す概念図である。図において、左側に縦方向に
並べられた箱の集合は、それぞれセレクタ132の出力
zの取り得る値の集合で、箱に(i,j)というベクトル
が書かれている集合には、((z|p),(z|q))=(i,
j)であるようなzの値が属している。また、箱の上か
ら1個目から8個目までの箱には、z≧(N+1)/2で
あるようなzの値が属し、箱の下から1個目から9個目
までの箱には、z≦(N−1)/2であるようなzの値が
属している。点線で囲まれた箱は、その箱に属する値が
zの値として使用されないことを示し、実線で囲まれた
箱は、その箱に属する値がzの値として使用され得るこ
とを示している。また、右側に縦方向に並べられた箱の
集合は、それぞれセレクタ144の出力すなわち暗号文
Cの取り得る値の集合で、記述方法は、平文zの取り得
る値の集合と同様であり、箱に(i,j)というベクトル
が書かれている集合には、((C|p),(C|q))=(i,
j)であるようなCの値が属している。
【0072】ステップ340においては、zに対して、
zが(N+1)/2以上の値をとれば、C=−z(mod
N)とし、それ以外の場合にはC=zとしている。この
ため、図に示すように、(N+1)/2以上の値をとるz
で((z|p)(z|q))=(1,1),(−1,1),(0,1),
(1,0)であるようなzの集合が、それぞれ(N−1)/2
以下の値をとるCで((C|p)(C|q))=(−1,−1),
(1,−1),(0,−1),(−1,0)であるようなCの集合
に写され、それ以外のzの集合は、そのまま右手に位置
するCの集合に写される。
【0073】図8を見てわかるように、その際に、別の
集合が一つの同じ集合に写されることは無い。従って、
ステップ340によって行われるzからCへの変換が1
対1の変換であることがわかる。以上の説明によって、
本実施形態の暗号化方法においては、平文Mと暗号文C
とが1対1に対応することがわかる。
【0074】なお、本実施形態の暗号文Cから元の平文
Mを復元するためには、基本的には、暗号化の操作と逆
の操作を行えばよい。ただし、暗号化の操作においては
(M|N)の値およびzの値が(N+1)/2以上であるか
否によって処理方法を変えているが、復号化の操作にお
いてはMおよびzの値が事前にわからないので、(M|
N)の値およびzの値が(N+1)/2以上であるか否を暗
号文Cから判別しなければならない。
【0075】幸いなことに、図5から図8を見ると、
(M|N)=(C|p)(C|q)が成り立っていることがわ
かる。これによって、暗号文Cから(M|N)の値を判別
できる。また、図8を見ると、s(C)=−1であればz
の値が(N+1)/2以上であることがわかる。これによ
って、暗号文Cからzの値が(N+1)/2以上であるか
否が判別できる。
【0076】なお、ここで、s(C)は、もし(C|q)=
0の場合にはs(C)=(C|p)で、(C|q)≠0の場合
にはs(C)=(C|q)と定義される値である。従って、
図2の復号化装置によって、図1の暗号化装置の出力し
た暗号文から元の平文が復元できること、および、図4
の復号化方法によって、図3の暗号化方法によって得ら
れた暗号文から元の平文Nが復元することができること
がわかる。
【0077】
【発明の効果】以上説明したように、本発明は、下記の
ような効果を有する。 (1)平文と暗号文を1対1に対応させられるため、暗
号文から平文を一意に復元できる。 (2)平文の値域の大きさと暗号文の値域の大きさを等
しくできるため、暗号化によってデータのサイズが拡大
することが無い。 (3)(x|p)(x|q)=−1となるようなxは使用し
ていないため、復号化装置によってディジタル署名を作
成しても、選択暗号文攻撃によって解読されることがな
い。
【図面の簡単な説明】
【図1】本発明の一実施形態の公開鍵暗号化システムに
おける暗号化装置の構成を示したブロック図である。
【図2】本発明の一実施形態の公開鍵暗号化システムに
おける復号化装置の構成を示したブロック図である。
【図3】図1の暗号化装置の動作を示したフローチャー
トである。
【図4】図2の復号化装置の動作を示したフローチャー
トである。
【図5】図3のステップ310で行われる変換を示す概
念図である。
【図6】図3のステップ320で行われる変換を示す概
念図である。
【図7】図3のステップ330で行われる変換を示す概
念図である。
【図8】図3のステップ340で行われる変換を示す概
念図である。
【符号の説明】
111 ヤコビ記号計算回路 112 乗算器 113 セレクタ 120 平方回路 131 乗算器 132 セレクタ 141 シフタ 142 比較器 143 乗算器 144 セレクタ 151、152 入力端子 153 出力端子 211、212 ヤコビ記号計算回路 213 乗算器 214 セレクタ 221 乗算器 222 セレクタ 231 除算器 232 セレクタ 240 開平回路 251 除算器 252 セレクタ 261〜264 入力端子 265 出力端子 310〜313 ステップ 320 ステップ 330〜333 ステップ 340〜343 ステップ 410〜413 ステップ 420〜423 ステップ 430 ステップ 440〜443 ステップ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 620 H04L 9/30 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 ヤコビ記号(2│p)が−1となる素数
    である第1の秘密鍵pとヤコビ記号(2│q)が1とな
    る素数である第2の秘密鍵qとの積pqを値として有す
    る公開鍵Nを用いて、M≦(N−1)/2という条件を満
    たす平文Mを暗号化することにより暗号文Cを生成する
    ための暗号化装置であって、 前記平文Mと前記公開鍵Nとのヤコビ記号(M│N)の
    値を計算するヤコビ記号計算回路と、 前記平文Mの値を2倍して、該乗算結果である出力2M
    を出力する第1の乗算器と、 前記ヤコビ記号計算回路において得られたヤコビ記号
    (M│N)の値が“−1”の場合には前記第1の乗算器の
    出力2Mを選択して出力xとして出力し、前記ヤコビ記
    号(M│N)の値が“−1”以外の場合には前記平文Mを
    選択して出力xとして出力する第1のセレクタと、 前記第1のセレクタの出力xに対して、該出力xの2乗
    をNで割った時の余りであるx2 mod Nを計算し
    て、該計算結果を出力yとして出力する平方回路と、 前記平方回路の出力yに対して、該出力yの2倍をNで
    割った時の余りである2y mod Nを計算して、該計
    算結果を出力する第2の乗算器と、 前記ヤコビ記号計算回路において得られたヤコビ記号
    (M│N)の値が“−1”の場合には前記第2の乗算器の
    出力である2y mod Nを選択して出力zとして出力
    し、前記ヤコビ記号(M│N)の値が“−1”以外の場
    合には前記平方回路の出力yを選択して出力zとして出
    力する第2のセレクタと、 前記公開鍵Nを右に1ビットだけシフトして得られた値
    である出力(N−1)/2を出力するシフタと、 前記シフタの出力(N−1)/2と前記第2のセレクタの
    出力zとの大小を比較して、該比較結果を出力する比較
    器と、 前記第2のセレクタの出力zの−1倍をNで割った時の
    余りである−z mod Nを計算して、該計算結果を出
    力する第3の乗算器と、 前記比較器の出力がz≦(N−1)/2を示している場合
    には、前記第2のセレクタの出力zを選択して前記暗号
    文Cとして出力し、前記比較器の出力がz>(N−1)/
    2を示していれば、前記第3の乗算器の出力−z mo
    d Nを選択して前記暗号文Cとして出力する第3のセ
    レクタとから構成されている暗号化装置。
  2. 【請求項2】 ヤコビ記号(2│p)が−1となる素数
    の第1の秘密鍵pとヤコビ記号(2│q)が1となる素
    数の第2の秘密鍵qとの積pqを値として有する公開鍵
    Nを用いて、M≦(N−1)/2という条件を満たす平文
    Mを暗号化することにより生成された暗号文Cを、前記
    第1および第2の秘密鍵p、qと公開鍵Nを用いて復号
    化することにより元の平文Mを復元するための復号化装
    置であって、 前記暗号文Cと前記第1の秘密鍵pのヤコビ記号(C│
    p)の値を計算する第1のヤコビ記号計算回路と、 前記暗号文Cと前記第2の秘密鍵qのヤコビ記号(C│
    q)の値を計算する第2のヤコビ記号計算回路と、 前記第1のヤコビ記号計算回路により得られたヤコビ記
    号(C│p)と前記第2のヤコビ記号計算回路により得ら
    れたヤコビ記号(C│q)の積を計算して、該計算結果
    (C│p)(C│q)を出力する第1の乗算器と、 前記第2のヤコビ記号計算回路の出力(C│q)の値が
    “0”の場合には、前記第1のヤコビ記号計算回路の出
    力(C│p)を選択して出力s(C)として出力し、前記
    第2のヤコビ記号計算回路の出力(C│q)の値が“0”
    以外の場合には、前記第2のヤコビ記号計算回路の出力
    (C│q)を選択して出力s(C)として出力する第1のセ
    レクタと、 前記暗号文Cの値の−1倍をNで割った時の余りである
    −C mod Nを計算して、該計算結果を出力する第2
    の乗算器と、 前記第1のセレクタの出力s(C)が“−1”の場合には
    前記第1の乗算器の出力すなわち−C mod Nを選択
    して出力zとして出力し、前記第1のセレクタの出力s
    (C)が“−1”以外の場合には前記暗号文Cを選択して
    出力zとして出力する第2のセレクタと、 前記第2のセレクタの出力zに対して、該出力zの1/
    2倍を前記公開鍵Nで割った時の余りであるz/2 mo
    d Nを計算して、該計算結果を出力する第1の除算器
    と、 前記第1の除算器の出力(C│p)(C│q)の値が“−
    1”の場合には前記第1の除算器の出力であるz/2 m
    od Nを選択して出力yとして出力し、前記第1の除
    算器の出力(C│p)(C│q)の値が“−1”以外の場合
    には前記第2のセレクタの出力zを選択して出力yとし
    て出力する第3のセレクタと、 前記第3のセレクタの出力yが“0”以外の場合には、
    xに関する2次合同式x2=y(mod N)の解のうち
    (x│p)(x│q)≠−1を満たし、その値が(N−1)/
    2以下のものを第1の出力xLとして出力し、その値が
    (N+1)/2以上のものを第2の出力xGとして出力し、
    前記第3のセレクタの出力yが“0”の場合には“0”
    を前記第1の出力xL、前記第2の出力xGとして出力す
    る開平回路と、 前記開平回路の第2の出力xGに対して、xGを2で割っ
    た時の商すなわちxG/2を計算して、該計算結果を出力
    する第2の除算器と、 前記第1の乗算器の出力(C│p)(C│q)の値が“−
    1”の場合には前記第2の除算器の出力すなわちxG/2
    を選択して平文Mとして出力し、前記第1の乗算器の出
    力(C│p)(C│q)の値が“−1”以外の場合には前
    記開平回路の第1の出力xLを選択して平文Mとして出
    力する第4のセレクタとから構成されている復号化装
    置。
  3. 【請求項3】 請求項1記載の暗号化装置と、請求項2
    記載の復号化装置とから構成されている公開鍵暗号化シ
    ステム。
JP20200598A 1998-07-16 1998-07-16 暗号化/復号化装置と公開鍵暗号化システム Expired - Fee Related JP3396693B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP20200598A JP3396693B2 (ja) 1998-07-16 1998-07-16 暗号化/復号化装置と公開鍵暗号化システム
EP99305581A EP0973293A3 (en) 1998-07-16 1999-07-14 Public-key cryptography with increased protection against selective ciphertext attack
CNB991192664A CN1153404C (zh) 1998-07-16 1999-07-16 具有增强保护以防选择的密文攻击的公钥密码系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20200598A JP3396693B2 (ja) 1998-07-16 1998-07-16 暗号化/復号化装置と公開鍵暗号化システム

Publications (2)

Publication Number Publication Date
JP2000035757A JP2000035757A (ja) 2000-02-02
JP3396693B2 true JP3396693B2 (ja) 2003-04-14

Family

ID=16450357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20200598A Expired - Fee Related JP3396693B2 (ja) 1998-07-16 1998-07-16 暗号化/復号化装置と公開鍵暗号化システム

Country Status (3)

Country Link
EP (1) EP0973293A3 (ja)
JP (1) JP3396693B2 (ja)
CN (1) CN1153404C (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4117969C2 (de) * 1991-05-31 2000-11-09 Balzers Ag Liechtenstein Vakuumkammer
KR100396740B1 (ko) * 2000-10-17 2003-09-02 학교법인 한국정보통신학원 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
GB2370471B (en) * 2000-12-20 2004-06-23 Director Government Comm Headq Directoryless Public Key Cryptographic System and Method
US6950517B2 (en) * 2002-07-24 2005-09-27 Qualcomm, Inc. Efficient encryption and authentication for data processing systems
US8811606B2 (en) * 2007-04-20 2014-08-19 Unoweb Inc. Asymmetric cryptography using shadow numbers
US20080260153A1 (en) * 2007-04-20 2008-10-23 John Almeida Symmetric and asymmetric cryptography using shadow numbers
CN111130785B (zh) * 2018-10-31 2022-11-29 中国移动通信集团浙江有限公司 基于实时客流模型生成rsa加密算法密钥的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3055636B2 (ja) * 1991-09-20 2000-06-26 日本電気株式会社 暗号通信符号化装置および復号化装置

Also Published As

Publication number Publication date
CN1253437A (zh) 2000-05-17
EP0973293A2 (en) 2000-01-19
JP2000035757A (ja) 2000-02-02
CN1153404C (zh) 2004-06-09
EP0973293A3 (en) 2001-04-04

Similar Documents

Publication Publication Date Title
US6154541A (en) Method and apparatus for a robust high-speed cryptosystem
Rio Piedras Cellular automaton public-key cryptosystem
US5220606A (en) Cryptographic system and method
US7949128B2 (en) Method and device for the encryption and decryption of data
EP0936776B1 (en) A network system using a threshold secret sharing method
US8605897B2 (en) Symmetric-key encryption method and cryptographic system employing the method
US20130236012A1 (en) Public Key Cryptographic Methods and Systems
EP0704124A1 (en) A cryptographic method
Zheng et al. Practical approaches to attaining security against adaptively chosen ciphertext attacks
US6111952A (en) Asymmetrical cryptographic communication method and portable object therefore
JP3396693B2 (ja) 暗号化/復号化装置と公開鍵暗号化システム
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
Wade et al. The Iso-ElGamal Cryptographic Scheme
US20080019508A1 (en) Public key cryptographic methods and systems with rebalancing
JP2000047581A (ja) 暗号化方法,暗号化・復号装置及び暗号通信システム
EP0667692B1 (en) Public-key cryptographic apparatus handling ciphertext by public-key
Henry Fast decryption algorithm for the knapsack cryptographic system
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
JP3055636B2 (ja) 暗号通信符号化装置および復号化装置
US20040151307A1 (en) Tractable rational map public-key system
JP4200259B2 (ja) 公開鍵生成装置、暗号化装置および復号装置
EP1148675A1 (en) Public key cryptograph and key sharing method
WO2003013052A1 (en) Cryptosystems based on non-commutatity
JP3722744B2 (ja) 暗号化装置,暗号通信システム,記録媒体
Sethi et al. Multi-Way encryption using elliptic curve cryptography

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: 20021106

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080214

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110214

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees