JPH08102734A - 公開鍵暗号方法及び公開鍵暗号システム - Google Patents

公開鍵暗号方法及び公開鍵暗号システム

Info

Publication number
JPH08102734A
JPH08102734A JP6236500A JP23650094A JPH08102734A JP H08102734 A JPH08102734 A JP H08102734A JP 6236500 A JP6236500 A JP 6236500A JP 23650094 A JP23650094 A JP 23650094A JP H08102734 A JPH08102734 A JP H08102734A
Authority
JP
Japan
Prior art keywords
public key
elliptic curve
ciphertext
remainder
key
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.)
Granted
Application number
JP6236500A
Other languages
English (en)
Other versions
JP3278790B2 (ja
Inventor
Tatsuaki Okamoto
龍明 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP23650094A priority Critical patent/JP3278790B2/ja
Publication of JPH08102734A publication Critical patent/JPH08102734A/ja
Application granted granted Critical
Publication of JP3278790B2 publication Critical patent/JP3278790B2/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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3013Public 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 discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • 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/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は、通信効率と復号処理効率が
共に工場する公開鍵暗号方法及び公開鍵暗号システムを
提供することである。 【構成】 本発明は、楕円曲線上の演算を利用して生成
した公開鍵を公開し、秘密鍵を生成し、保持する鍵生成
・登録手段250と、送信装置100より受信した暗号
文に対して剰余演算及びヴェイユ対演算を行い、ヴェイ
ユ対演算の結果に対して離散対数問題を解くことにより
暗号文を平文に復号する復号手段260とを有する受信
装置200と、受信装置200から公開鍵を入手し、楕
円曲線上の演算を利用して暗号文を生成する暗号文生成
手段110を有する送信装置100とを具備する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、公開鍵暗号方法及び公
開暗号鍵システムに係り、特に、電気通信システムにお
いて通信の秘密を保証して通信を行う公開鍵暗号方式
(池野、小山著「現代暗号理論」電子情報通信学会)を
実現する公開暗号方法及び公開鍵暗号システムに関す
る。
【0002】詳しくは、ディジタル化された文書を伝送
する際に、楕円曲線に基づいて公開鍵暗号を用いて安全
性を高めることが可能な公開解暗号方法及び公開鍵暗号
システムに関する。
【0003】
【従来の技術】従来の第1の公開鍵暗号を安全に実現す
る方法として、GoldwasserとMicaliにより確率暗号が導
入されている(Goldwasser, Micali, "Probabilistic En
cryption," SIAM J. Computing (1984))。
【0004】この"Goldwasser とMicali" による方法
は、1ビットの情報m(mは0か1)を
【0005】
【数1】
【0006】のように暗号化している。この時の暗号文
は、公開鍵のサイズと同様(略500ビット)となる。
【0007】また、従来の第2の公開鍵暗号の方法とし
て、Cohen (Cohen,Hischer,"A Robust and Verifiable
Cryptographically Secure Election Sechme", Proceed
ingofFoundation of Computer Science, pp. 372-382(1
985) の高次剰余の理論に基づいて、より通信効率の良
い方式を提案している。この方法は、tビットの情報m
を c=am ・γL mod N というように暗号化する(但し、a,N,L(Lのサイ
ズはtビット以上)は公開鍵、γは乱数)。この暗号文
cを復号するためには、情報mをしらみ潰し的に探索し
て復号する。
【0008】
【発明が解決しようとする課題】しかし、上記の従来の
第1の方法は、1ビットを暗号化すると500ビットの
暗号文となり、通信効率が非常に悪いという問題があ
る。
【0009】また、上記の従来の第2の方法は、高次剰
余の理論に基づいて上記の従来の第1の方法の問題を解
決しているが、現在既知となっている全ての方法を用い
ても情報mをしらみ潰し的に探索する以外に復号する方
法がない。
【0010】例えば、情報mが10ビットである場合
は、0〜210−1の1024通りの全ての値を復号式に
代入して満足するものを見つける必要がある。従って、
現在のコンピュータの能力では、通常240以上になる
と、1日以上、260程度では、スーパーコンピュータを
用いても何十年もかかる計算となる。従って、通常の利
用環境で、数秒以内程度で復号するためには、せいぜい
10ビット程度が限度である。
【0011】本発明は、上記の点に鑑みなされたもの
で、上記従来の問題点を解決し、通信効率と復号処理効
率が共に向上する公開鍵暗号方法及び公開鍵暗号システ
ムを提供することを目的とする。
【0012】
【課題を解決するための手段】図1は、本発明の原理を
説明するためのフローチャートである。
【0013】本発明の公開鍵暗号方法は、送信装置と受
信装置間の通信の秘密を保証する公開鍵暗号方法におい
て、受信装置側では、楕円曲線上の演算を利用して公開
鍵及び秘密鍵を生成し(ステップ1)、生成された公開
鍵を公開し(ステップ2)、生成された秘密鍵を保持し
(ステップ3)、送信装置側では、公開鍵を入手し、楕
円曲線上の演算を利用して暗号文を生成し(ステップ
4)、受信装置に送信し(ステップ5)、受信側装置で
は、送信装置より受信した暗号文に対して剰余演算及び
ヴェイユ対演算を行い、ヴェイユ対演算の結果に対して
離散対数問題を解くことにより暗号文を平文に復号する
(ステップ6)。
【0014】また、受信装置において、公開鍵及び秘密
鍵を生成する際に(ステップ1)、予め合成数n及び前
記楕円曲線のパラメータ(a,b)を定め、さらに、合
成数nを法とする剰余演算における楕円曲線En (a,
b)上の2点(G1 ,G2 )を定め、k,n,a,b,
1 ,G2 を公開鍵とし、合成数nの素因数を秘密鍵と
する。
【0015】また、送信装置において、暗号文を生成す
る際に(ステップ4)、乱数γを生成し、乱数γと入力
される通信文mを用いて、楕円曲線En (a,b)上の
合成数nを法とする剰余演算における楕円曲線上の演算
を行い、暗号文c(但し、c=mG1 +γmG2 )を生
成する。
【0016】また、受信装置において、暗号文を復号す
る際に(ステップ6)、送信装置より受信した暗号文を
合成数nの素因数を法とする剰余演算の要素に分解し、
分解された要素に対して、ヴェイユ対演算を行い、ヴェ
イユ対演算の演算値に対して離散対数問題を解き、離散
対数問題の解を中国人剰余定理により復号文を生成す
る。
【0017】図2は、本発明の原理構成図である。
【0018】本発明は、送信装置100と受信装置20
0間の通信の秘密を保証する公開鍵暗号システムにおい
て、楕円曲線上の演算を利用して公開鍵を生成して公開
し、秘密鍵を生成し、保持する鍵生成・登録手段250
と、送信装置100より受信した暗号文に対して剰余演
算及びヴェイユ対演算を行い、ヴェイユ対演算の結果に
対して離散対数問題を解くことにより暗号文を平文に復
号する復号手段260とを有する受信装置200と、受
信装置200から公開鍵を入手し、楕円曲線上の演算を
利用して暗号文を生成する暗号文生成手段110を有す
る送信装置100とを具備する。
【0019】また、上記の鍵生成・登録手段250は、
合成数n及び楕円曲線のパラメータ(a,b)を定める
楕円曲線パラメータ生成手段204と、合成数nを法と
する剰余演算における楕円曲線En (a,b)上の2点
(G1 ,G2 )を定める楕円曲線上点生成手段203
と、楕円曲線パラメータ生成手段204により生成され
たパラメータ(a,b)及び楕円曲線上点生成手段20
3により生成された2点(G1 ,G2 )を用いて公開鍵
k,n,a,b,G1 ,G2 を生成する公開鍵生成手段
205と、合成数nの素因数を秘密鍵として格納する秘
密鍵保持手段230とを含む。
【0020】また、上記の復号手段260は、送信装置
100から送信された暗号文cを合成数nの素因数を法
とする剰余演算の要素に分解する剰余分解手段210
と、剰余分解手段210により分解された各要素にヴェ
イユ対演算を用いて離散対数問題を解き、暗号文を復号
する解析手段220とを含む。
【0021】また、上記の解析手段220は、離散対数
問題の解を中国人剰余定理により1つの復号文に変換す
る手段を含む。
【0022】また、上記の暗号文生成手段110は、受
信装置200より公開鍵(k,n,a,b,G1
2 )を入力する公開鍵入力手段107と、乱数γを生
成する乱数生成手段108と、乱数生成手段108によ
り生成された乱数γと入力される通信文mとを用いて楕
円曲線En (a,b)上の演算を合成数nを法とする剰
余演算を行い、通信文mを暗号文c(但し、c=mG1
+γG2 )を生成する暗号文演算手段109を含む。
【0023】
【作用】本発明は、楕円曲線の特性である2重周期を利
用するものであり、1つの周期を通信文の暗号化に用
い、もう一方の周期を確率的に乱数化するために用い
る。このように楕円曲線の2重周期を利用することによ
り、1個の暗号文で暗号化できる通信文のサイズが通信
文の暗号化に用いる周期により決定される。
【0024】また、復号処理では、ヴェイユ対(岡本・
桜井著「代数幾何学的アルゴリズム」、情報処理、情報
処理学会、Vol.34.No.2,2月号(1993))を
利用することにより、乱数成分を除去し、さらに、離散
対数問題を求める手法により復号化された通信文を求め
ることができる。
【0025】
【実施例】図3は、本発明のシステム構成を示す。同図
において、送信装置100と受信装置200が通信回線
等300を介して接続されている。受信装置200は、
鍵生成・登録部250と、復号部260より構成され
る。鍵生成・登録部250は、素数p,qの合成数n及
び楕円曲線のパラメータ(a,b)を設定し、剰余演算
における楕円曲線En (a,b)上の2点(G1
2 )を設定し、合成数n、及びパラメータa,bを公
開鍵とし、また、合成数nの素因数を秘密鍵として保持
する。また、復号部260は、入力された暗号文cを合
成数nの素因数を法とする剰余演算の要素に分解し、分
解された各要素毎に、ヴェイユ演算を用いて離散対数問
題の解として通信文mを計算する。
【0026】最初に受信装置の鍵生成・登録部250に
ついて説明する。
【0027】[受信装置:鍵生成・登録部]図4は、本
発明の一実施例の受信装置の鍵生成・登録部の構成を示
す。受信装置200の鍵生成・登録部250は、素数生
成器201、乗算器202、楕円曲線パラメータ生成器
203、楕円曲線上点生成器204、剰余定理演算器2
05、位相計算器206、最小公倍数演算器207より
構成される。
【0028】素数生成器201は、素数p,qを生成
し、乗算器202及び楕円曲線パラメータ生成器203
及び楕円曲線上点生成器204に出力する。乗算器20
2は、素数p,qを乗算し、n=pqとする。楕円曲線
パラメータ生成器203は、入力された素数p,qを係
数a,bに対し、パラメータ(ap ,bp ),(aq
q )を楕円曲線上点生成器204、剰余定理演算器2
05及び位相計算機206に出力する。楕円曲線上点生
成器204は、楕円曲線パラメータ生成器203より出
力されたパラメータ(ap ,bp ),(aq ,bq )と
素数生成器201より出力された素数p,qにより、二
重周期(G1p,G2p),(G1q,G2q)を取り出す。
【0029】ここで、楕円曲線とは、素数pと係数a,
bに対し、 y2 ≡x3 +ax+b (mod p) を満たす点の集合に無限遠点Oを加えた集合 Ep (a,b) にて定義される曲線をいう。
【0030】次に、剰余定理演算器205は、中国人剰
余定理により平文を求めるものであり、楕円曲線パラメ
ータ生成器203より出力されるパラメータ(ap ,b
p ),(aq ,bq )と楕円曲線上点生成器204から
出力される二重周期(G1p,G2p),(G1q,G2q)を
用いて中国人剰余定理に基づいてa,b,G1 ,G2
計算する。位相計算器206は、素数生成器201より
出力された素数p,q、楕円曲線上点生成器204から
出力された二重周期(G1p,G2p),(G1q,G2q
と、楕円曲線パラメータ生成器203より出力されたパ
ラメータ(ap ,bp ),(aq ,bq )を用いて、位
数(Np ,Nq ,Mp ,Mq )を求める。求められた位
数は、最小公倍数演算器207に入力し、位数Np ,N
q について最小公倍数を計算し、その結果LCM
(Np ,Nq )を合成数nの素因数とし、秘密鍵として
格納する。
【0031】図5は、本発明の一実施例の鍵生成・登録
部の動作を説明するためのフローチャートである。
【0032】ステップ101)素数生成器201は、素
数p,qを生成する。
【0033】ステップ102)乗算器202が、素数生
成器201より入力された素数p,qを乗算し、合成数
nを求める。
【0034】ステップ103)楕円曲線パラメータ生成
器203は、素数生成器201より素数p,qが入力さ
れると、楕円曲線のパラメータ(ap ,bp ),
(aq ,b q )を設定する。
【0035】ステップ104)楕円曲線上点生成器20
4は、楕円曲線パラメータ生成器203より入力された
パラメータ(ap ,bp ),(aq ,bq )と素数生成
器201より入力された素数p,qにより、剰余演算に
おける楕円曲線En (a,b)上の2点(二重周期(G
1p,G2p),(G1q,G2q))を取り出す。
【0036】ステップ105)次に、剰余定理演算器2
05は、楕円曲線パラメータ生成器203より入力され
るパラメータ(ap ,bp ),(aq ,bq )と楕円曲
線上点生成器204から入力される二重周期(G1p,G
2p),(G1q,G2q)を用いて中国人剰余定理に基づい
て公開鍵(a,b),(G1 ,G2 )を計算する。
【0037】ここで、公開鍵は、 a≡ap (mod p), a≡aq (mod q), b≡bp (mod p), b≡bq (mod q), G1 ≡G1p (mod p), G1 ≡G1q (mod q), G2 ≡G2p (mod p), G2 ≡G2q (mod q) であるとする。
【0038】ステップ106)位数計算器206は、素
数生成器201より入力された素数p,q、楕円曲線上
点生成器204から入力された二重周期(G1p
2p),(G1q,G2q)と、楕円曲線パラメータ生成器
203より入力されたパラメータ(ap ,bp ),(a
q ,bq )を用いて、以下の位数を求める。
【0039】Np = ordp (G1p) Nq = ordq (G1q) Mp = ordp (G2p) Mq = ordq (G2q) 上記の位数Np は、Mp の約数であり、Nq は、Mq
約数である。
【0040】ステップ107)最小公倍数演算器207
は、ステップ106により求められた位数Np ,Nq
より最小公倍数LCM(Np ,Nq )を計算する。ここ
で、k+1を最小公倍数(LCM(Np ,Nq ))のビ
ットサイズとする。
【0041】ステップ108)上記の素数p,qを秘密
鍵として保持し、合成数n、パラメータ(a,b)、楕
円曲線上の2点(G1 ,G2 )及び最小公倍数のビット
サイズkを公開鍵とする。即ち、{k,n,a,b,G
1 ,G2 }を公開鍵として公開する。
【0042】次に、送信装置100について説明する。
【0043】[送信装置]図6は、本発明の一実施例の
送信装置の構成を示す。送信装置100は、乱数γを生
成する乱数発生器108からの乱数γと、楕円曲線上の
剰余演算を用いて受信装置200に送信したい通信文m
を暗号化し、暗号文cを出力する楕円曲線演算器109
より構成される。
【0044】楕円曲線演算器109は、受信装置200
から入力された公開鍵(n,a,b,G1 ,G2 )、乱
数発生器108から入力された乱数γ及び通信文mを用
いて、 c=mG1 +γG2 over En (a,b) により暗号文cを求める。ここで、“+”は、合成数n
を法とする剰余演算における楕円曲線上の演算を意味
し、mG1 は、G1 +G1 +…G1 (m回)を意味す
る。楕円曲線上の演算“+”は、nを法とする剰余四則
演算を繰り返し用いることにより実現できる(具体的に
は、以下の書籍等を参照されたい。N.Koblitz,"A cousr
se in number theory and cryptography," GTM-114, Sp
ringer-Verlag,New York(1987) )。
【0045】図7は、本発明の一実施例の送信装置の動
作を示すフローチャートである。
【0046】ステップ201)送信装置100の乱数発
生器108は乱数γを発生させる。
【0047】ステップ202)受信装置200に送信し
たい平文の通信文mを入力する。
【0048】ステップ203)受信装置200で生成さ
れた公開鍵n,a,b,G1 ,G2を入力する。
【0049】ステップ204)送信装置100は、乱数
γ、通信文m、公開鍵n,a,b,G1 ,G2 を用い
て、楕円曲線En (a,b,)上の剰余演算をm回繰り
返す。詳しくは、乱数γと公開鍵G2 を合成して、γG
2 を生成し、通信文mと公開鍵G1 を合成してmG1
生成する。次に、γG2 とmG1 を合成して暗号文cを
生成する。
【0050】ステップ205)送信装置100は、暗号
文cを出力する。
【0051】次に、受信装置200の復号部260につ
いて説明する。
【0052】[受信装置:復号部]図8は、本発明の一
実施例の受信装置の復号部の構成を示す。同図に示す受
信装置200の復号部260は、剰余演算器210、ヴ
ェイユ対演算器211A,B、離散対数演算器212、
及び剰余定理演算器205を有する。このうち、同図に
おいてヴェイユ対演算器211A,211Bの2つが含
まれているが、これは、1つの演算器として構成されて
もよい。同図では、入出力が2種類あるために区別して
いる。また、剰余定理演算器205は、鍵生成・登録部
250の剰余定理演算器205と同様であり、一連の説
明のために復号部260内に設けてあるものである。
【0053】剰余演算器210は、送信装置100から
送信された暗号文cが入力されると、合成数nの素因数
を法とする剰余演算の要素cp ,cq に分解する。この
要素cp ,cq をヴェイユ対演算器211Aに入力す
る。さらに、楕円曲線上の点G 1p,G1q,G2p,G2q
ヴェイユ対演算器211Bに入力する。これによりヴェ
イユ対演算器211A,211Bはヴェイユ対演算を行
い、演算結果を離散対数演算器212に入力する。離散
対数演算器212は、鍵生成・登録部250の位数計算
器206から位数Np ,Nq が入力され、離散対数の問
題の解として復号された通信文m(平文)が出力され
る。
【0054】図9は、本発明の一実施例の受信装置の復
号部の動作を示すフローチャートである。
【0055】ステップ301)受信装置200の剰余演
算器210は、送信装置100から暗号文cと素数p,
qの入力により、以下の剰余演算を行う。
【0056】cp =cmod p, cq =cmod q を計算する。
【0057】ステップ302)ステップ301で求めた
剰余演算結果cp 、cq と位数計算器206からの出力
の楕円曲線上の点の位数Mp ,Mq 及び鍵生成・登録部
250の楕円曲線上点生成器204により生成された楕
円曲線上の点(G2p、G2q)をヴェイユ対演算器211
Aに入力する。また、鍵生成・登録部250の楕円曲線
上点生成器204により生成された楕円曲線上の点(G
1p,G1q)、(G2p,G2q)及び楕円曲線上の点の位数
p ,Mq をヴェイユ対演算器211Bに入力する。
【0058】ステップ303)ヴェイユ対演算器221
Aは、位数Mp ,Mq と剰余演算器210の出力cp
q 及び楕円曲線上の点(G2p、G2q)を用いて以下の
ヴェイユ対演算(ヴェイユ対演算の詳細は、岡本・桜井
著「代数幾何学的アルゴリズム」情報処理学会誌、2月
号(1993)を参照)を行う。
【0059】βp =eMp (cp ,G2p) βq =eMq (cq ,G2q) これにより、第1のヴェイユ対βp 及びβq を求める。
【0060】さらに、ヴェイユ対演算器221Bは、入
力された楕円曲線上の点(G1p,G 1q)、(G2p
2q)及び楕円曲線上の点の位数Mp ,Mq を用いて、
以下により第2のヴェイユ対αp ,αq を求める。
【0061】αp =eMp (G1p,G2p) αq =eMq (G1q,G2q) ステップ304)次に、ヴェイユ対演算器221A,2
21Bの演算結果βp、βq 、αp 、αq 、最小公倍数
p ,Nq 、素数p,qを離散対数演算器212に入力
する。
【0062】ステップ305)離散対数演算器212
は、入力されたβp 、βq 、αp 、α q 、最小公倍数N
p ,Nq 、素数p,qを用いて、以下の式を満足する離
散対数の解mp ,mq を求める。
【0063】βp =αp mp mod p βq =αq mq mod q なお、上記の最小公倍数Np ,Nq は上記の式から消え
ているが、αp 、αp の位数がNp ,Nq という事実を
用いてmp ,mq を求めるための入力として必要である
(詳細は、池野・小山著「離散対数問題のポーリック・
ヘルマン・アルゴリズム」参照)。
【0064】ステップ306)離散対数演算の解mp
q 及び素数p,qを中国人剰余定理演算器205に入
力する。
【0065】ステップ307)中国人剰余定理演算器2
05は、素数を用いて中国人剰余定理により平文mを求
める。
【0066】 m≡mp (mod Np ), … m=mq (mod Nq ) … 上記の及びを合成することにより、平文mを導出す
る。
【0067】上記の実施例のように、従来とは全く異な
る数学的手段である楕円曲線を用いて暗号化及び復号化
を行うものである。例えば、合成数nを500ビット程
度であるとすると、暗号文cは1000ビット程度とな
る。
【0068】また、ビットサイズkを例えば、100ビ
ット程度にすることが可能であるため、100ビットの
平文を1000ビットの暗号文に変換することが可能で
ある。従来は、1ビットの平文に対して500ビットの
暗号文となっていたため、通信効率は1/500であっ
たが、本発明によれば、100/1000=1/10に
向上させることができる。
【0069】
【発明の効果】上述のように、本発明によれば、パラメ
ータを適当に選ぶことにより、適当な大きさのビットサ
イズkに対してkビットの通信文を1つの暗号文cに暗
号化できる。
【0070】また、復号化処理は、ヴェイユ対演算と離
散対数演算が大部分を占めるが、ヴェイユ対演算は、文
献(岡本・桜井著「代数幾何学的アルゴリズム」情報処
理、情報処理学会、Vol.34,No.2,2 月号(1993)) で述べ
られているように、効率的に(kの多項式のオーダ)で
計算できる。また、Np 及びNq が小さな素因数のみを
含むようにすれば、離散対数演算も効率的に(kの多項
式のオーダで)計算できる。
【0071】これにより、従来の方式に比べて、本発明
は、通信効率と復号処理効率が共に向上する。
【図面の簡単な説明】
【図1】本発明の原理を説明するためのシーケンスチャ
ートである。
【図2】本発明の原理構成図である。
【図3】本発明のシステム構成図である。
【図4】本発明の一実施例の公開暗号システムの受信装
置の構成図である。
【図5】本発明の一実施例の鍵生成・登録部の動作を説
明するためのフローチャートである。
【図6】本発明の一実施例の送信装置の構成図である。
【図7】本発明の一実施例の送信装置の動作を示すフロ
ーチャートである。
【図8】本発明の一実施例の受信装置の復号部の構成図
である。
【図9】本発明の一実施例の受信装置の復号部の動作を
示すフローチャートである。
【符号の説明】
100 送信装置 107 公開鍵入力手段 108 乱数生成手段 109 暗号文演算手段 110 暗号文生成手段 200 受信装置 201 素数生成器 202 乗算器 203 楕円曲線上点生成手段、楕円曲線パラメータ生
成器 204 楕円曲線パラメータ生成手段、楕円曲線上点生
成器 205 公開鍵生成手段、剰余定理演算器 206 位数計算器 207 最小公倍数演算器 210 剰余分解手段、剰余演算器 211 ヴェイユ対演算器 212 離散対数演算器 220 解析手段 230 秘密鍵保持手段 250 鍵生成・登録手段、鍵生成・登録部 260 復号手段・復号部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 送信装置と受信装置間の通信の秘密を保
    証する公開鍵暗号方法において、 該受信装置側では、 楕円曲線上の演算を利用して公開鍵及び秘密鍵を生成
    し、 生成された該公開鍵を公開し、 生成された該秘密鍵を保持し、 該送信装置側では、 該公開鍵を入手し、 該楕円曲線上の演算を利用して暗号文を生成して、該受
    信装置に送信し、 該受信側装置において、 該送信装置より受信した該暗号文に対して剰余演算及び
    ヴェイユ対演算を行い、該ヴェイユ対演算の結果に対し
    て離散対数問題を解くことにより該暗号文を平文に復号
    することを特徴とする公開鍵暗号方法。
  2. 【請求項2】 前記受信装置において、前記公開鍵及び
    前記秘密鍵を生成する際に、 予め合成数n及び前記楕円曲線のパラメータ(a,b)
    を定め、 さらに、該合成数nを法とする剰余演算における楕円曲
    線En (a,b)上の2点(G1 ,G2 )を定め、k,
    n,a,b,G1 ,G2 を前記公開鍵とし、 該合成数nの素因数を前記秘密鍵とする請求項1記載の
    公開鍵暗号方法。
  3. 【請求項3】 前記送信装置において、前記暗号文を生
    成する際に、 乱数γを生成し、 該乱数γと入力される通信文mを用いて、前記楕円曲線
    n (a,b)上の前記合成数nを法とする剰余演算に
    おける前記楕円曲線上の演算を行い、前記暗号文c(但
    し、c=mG1 +γG2 )を生成する請求項1記載の公
    開鍵暗号方法。
  4. 【請求項4】 前記受信装置において、前記暗号文を復
    号する際に、 前記送信装置より受信した前記暗号文を前記合成数nの
    素因数を法とする剰余演算の要素に分解し、 分解された要素に対して、ヴェイユ対演算を行い、該ヴ
    ェイユ対演算の演算値に対して離散対数問題を解き、 該離散対数問題の解を中国人剰余定理により復号文を生
    成する請求項1記載の公開鍵暗号方法。
  5. 【請求項5】 送信装置と受信装置間の通信の秘密を保
    証する公開鍵暗号システムにおいて、 楕円曲線上の演算を利用して公開鍵を生成して、公開
    し、秘密鍵を生成し、保持する鍵生成・登録手段と、 該送信装置より受信した該暗号文に対して剰余演算及び
    ヴェイユ対演算を行い、該ヴェイユ対演算の結果に対し
    て離散対数問題を解くことにより該暗号文を平文に復号
    する復号手段とを有する受信装置と、 該受信装置から該公開鍵を入手し、該楕円曲線上の演算
    を利用して暗号文を生成する暗号文生成手段を有する送
    信装置とを具備することを特徴とする公開鍵暗号システ
    ム。
  6. 【請求項6】 前記鍵生成・登録手段は、 合成数n及び楕円曲線のパラメータ(a,b)を定める
    楕円曲線パラメータ生成手段と、 該合成数nを法とする剰余演算における該楕円曲線En
    (a,b)上の2点(G1 ,G2 )を定める楕円曲線上
    点生成手段と、 該楕円曲線パラメータ生成手段により生成された該パラ
    メータ(a,b)及び該楕円曲線上点生成手段により生
    成された該2点(G1 ,G2 )を用いて公開鍵k,n,
    a,b,G1 ,G2 を生成する公開鍵生成手段と、 該合成数nの素因数を秘密鍵として格納する秘密鍵保持
    手段とを含む請求項5記載の公開鍵暗号システム。
  7. 【請求項7】 前記復号手段は、 該送信装置から送信された前記暗号文cを該合成数nの
    素因数を法とする剰余演算の要素に分解する剰余分解手
    段と、 該剰余分解手段により分解された各要素にヴェイユ対演
    算を用いて離散対数問題を解き、前記暗号文を復号する
    解析手段とを含む請求項5記載の公開鍵暗号システム。
  8. 【請求項8】 前記解析手段は、 前記離散対数問題の解を中国人剰余定理により1つの復
    号文に変換する手段を含む請求項7記載の公開鍵暗号シ
    ステム。
  9. 【請求項9】 前記暗号文生成手段は、 前記受信装置より前記公開鍵(k,n,a,b,G1
    2 )を入力する公開鍵入力手段と、 乱数γを生成する乱数生成手段と、 該乱数生成手段により生成された該乱数γと入力される
    通信文mを用いて前記楕円曲線En (a,b)上の演算
    を前記合成数nを法とする剰余演算を行い、該通信文m
    を暗号文c(但し、c=mG1 +γG2 )に暗号化する
    暗号文演算手段を含む請求項5記載の公開鍵暗号システ
    ム。
JP23650094A 1994-09-30 1994-09-30 公開鍵暗号方法及び公開鍵暗号システム Expired - Fee Related JP3278790B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23650094A JP3278790B2 (ja) 1994-09-30 1994-09-30 公開鍵暗号方法及び公開鍵暗号システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23650094A JP3278790B2 (ja) 1994-09-30 1994-09-30 公開鍵暗号方法及び公開鍵暗号システム

Publications (2)

Publication Number Publication Date
JPH08102734A true JPH08102734A (ja) 1996-04-16
JP3278790B2 JP3278790B2 (ja) 2002-04-30

Family

ID=17001657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23650094A Expired - Fee Related JP3278790B2 (ja) 1994-09-30 1994-09-30 公開鍵暗号方法及び公開鍵暗号システム

Country Status (1)

Country Link
JP (1) JP3278790B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010000048A (ko) * 1999-11-18 2001-01-05 안병엽 m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
KR100419986B1 (ko) * 2002-01-07 2004-02-26 한국정보보호진흥원 타원곡선 암호알고리즘을 이용한 안전한 피코넷 형성 및유지 방법
JP2007171411A (ja) * 2005-12-20 2007-07-05 Nippon Telegr & Teleph Corp <Ntt> パラメータ生成装置、暗号鍵生成装置、それらの方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010000048A (ko) * 1999-11-18 2001-01-05 안병엽 m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
KR100419986B1 (ko) * 2002-01-07 2004-02-26 한국정보보호진흥원 타원곡선 암호알고리즘을 이용한 안전한 피코넷 형성 및유지 방법
JP2007171411A (ja) * 2005-12-20 2007-07-05 Nippon Telegr & Teleph Corp <Ntt> パラメータ生成装置、暗号鍵生成装置、それらの方法及びプログラム

Also Published As

Publication number Publication date
JP3278790B2 (ja) 2002-04-30

Similar Documents

Publication Publication Date Title
US4351982A (en) RSA Public-key data encryption system having large random prime number generating microprocessor or the like
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
US20130236012A1 (en) Public Key Cryptographic Methods and Systems
WO2001030020A1 (fr) Systeme de cryptage de cle a longueur variable
Zheng et al. Practical approaches to attaining security against adaptively chosen ciphertext attacks
Kota et al. Implementation of the RSA algorithm and its cryptanalysis
EP2742644B1 (en) Encryption and decryption method
CN111865555B (zh) 一种基于k-Lin假设的同态加密方法
US7248692B2 (en) Method of and apparatus for determining a key pair and for generating RSA keys
EP3455997A1 (en) Encryption for low-end devices through computation offloading
US20100150343A1 (en) System and method for encrypting data based on cyclic groups
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
Jamaludin et al. Hybrid Cryptosystem Analysis by Using The Combination of Vigenere Cipher and RSA for Text Security
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
JPH08102734A (ja) 公開鍵暗号方法及び公開鍵暗号システム
Mihalkovich et al. MPF based symmetric cipher performance comparison to AES and TDES
JPH0736672A (ja) 乱数発生器、及びそれを用いた通信システム及びその方法
JP3694242B2 (ja) 署名付き暗号通信方法及びその装置
Paar Applied cryptography and data security
Shepherd et al. The quadratic residue cipher and some notes on implementation
Kumar et al. A comparative analysis of encryption algorithms for better utilization
Reddy et al. Analysis and performance characteristics of cryptosystem using image files
Umamaheswaran et al. An algorithm for encrypting/decrypting textual messages
JP3634097B2 (ja) 暗号通信システム
Diko et al. RSA & EXTENDED EUCLIDEAN ALGORITHM WITH EXAMPLES OF EXPONENTIAL RSA CIPHERS, RSA EXAMPLE SOLUTION WITH EXTENDED EUCLIDEAN ALGORITHM

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees