JPH11338852A - 素数生成方法及び素数生成装置並びに暗号システム - Google Patents

素数生成方法及び素数生成装置並びに暗号システム

Info

Publication number
JPH11338852A
JPH11338852A JP14482998A JP14482998A JPH11338852A JP H11338852 A JPH11338852 A JP H11338852A JP 14482998 A JP14482998 A JP 14482998A JP 14482998 A JP14482998 A JP 14482998A JP H11338852 A JPH11338852 A JP H11338852A
Authority
JP
Japan
Prior art keywords
prime
prime number
candidate
generating
generated
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.)
Pending
Application number
JP14482998A
Other languages
English (en)
Inventor
Masao Kasahara
正雄 笠原
Yasumichi Murakami
恭通 村上
Yoshizo Sato
義三 佐藤
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.)
Murata Machinery Ltd
Kasahara Masao
Original Assignee
Murata Machinery Ltd
Kasahara Masao
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 Murata Machinery Ltd, Kasahara Masao filed Critical Murata Machinery Ltd
Priority to JP14482998A priority Critical patent/JPH11338852A/ja
Publication of JPH11338852A publication Critical patent/JPH11338852A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 暗号系において利用される素数を効率良く生
成する方法を提供する。 【解決手段】 所定の素数以下の各素数で割り切れない
素数候補を生成し、生成した素数候補が素数であるか否
かを判定する。式(A)〜(D)の何れかに従って素数
候補PE ′,PE1′,PE2′,PE+′の何れかを生成し
(S1)、生成した素数候補に、確率的素数判定法また
は確定的素数判定法による素数判定を行う(S3)。 【数1】

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、素数を生成する方
法及び装置、並びに、生成した素数を利用する暗号シス
テムに関する。
【0002】
【従来の技術】高度情報化社会と呼ばれる現代社会で
は、コンピュータネットワークを基盤として、ビジネス
上の重要な文書・画像情報が電子的な情報という形で伝
送通信されて処理される。このような電子情報は、容易
に複写が可能である、複写物とオリジナルとの区別が困
難であるという性質があり、情報保全の問題が重要視さ
れている。特に、「コンピュータリソースの共有」,
「マルチアクセス」,「広域化」の各要素を満たすコン
ピュータネットワークの実現が高度情報化社会の確立に
不可欠であるが、これは当事者間の情報保全の問題とは
矛盾する要素を含んでいる。このような矛盾を解消する
ための有効な手法として、人類の過去の歴史上主として
軍事,外交面で用いられてきた暗号技術が注目されてい
る。
【0003】暗号とは、情報の意味が当事者以外には理
解できないように情報を交換することである。暗号にお
いて、誰でも理解できる元の文(平文)を第三者には意
味がわからない文(暗号文)に変換することが暗号化で
あり、また、暗号文を平文に戻すことが復号であり、こ
の暗号化と復号との全過程をまとめて暗号系と呼ぶ。暗
号化の過程及び復号の過程には、それぞれ暗号化鍵及び
復号鍵と呼ばれる秘密の情報が用いられる。復号時には
秘密の復号鍵が必要であるので、この復号鍵を知ってい
る者のみが暗号文を復号でき、暗号化によって情報の秘
密性が維持され得る。
【0004】暗号化鍵と復号鍵とは、等しくても良い
し、異なっていても良い。両者の鍵が等しい暗号系は、
共通鍵暗号系と呼ばれ、米国商務省標準局が採用したD
ES(Data Encryption Standards)はその典型例であ
る。また、両者の鍵が異なる暗号系の一例として、公開
鍵暗号系と呼ばれる暗号系が提案された。この公開鍵暗
号系は、暗号系を利用する各ユーザが暗号化鍵と復号鍵
とを一対ずつ作成し、暗号化鍵を公開鍵リストにて公開
し、復号鍵のみを秘密に保持するという暗号系である。
公開鍵暗号系では、この一対となる暗号化鍵と復号鍵と
が異なり、一方向性関数を利用することによって暗号化
鍵から復号鍵を割り出せないという特徴を持たせてい
る。
【0005】公開鍵暗号系は、暗号化鍵を公開するとい
う画期的な暗号系であって、高度情報化社会の確立に必
要な上述した3つの要素に適合するものであり、情報通
信技術の分野等での利用を図るべく、その研究が活発に
行われ、典型的な公開鍵暗号系としてRSA暗号系が提
案された。このRSA暗号系は、一方向性関数として素
因数分解の困難さ(素因数分解問題)を利用して実現さ
れている。また、離散対数を解くことの困難さ(離散対
数問題)を利用した公開鍵暗号系も種々の手法(ElGama
l 暗号系等)が提案されている。
【0006】以上のように、現代の暗号系には、素因数
分解問題,離散対数問題を利用したものが多く展開され
ており、その暗号系を体系化するためには素数の問題が
極めて重要である。よって、真に素数である整数を短時
間で効率良く生成する手法の開発が望まれている。
【0007】一般的に素数を生成する場合には、まず、
素数候補を生成し、生成した素数候補が素数であるか否
かを判定(素数判定)し、素数と判定されたものを素数
として生成する。この素数判定には、Rabin 法等の確率
的素数判定法とPocklington法等の確定的素数判定法と
がある。確率的素数判定法と確定的素数判定法とを比較
すると、前者の判定法は、判定誤差が0ではないが処理
時間は短く、後者の判定法は、処理時間は長いが判定誤
差が0であるという特徴を有している。
【0008】また、素数判定にかける素数候補を生成す
るための標準的な方法として、方式Pと方式Cとが知ら
れている。以下、これらの素数候補生成方式について簡
単に説明する。
【0009】(方式P)方式Pでは、奇数をランダムに
発生させて素数候補P′とする。また、以下のように仮
定する。なお、本明細書では、「′」は素数候補である
ことを意味するものとする。 (仮定1):ランダムに選んだ奇数を任意の素数pで割
った余りは等頻度で0,1,2,…,p−1の値とな
る。
【0010】奇数の素数候補P′が素数になるために
は、P′がその平方根以下のいかなる素数でも割り切れ
ないことが必要十分条件である。生成した素数候補が素
数となる確率を「素数の出現確率」と定義すると、方式
Pによる素数の出現確率Prob(P)は、(仮定1)より
下記式(1)のように見積もることができる。
【0011】
【数5】
【0012】(方式C)qが素数であり、かつ、Pc=
2q+1が素数である場合、qはSophie Germain素数と
呼ばれている。また、このような素数PcをC素数と定
義する。方式Cでは、奇数qをランダムに発生させ、P
c′=2q+1となる数Pc′を素数候補とする。ま
た、以下のように仮定する。 (仮定2):素数は十分均等に分布しており、ランダム
に選んだ素数を任意の素数pで割った余りは等頻度で
1,2,…,p−1の値となる。
【0013】方式Cによる素数の出現確率(以下、この
確率をC素数の出現確率という)Prob(C)は、(仮定
2)より下記式(2)のように見積もることができる。
【0014】
【数6】
【0015】p≠Pである任意の素数pはPを割り切ら
ないので、P modp∈Zp *となる。Zp *は乗法群を
なすので、p≠2である場合に下記式(3)が成立す
る。
【0016】
【数7】
【0017】ここで、(仮定2)より、式(3)は等頻
度で1,2,…,p−2,p−1の値をとるため、P
c′(modp)は等頻度で2,3,…,p−1,0の値を
とる。従って、Pc′がpで割り切れる確率は下記式
(4)となるので、式(2)によりC素数の出現確率を
見積もることができる。
【0018】
【数8】
【0019】方式Pによる素数の出現確率Prob(P)と
C素数の出現確率Prob(C)との比、つまり、式(1)
と式(2)との比rn を下記式(5)のように定める。
【0020】
【数9】
【0021】以下、式(5)のrn が収束することをは
さみうち法により示す。任意のiについて、pi −p
i-1 ≧2となるので、下記式(6)及び(7)が成立す
る。
【0022】
【数10】
【0023】ここで、sn を下記式(8)のように設定
し、式(5)及び(8)を用いて式(7)を書き換える
と、下記式(9)及び(10)が成立する。
【0024】
【数11】
【0025】ここで、ζ(・)をゼータ関数とすると、
それは下記式(11)で定義され、これを用いると、ζ
(2)=π2 /6より、下記式(12)が成立する。
【0026】
【数12】
【0027】また、式(10)において、rk /sk-1
単調に増加し、rk /sk は単調に減少するので、はさ
みうち法によって、式(5)で示されるrn は収束す
る。
【0028】上限と下限との比は下記式(13)で示さ
れ、kの値を増やすと高速に1に近づきその収束速度は
非常に速い。k=10000 とし、式(12)を用いてC素数
の出現確率の比の極限値を計算した結果、下記式(14)
で示すような値を得た。
【0029】
【数13】
【0030】整数xまでに存在するC素数候補の数は、
x/2までに存在する素数の個数に等しく、これらの候
補の個数にC素数の出現確率を乗算した結果が、x以下
に存在するC素数の個数となる。このことからC素数の
個数は、下記式(15)のように予想できる。よって、C
素数が無限に存在することは理論的には証明さてれてい
ないが、実用上十分に多くのC素数が存在していること
がわかる。
【0031】
【数14】
【0032】計算機で方式Cにより素数候補Pc′を32
ビットから200 ビットまで6ビット毎にそれぞれ10000
回発生させ、素数になる数を計数し、C素数の出現確率
を計算した。その計算結果を、方式Pによる素数の出現
確率と併せて図8に示す。なお、方式Pによる素数の出
現確率の予測値は、下記式(16)に示す素数定理より、
i (x)を用いて計算した。C素数の出現確率の予測
値は、方式Pの予測値を0.6602倍したものを使用した。
この結果より、実際の出現確率と予測値とがほぼ一致し
ていることを確認できる。また、C素数の出現確率の方
が方式Pによる素数の出現確率より小さいことがわか
る。
【0033】
【数15】
【0034】
【発明が解決しようとする課題】上述したような従来の
方式Pではランダムに発生した奇数を素数候補とするの
で、素数の出現確率が低く、効率が悪いという問題があ
る。つまり、ランダムな奇数発生では、3の倍数となる
素数候補が1/3の確率で発生し、また、5の倍数,7
の倍数,…となる素数候補が1/5,1/7,…の確率
で発生する。よって、明らかに素数でない奇数について
も素数判定を行うことになるので、素数の出現確率が低
くなり、また、無駄な素数判定を行うことになって全体
の処理時間が長くなって効率が悪くなる。
【0035】本発明は斯かる事情に鑑みてなされたもの
であり、素数の出現確率が高くて、より効率的に素数を
生成することができる素数生成方法及び装置並びに生成
した素数を利用する暗号システムを提供することを目的
とする。
【0036】本発明の他の目的は、暗号を打ち破る攻撃
(素因数分解法(P−1法))に対して強い素数を生成
できる素数生成方法及び装置並びに生成した素数を利用
する暗号システムを提供することにある。
【0037】
【課題を解決するための手段】本発明に係る素数生成方
法は、素数を生成する方法において、所定の素数以下の
各素数で割り切れない素数候補を生成するステップと、
生成した素数候補が素数であるか否かを判定するステッ
プとを有することを特徴とする。
【0038】本発明に係る他の素数生成方法は、素数を
生成する方法において、下記式(A)に従って素数候補
E ′を生成するステップと、生成した素数候補PE
が素数であるか否かを判定するステップとを有すること
を特徴とする。
【0039】
【数16】
【0040】本発明に係る更に他の素数生成方法は、素
数を生成する方法において、下記式(B)に従って素数
候補PE1′を生成するステップと、生成した素数候補P
E1′が素数であるか否かを判定するステップとを有する
ことを特徴とする。
【0041】
【数17】
【0042】本発明に係る更に他の素数生成方法は、素
数を生成する方法において、下記式(C)に従って素数
候補PE2′を生成するステップと、生成した素数候補P
E2′が素数であるか否かを判定するステップとを有する
ことを特徴とする。
【0043】
【数18】
【0044】本発明に係る更に他の素数生成方法は、素
数を生成する方法において、下記式(D)に従って素数
候補PE+′を生成するステップと、生成した素数候補P
E+′が素数であるか否かを判定するステップとを有する
ことを特徴とする。
【0045】
【数19】
【0046】本発明に係る素数生成装置は、素数を生成
する装置において、所定の素数以下の各素数で割り切れ
ない素数候補を生成する手段と、生成した素数候補が素
数であるか否かを判定する手段とを備えることを特徴と
する。
【0047】本発明に係る暗号システムは、平文を暗号
化鍵を用いて暗号文に変換する暗号化器と、前記暗号文
を復号鍵を用いて前記平文に変換する復号器とを備え、
前記暗号化鍵及び/または復号鍵に素数を利用する暗号
システムにおいて、所定の素数以下の各素数で割り切れ
ない素数候補を生成する手段と、生成した素数候補が素
数であるか否かを判定する判定手段とを備え、該判定手
段により素数と判定されたものを前記暗号化鍵及び/ま
たは復号鍵に利用する前記素数とすべくなしたことを特
徴とする。
【0048】本発明に係る他の暗号システムは、平文を
暗号化鍵を用いて暗号文に変換する暗号化器と、前記暗
号文を復号鍵を用いて前記平文に変換する復号器とを備
え、前記暗号化鍵及び/または復号鍵に素数を利用する
暗号システムにおいて、前記素数として、上述の素数生
成方法の何れかに従って生成した素数を用いるように構
成したことを特徴とする。
【0049】本発明に係る更に他の暗号システムは、上
述の構成において、前記暗号化鍵が公開鍵でり、前記復
号鍵が秘密鍵であることを特徴とする。
【0050】本発明では、小さな素数(2,3,5,
7,11,…)では割り切れない整数を素数候補として生
成する。具体的には式(A)で示される素数候補PE
を生成する。そして、その素数候補PE ′に素数判定を
施して素数を生成する。このようにして素数候補PE
を生成するので、得られる素数候補PE ′が最初から小
さな素数の倍数になっていないため、素数の出現確率は
高くなる。また、無駄な素数判定が少なくなって、全体
の処理時間を短くできる。なお、式(A)において、n
の値を大きくすれば、素数候補PE ′を求める処理時間
は長くなるが、素数の出現確率は高くなる。
【0051】この式(A)を改良して、素数候補
E1′,PE2′を生成するための式が(B),(C)で
ある。これらの式(B),(C)によれば、乗算する小
さい素数に重複を許すようにしたので、式(A)を利用
する場合に比べて、より多くの素数候補を生成でき、こ
の結果、多くの素数を求めることができる。
【0052】また、式(A)を改良して、素数候補
E+′を生成するための式が(D)である。この式
(D)によれば、PE+′から1を引いた数が小さな因数
を持ちにくくなり、式(A)を利用する場合に比べて、
素因数分解法(P−1法)に強い素数を生成できる。
【0053】
【発明の実施の形態】以下、本発明をその実施の形態を
示す図面を参照して具体的に説明する。図1は、本発明
における暗号システムの一例を示す構成図であり、図1
は前述した公開鍵暗号系の1つであるRSA暗号系の構
成を示している。暗号化器1が平文Mを暗号化鍵(e,
N)を用いて暗号化して暗号文Cを作成し、復号器2が
この暗号文Cを元の平文Mに復号鍵(d,N)を用いて
復号する状態を示している。
【0054】ここで、暗号化Eと復号Dのアルゴリズム
は、べき乗剰余演算を用いて次のように表される。 C=E(M)=Me (mod N) M=D(C)=Cd (mod N) 但し、e・d≡1(mod lcm(p−1,q−1)) N=p・q(p,qは大きな素数) e,N:公開鍵 d:秘密鍵 lcm(Least Common Multiple ):最小公倍数
【0055】図2は、例えば図1に示すようなRSA暗
号系で利用される素数(p,q)を効率良く生成する本
発明の素数生成装置の構成図、図3は、その素数生成の
動作手順を示すフローチャートである。図2に示すよう
に、素数生成装置10は、素数候補P′を生成する素数候
補生成器3と、入力される素数候補P′に対して確率的
素数判定法または確定的素数判定法による素数判定を行
ってその判定結果を出力する素数判定器4とを有する。
【0056】素数候補生成器3は、後述する方式に従っ
て素数候補P′を生成し(ステップS1)、生成した素
数候補P′を素数判定器4へ出力する(ステップS
2)。素数判定器4は、確率的素数判定法または確定的
素数判定法に基づいて、入力された素数候補P′が素数
であるか否かを判定する(ステップS3)。その判定の
結果、素数である場合には(S4:YES)、その素数
候補P′を素数として出力し(ステップS5)、素数で
ない場合には(S4:NO)、その素数候補P′を非素
数として出力する(ステップS6)。
【0057】上述の動作において、本発明は、素数候補
P′を生成する方法に特徴があり、小さな素数で割り切
れない素数候補P′を生成することにより、効率的に素
数を生成できるようにしている。なお、素数判定は、一
般的な判定法を利用するので、その説明は省略する。
【0058】以下、本発明の特徴部分である素数候補生
成の方法について詳述する。本発明では、基本の素数候
補生成方式(方式E)とこれを改良した2つの素数候補
生成方式(方式E1,方式E2)と素因数分解法に強い
素数候補生成方式(方式E+)との4種の方式が存在す
る。これらの各方式について順次説明する。
【0059】(方式E)下記式(A)に従って、素数候
補PE ′を生成する。なお、nは適当に設定し、mを選
択することにより素数候補PE ′を生成できる。
【0060】
【数20】
【0061】式(A)は、複数の小さな素数の積(n>
mの場合:p1 2 …pm-1 m+1…pn 、n<mの場
合:p1 2 …pn )に、これらの各素数とは異なる別
の素数(pm )を加算して素数候補PE ′を生成してい
るので、この素数候補PE ′はn個の小さな素数
(p1 ,p2 ,…,pn )の何れの倍数にもなっていな
い。よって、従来例で説明したP方式に比べて、素数の
出現確率は高くなる。
【0062】この場合素数候補PE ′が素数となる確
率、即ち、方式Eによる素数の出現確率Prob(E)は、
下記式(17)のように見積もることができる。
【0063】
【数21】
【0064】素数候補PE ′が素数となる確率に関し
て、以下(i)〜(iii) のことが言える。 (i)任意の素数をpとすると、 (a)p<pn の場合 明らかにPE ′は素数pで割り切れない。 (b)p>pn の場合 前述の(仮定1)より、PE ′が素数pで割り切れない
確率は、下記式(18)となる。
【0065】
【数22】
【0066】(ii)PE ′は素数pm で割り切れない。 (iii)(i),(ii)より式(17)で方式Eによる素数
の出現確率を見積もることができる。
【0067】従って、下記式(19)のようにtn を定め
ると、方式Eは方式Pのtn 倍の出現確率で素数を生成
できる。
【0068】
【数23】
【0069】n=10からn=36まで変化させ、それぞれ
のnについて加える素数pm をpn+ 1 からpn+10000
して、方式Eによる素数の出現確率を計算した。その計
算結果を、図4に示す。なお、方式Pによる素数の出現
確率(理論値)も併せて図4に示す。方式Pと比較し
て、方式Eの素数の出現確率が、式(19)の予測値に従
って、t10(=3.16)〜t36(=4.55)倍程度に本当に
向上していることを確認できる。
【0070】図5は、この方式Eを実行する素数候補生
成器3の構成の一例を示すブロック図である。素数候補
生成器3は、p1 (=2)から所定の素数pt までの全
素数の積の値を格納している第1メモリ21と、p1 (=
2)から所定の素数pt までの各素数の値をテーブルと
して格納している第2メモリ22と、乗算・除算を行う乗
除器23と、加算を行う加算器24とを有する。
【0071】素数候補生成器3は、以下のようにして式
(A)に従った素数候補PE ′を生成する。p1 (=
2)から素数pt までの積の値(2・3・5・…・
t )を第1メモリ21から乗除器23に読み出し、この積
の値に、第2メモリ22から読み出した必要な素数の値の
乗算及び/または除算を行うことにより式(A)の前項
を算出し、算出結果を加算器24へ出力する。そして、そ
の算出結果に第2メモリ22から読み出した素数pm の値
を加算して、素数候補PE ′を求めて出力する。
【0072】なお、上記例では小さな各素数の値をテー
ブルとして第2メモリ22に格納するようにしたが、これ
らの各素数を生成する素数生成器を第2メモリ22に代え
て設けるようにしても良い。素数候補の生成に必要な素
数は小さな素数であるので、その素数生成処理に長い時
間を要することはなく、必要な素数をその都度生成する
ようにしても問題はない。
【0073】ところで、方式Eでは生成できる素数候補
の個数が少なく、方式Eで生成した素数を暗号系に利用
した場合、その生成法(各別の1個ずつの素数の積に更
に別の素数を加算する手法)を知っている攻撃者によっ
て素因数分解されて、暗号系は破綻する可能性がある。
また、異なる素数を多く掛け合わせる必要があるので、
素数候補が大きくなりすぎるという欠点がある。
【0074】そこで、掛け合わせる素数と加算する素数
とに工夫を施し、素数候補を多様化すると共に比較的小
さな素数生成にも適用できる本発明の他の方式(方式E
の改良となる方式E1及び方式E2)について説明す
る。この改良方式では、掛け合わせる素数に重複を許
し、生成できる素数候補を増やすようにする。
【0075】(方式E1)下記式(B)に従って、素数
候補PE1′を生成する。
【0076】
【数24】
【0077】式(B)に従って素数候補を生成した場
合、加える素数pm ,n次元整数ベクトルk(k≧0)
及びnを適当に選ぶことにより、生成する素数候補の個
数を十分多く増やすことができる。例えば、n=10,k
i をすべて1とし、m=11からm=10000 まで調べた結
果、範囲内の素数の約53%が含まれていた。よって、k
i を変えることにより更に多くの素数を含ませることが
でき、範囲内における殆どすべての素数を生成できる。
【0078】(方式E2)方式E1は、生成したい素数
の大きさが比較的小さい場合、掛け合わせる素数の個数
を減らさざるを得ず、効率が大きく改善されるとは言え
ない。そこで、方式E2では、pn 以下の素数をU∩V
=φである2つの素数集合U,V(但し、集合Uは2を
要素とし、集合Vは2を要素としない)に分け、下記式
(C)に従って、素数候補PE2′を生成する。
【0079】
【数25】
【0080】方式E1と同じ桁数の素数候補を生成した
い場合、方式E2では素数候補を割り切らない素数の個
数を増やすことができるので、素数の出現確率を改善す
ることができる。
【0081】ところで、素因数分解問題を利用した、例
えばRSA暗号系等の暗号系に素数を利用する場合、用
いる素数が素因数分解法の攻撃に強い素数であることが
望ましいことは勿論である。ところが、従来の方式P及
び上述の方式Eで生成した素数は、そこから1を引いた
数が小さな因数を多くもつ場合があり、P−1法に弱い
という問題がある。そこで、素数の積に加算する数を工
夫することにより、P−1法に強い本発明の他の方式
(方式E+)について説明する。
【0082】(方式E+)P−1法とは、N=PQ
(P,Q:素数)で表されるNについて、P−1が小さ
な素数の積のみからなる場合、素因数分解アルゴリズム
によってNの素因数分解が比較適容易に解けるという攻
撃法である。よって、P−1法に強いためには、素数か
ら1を引いた数が小さな因数を持たなければ良い。そこ
で、前述したC素数Pc=2q+1(q:Sophie Germa
in素数)を用いて素数候補を生成する。方式E+では、
PcをC素数として、下記式(D)に従って、素数候補
E+′を生成する。
【0083】
【数26】
【0084】式(D)に従って生成された後に素数と判
定された素数PE+から1を引くと、下記式(20)とな
り、右辺の括弧内は式(A)と同形になる。よって、P
E+−1は因数を持ちにくいことを予想できる。
【0085】
【数27】
【0086】方式E+で得られる素数のP−1法に対す
る強さについて説明する。P−1法に対する素数の強度
を評価するため、D(n)を下記式(21)のように定義
する。 D(n)=lcm(1,2,3,…,pn ) …(21)
【0087】次に、P−1法に対する強さの指標として
「レベル」という概念を以下のように定義する。 「レベル」:式(21)において、P−1がD(n)を割
り切ることができる最小のnをその素数のレベルと定義
し、Level(P)=nと表記する。つまり、素数Pのレベ
ルがnであれば、下記式(22)となる。
【0088】
【数28】
【0089】方式E+により64ビットの素数を10000 個
生成し、そのレベルを比較した。具体的には、最初の10
番目までのすべての素数と100 番目までの素数からラン
ダムに選んだ5個の素数とを乗算した数に、100000番目
までの素数からランダムに選んだC素数を加算して素数
候補PE+′を生成した。そのレベルの実験結果を図6に
示す。また、比較例として、方式Pにより64ビットの素
数を10000 個生成した場合のレベルの実験結果を図7に
示す。方式E+では、方式Pと比較して、レベルが高い
値に集中しており、P−1法に対して強化されているこ
とが理解できる。
【0090】
【発明の効果】以上のように、本発明では、小さな素数
では割り切れない素数候補を生成するようにしたので、
素数の出現確率が高くなり、より効率的に素数を生成す
ることが可能となる。また、素数候補の生成に用いる素
数の積と加える素数とを工夫するようにしたので、素数
候補に多様性を持たせることが可能である。また、1を
引いた数が小さな因数を持ちにくい素数候補を生成する
ようにしたので、素因数分解法(P−1法)に対して強
い素数を生成することが可能となる。このようなことに
より、素因数問題,離散対数問題を利用した暗号系の発
展に本発明は寄与できる。
【図面の簡単な説明】
【図1】RSA暗号系の構成を示す模式図である。
【図2】本発明の素数生成装置の構成図である。
【図3】本発明における素数生成の動作手順を示すフロ
ーチャートである。
【図4】本発明の方式(方式E)と従来の方式(方式
P)とにおける素数の出現確率を示すグラフである。
【図5】素数候補生成器の構成の一例を示すブロック図
である。
【図6】本発明の方式(方式E+)で生成した素数のP
−1法に対する強さの指標(レベル)を示すグラフであ
る。
【図7】従来の方式(方式P)で生成した素数のP−1
法に対する強さの指標(レベル)を示すグラフである。
【図8】従来の方式(方式P及び方式C)における素数
の出現確率を示すグラフである。
【符号の説明】
1 暗号化器 2 復号器 3 素数候補生成器 4 素数判定器 10 素数生成装置

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 素数を生成する方法において、所定の素
    数以下の各素数で割り切れない素数候補を生成するステ
    ップと、生成した素数候補が素数であるか否かを判定す
    るステップとを有することを特徴とする素数生成方法。
  2. 【請求項2】 素数を生成する方法において、下記式
    (A)に従って素数候補PE ′を生成するステップと、
    生成した素数候補PE ′が素数であるか否かを判定する
    ステップとを有することを特徴とする素数生成方法。 【数1】
  3. 【請求項3】 素数を生成する方法において、下記式
    (B)に従って素数候補PE1′を生成するステップと、
    生成した素数候補PE1′が素数であるか否かを判定する
    ステップとを有することを特徴とする素数生成方法。 【数2】
  4. 【請求項4】 素数を生成する方法において、下記式
    (C)に従って素数候補PE2′を生成するステップと、
    生成した素数候補PE2′が素数であるか否かを判定する
    ステップとを有することを特徴とする素数生成方法。 【数3】
  5. 【請求項5】 素数を生成する方法において、下記式
    (D)に従って素数候補PE+′を生成するステップと、
    生成した素数候補PE+′が素数であるか否かを判定する
    ステップとを有することを特徴とする素数生成方法。 【数4】
  6. 【請求項6】 素数を生成する装置において、所定の素
    数以下の各素数で割り切れない素数候補を生成する手段
    と、生成した素数候補が素数であるか否かを判定する手
    段とを備えることを特徴とする素数生成装置。
  7. 【請求項7】 平文を暗号化鍵を用いて暗号文に変換す
    る暗号化器と、前記暗号文を復号鍵を用いて前記平文に
    変換する復号器とを備え、前記暗号化鍵及び/または復
    号鍵に素数を利用する暗号システムにおいて、所定の素
    数以下の各素数で割り切れない素数候補を生成する手段
    と、生成した素数候補が素数であるか否かを判定する判
    定手段とを備え、該判定手段により素数と判定されたも
    のを前記暗号化鍵及び/または復号鍵に利用する前記素
    数とすべくなしたことを特徴とする暗号システム。
  8. 【請求項8】 平文を暗号化鍵を用いて暗号文に変換す
    る暗号化器と、前記暗号文を復号鍵を用いて前記平文に
    変換する復号器とを備え、前記暗号化鍵及び/または復
    号鍵に素数を利用する暗号システムにおいて、前記素数
    として、請求項1〜5の何れかに記載の方法により生成
    した素数を用いるように構成したことを特徴とする暗号
    システム。
  9. 【請求項9】 前記暗号化鍵が公開鍵でり、前記復号鍵
    が秘密鍵である請求項7または8記載の暗号システム。
JP14482998A 1998-05-26 1998-05-26 素数生成方法及び素数生成装置並びに暗号システム Pending JPH11338852A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14482998A JPH11338852A (ja) 1998-05-26 1998-05-26 素数生成方法及び素数生成装置並びに暗号システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14482998A JPH11338852A (ja) 1998-05-26 1998-05-26 素数生成方法及び素数生成装置並びに暗号システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001215684A Division JP3518680B2 (ja) 2001-07-16 2001-07-16 素数生成装置

Publications (1)

Publication Number Publication Date
JPH11338852A true JPH11338852A (ja) 1999-12-10

Family

ID=15371422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14482998A Pending JPH11338852A (ja) 1998-05-26 1998-05-26 素数生成方法及び素数生成装置並びに暗号システム

Country Status (1)

Country Link
JP (1) JPH11338852A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008525835A (ja) * 2004-12-22 2008-07-17 サジェム・デュフェンス・セキュリート 暗号計算を実行するための方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008525835A (ja) * 2004-12-22 2008-07-17 サジェム・デュフェンス・セキュリート 暗号計算を実行するための方法及び装置

Similar Documents

Publication Publication Date Title
Mallouli et al. A survey on cryptography: comparative study between RSA vs ECC algorithms, and RSA vs El-Gamal algorithms
Kahrobaei et al. Public key exchange using matrices over group rings
US5231668A (en) Digital signature algorithm
JP3862500B2 (ja) 直接埋め込み方式による高速楕円曲線暗号化の方法と装置
JP5690465B2 (ja) カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群
JP5572610B2 (ja) セキュリティ強化のための転置データ変換
RU2534944C2 (ru) Способ обеспечения безопасности связи в сети, используемые для этого устройство связи, сеть и компьютерная программа
JP2020052393A (ja) 素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム
US20240364533A1 (en) Quantum digital signature method and quantum digital signcryption method
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
Son et al. Conditional proxy re-encryption for secure big data group sharing in cloud environment
JP3518672B2 (ja) 素数生成装置及び暗号システム
Aljamaly et al. Undirected complete graph to design new public key cryptosystem
JP4485122B2 (ja) 公開鍵暗号システム,署名システム,暗号通信システム,秘密鍵生成器,公開鍵生成器及びコンピュータプログラム
Petit et al. Cryptographic hash functions and expander graphs: The end of the story?
JP2020052215A (ja) 公開鍵暗号システム、公開鍵暗号方法、公開鍵暗号プログラム
JP2000047581A (ja) 暗号化方法,暗号化・復号装置及び暗号通信システム
Tahat et al. A new digital signature scheme with message recovery using hybrid problems
Viswanath et al. A secure cryptosystem using the decimal expansion of an Irrational number
Ashraf et al. Message transmission for GH-public key cryptosystem
JPH11338852A (ja) 素数生成方法及び素数生成装置並びに暗号システム
Zahhafi et al. A DSA-like digital signature protocol
JP3518680B2 (ja) 素数生成装置
Fouotsa et al. InSIDH: a Simplification of SiGamal.
JP3240723B2 (ja) 通信方法、秘密通信方法及び署名通信方法