JP3740659B2 - ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 - Google Patents
ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 Download PDFInfo
- Publication number
- JP3740659B2 JP3740659B2 JP2001010247A JP2001010247A JP3740659B2 JP 3740659 B2 JP3740659 B2 JP 3740659B2 JP 2001010247 A JP2001010247 A JP 2001010247A JP 2001010247 A JP2001010247 A JP 2001010247A JP 3740659 B2 JP3740659 B2 JP 3740659B2
- Authority
- JP
- Japan
- Prior art keywords
- satisfying
- public key
- integer
- random number
- calculating
- 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
Links
Images
Description
【発明の属する技術分野】
この発明はナップサック型公開鍵暗号システムとその公開鍵の生成方法及びその装置、そのプログラム及びその記録媒体に関する。
【0002】
【従来の技術】
公開鍵暗号システムは、その安全性をよりどころとする問題により類別される。このような、よりどころとなる問題としては、素因数分解問題、離散対数問題、ナップサック問題などが挙げられる。これらの問題のうち、ナップサック問題を安全性のよりどころとする公開鍵暗号システムとしては、Markle−Hellmar暗号やChor−Rivest暗号などがあるが、そのいずれについても攻撃が成功した例が報告されている。また、これらの鍵生成処理における動作速度は非常に遅いことが知られている。
【0003】
【発明が解決しようとする課題】
この発明の目的はナップサック問題を安全性のよりどころとし、解読が困難であり、鍵生成処理を含むすべての処理速度が高速である新しい公開鍵暗号システムとその公開鍵生成方法及びその装置を提供することにある。
【0004】
【課題を解決するための手段】
この発明では乱数pij(i=1,…,n,j=1,…,h)と、乱数gi ,pj に対し、pij≡gj aij(modpj)を満すaijを計算し、ai =(ai1,…,aih)を中国人剰余定理を用いることにより、鍵生成処理で行う離散対数の計算及び復号処理を高速化している。つまり、従来ではpi=gi ai(modi)を満たすai を直接求めていたため、その計算に長時間を要し、かつai を短かくすると、攻撃に対し弱いものとなる。
【0005】
また、長さ[log nCk]の平文を長さnでHamming(ハミング)重さkである二進列に変換することにより、方式の安全性を高めている。
【0006】
【発明の実施の形態】
この発明で用いる公開鍵暗号システムの実施の形態について、図を参照して説明する。このシステムは鍵生成装置と暗号化装置と復号装置とよりなる。
鍵生成装置:(図1)
Kを代数体、OKをKの整数環、n,k,hを整数とする。nは整数環OKの箇数であり、例えば1000などの大きな値であり、kは例えば200程度、hは例えば10程度である。n,kは公開される。
【0007】
図1にこの発明の公開鍵生成装置の実施形態を示す。K,OK,n,k,hがキーボードなどの入力部100から入力され、これらの値は記憶部110に一旦格納され、その後、これらが取り出されて乱数発生器101に入力される。乱数発生器101はOKのh個の素イデアルp1,…,phを1<j<hを満す各jに対して、群(OK/pj)(ただしゼロを除く)の生成元gj,つまりg1,…,ghを1<i<n,1<j<hを満す各i,jに対して、pjを除いたOK/pjからの元pij、つまりp11,…,p1h,p21,…,p2h,……,pn1,…,pnhを発生させる。
【0008】
素イデアルp1,…,phが乗算器102に入力されこれらの積p=p1,…phが求められる。
またp1,…,ph1,g1,…,gh,p11,…,p1h,p21,…,p2h,……,pn1…pnhが離散対数計算器103に入力されて、
1<i<n,1<j<hを満す各i,jに対して
pij≡gj aij(modpj) …(1)
を満たすようなaijが計算される。
【0009】
さらに、g1,…,gh,aij(i=1,2,…,n,j=1,2,…,h)が中国人剰余定理による合成器104に入力され、1<i<nを満す各iに対して、
g=(g1,…,gh)
ai=(ai1,…,aih)
を満たすg,a1,…,anが計算される。
乱数発生器105を用いて整数dが発生され、このd,ai,pが加算器106に入力され、
1<i<nを満す各iに対して、
bi=(ai+d)mod(N(p)−2) …(2)
が計算され、最終的に公開鍵b1,…,bnが出力され、公開される。p,pij,gは秘密鍵であり、これらは乱数dと共に記憶部110に秘密に記憶される。整数dは例えば0〜N(p)−1程度、これ以上でもよく、またdは乱数発生器101から発生させてもよい。
暗号化処理:(図2)
暗号装置は図2に示すように記憶部200に、公開情報n、k、公開鍵b1,…,bnが格納されている。入力される平文Mの長さは[log nCk]である。logは2を程とし、nCkはnからkを取り出す組合せの数、[A]はA以上の最小の整数を表す。
【0010】
この平文Mは平文変換器201でHamming重さがk(1の数がk個)のnビットの2進列m=(m1,m2,…,mn)に変換される。この変換は例えばqをkとし、i=1からnまで以下のことを実行する。
M> n-iCqであれば、miを1とし、M− n-iCq-1をMとし、q−1をqとし、M> n-iCqでなければ、miを0とする。ただしq>0に対し qC0=0とし、q>1に対し 0Cq=0とする。
この2進列mと、公開鍵biとが加算器202に入力されて、
c=Σi=1 n mibi …(3)
の計算が行われ、暗号文cが出力される。
復号処理:(図3)
図3に復号装置を示す。記憶部300にはp,pij,pj,g,k,dが記憶されてある。入力された暗号文cとk,d,pが減算器301に入力されて、
r=(c−kd)mod(N(p)−2) …(4)
N(p)はpのノルム
が計算される。その計算結果rとg,pがべき乗演算器302に入力されて、
u=gr mod p …(5)
が計算される。この計算結果uとpi,j,pjが検査器303に入力され、検査器303では、長さnでHamming重さkである2進列m=(m1,…,mn)を、その1<j<nを満たす各jに対してpijがu mod pjを割り切るならばm1=1とされ、そうでなければmi=0とされる。このようにして2進列mが復号される。この復号された2進列mが中間復号文変換器304にn,kと共に入力されて、m=(m1,…,mn)が平文Mに変換され、復号平文Mが出力される。この変換は例えばMを0とし、qをhとし、i=1からnまで下記を実行する。
【0011】
miが1であればM+ p-iCqをMとし、q−1をqとする。
所で式(5)に式(4)を代入すると
u≡gc-hd mod p …(6)
となり、式(3)よりgの指数は、
Σi=1 n mibi−kd
となり、式(2)よりbi=(ai+d)であり、2進列m中のk個が1であるからgの指数は、
Σi=1 n mibi mod p
となる。この指数を式(5)に代入して、指数の積の形式に変形すると
u≡Πi=1 n(gai)mi mod p
となる。式(1)の関係から
u≡Πi=1 n pi mi
となる。従ってuをpijが割り切るならばmi=1とし、そうでなければ、mi=0として、2進列mが復号される。
【0012】
図1に示した公開鍵生成装置、図2に示した暗号装置、図3に示した復号装置は、それぞれコンピュータによりプログラムを実行させて機能させることができる。つまり例えば公開鍵生成装置は入力手段、出力手段、記憶部110、公開鍵生成プログラムを格納したプログラムメモリ、CPU(マイクロプロセッサ)などを備えるコンピュータにおいて、CPUにより公開鍵生成プログラムを実行させて、前述したように公開鍵giを生成させるようにすることもできる。
【0013】
【発明の効果】
この発明によれば、鍵生成処理における離散対数の計算について中国人剰余定理を用いることにより高速化している。また、中国人剰余定理を用いることにより復号処理も高速化している。
つまり従来においてはa1,…,anを式(1)の離散対数計算により直接求めていた。例えばhを10とすると、aiは100となり、このような大きな値の指数を求めるには非常に長い時間がかかる。よってaiの値を小さくすると、攻撃され易いものとなる。しかし、この発明によれば、aijに分割しているためaijは例えば10程度の値で済み、比較的簡単にaijを求めることができ、しかも、中国人剰余定理によりai=(ai1,…,aih)を比較的簡単に求めることができ、全体として高速化することができ、かつ攻撃に対しても強いものとすることができる。
【0014】
暗号化処理と復号処理において、長さ[log(k n)]の平文を長さnでHamming重さkである2進列へ変換することにより、ナップサック暗号の安全性の指標である密度を十分に高めることができ、したがって、平文から暗号文を直接求める低密度攻撃にも耐えうる。
【図面の簡単な説明】
【図1】この発明のシステム中の公開鍵生成装置の機能構成例を示す図。
【図2】この発明のシステム中の暗号化装置の機能構成例を示す図。
【図3】この発明のシステム中の復号装置の機能構成例を示す図。
Claims (5)
- 代数体K、Kの整数環OK 、整数n,k,hが入力され、
Ok のh個の素イデアルp1 ,…,ph を生成し、
p1 ,…,ph を乗算してpを求め、
1<j<hを満す各jに対して、群OK /pj (ただし0を除く)の生成元gj を生成し、
1<i<n,1<j<hを満す各i,jに対して、pj を除いたOK からの元pijを生成し、
1<i<n,1<j<hを満す各i,jに対して、pij≡gj aij(mod pj)を満すaijを計算し、
中国人剰余定理による合成により、
g=(g1 ,…,gh )
ai =(ai1,…,aih)
を満すg,a1 ,…,an を求め、
整数の乱数dを生成し、
1<i<nを満す各iに対して、bi =(ai +d)mod(N(p)−2)(N(p)はpのノルムを表わす)を計算して公開鍵bi を公開し、p,gを秘密鍵とする公開鍵生成器と、
長さ[log nCk ]の平文Mが入力され、(nCk はnからk個取出す組合せの数、[A]はAより大きい最小の整数)
整数kと公開鍵bi とMを、長さnでHamming(ハミング)重さkである二進列m=(m1 ,m2 ,…,mn)に変換し、
暗号文c=Σi=1 nmi bi を生成して出力する暗号器と、
k,d、秘密鍵p,gを保持し、
暗号文cが入力されr=(c−kd)mod(N(p)−2)を生成し、
u=grmodpを求め、
長さnで、Hamming重さkである二進列m=(m1 ,…,mn )を、1<j<nを満す各jに対して、pijがumodpj を割り切るならばmi =1とし、そうでないならばmi =0と生成し、
そのmを平文Mに変換する復号器とを備える
ことを特徴とするナップサック型公開鍵暗号システム。 - ナップサック型公開鍵暗号の公開鍵生成方法であって、
代数体K、Kの整数環をOK とし、n,k,hを整数とし、
OK のh個の素イデアルp1 ,…,ph を乱数発生器より生成し、
1<j<hを満す各jについて、群OK /pj (ただし0を含まない)の生成元gj を乱数発生器より生成し、
1<i<n,1<j<hをそれぞれ満たす各i,jについてpj を除いたOK からの元pijを乱数発生器より生成し、
1<i<n,1<j<hをそれぞれ満す各i,jについてpij≡gj aij(modpj)を満すaijを演算手段により計算し、
中国人剰余定理による合成により、
g=(g1 ,…,gh )
ai =(ai1,…,aih)
を満すg,a1 ,…,an を演算手段により求め、
整数dを乱数発生器より生成し、
1<i<nを満す各iについてbi =(ai +d)mod(N(p)−2)を演算手段により計算して公開鍵bi を得ることを特徴とするナップサック型公開鍵生成方法。 - 代数体Kの整数環をOK とし、n,k,hを整数とし、
K,OK ,n,k,hが入力され、OK のh個の素イデアルp1 ,…,ph と、1<j<hを満す各jに対し、群OK /pj (ただし0を除く)の生成元gj と、1<i<n,1<j<hをそれぞれ満すijに対して、pj を除いたOK からの元pijと、整数dとを生成する乱数発生器と、
1<i<n,1<j<hを満す各ijについてpij,gi ,pj が入力され、pij≡gj aijmodpjを満すaijを計算して出力する離散対数計算量と、
gi(i=1,…,h),aij(i=1,…,n,j=1,…,h)が入力され、中国人剰余定理により、g=(g1 ,…,gh )、ai =(ai1,…,aih)をそれぞれ計算する中国人剰余定理合成器と、
dとai(i=1,…,n)、N(p)が入力され、(N(p)はpのノルムを表わす)
bi =(ai +d)mod(N(p)−2)
を計算して公開鍵bi(i=1,…,n)を得る加算器と
を具備するナップサック型公開鍵生成装置。 - ナップサック型公開鍵暗号の公開鍵を生成するためにコンピュータを、
代数体K、Kの整数環をOK とし、n,k,hを整数とし、
OK のh個の素イデアルp1 ,…,ph を乱数により生成する手段、
1<j<hを満す各jについて、群OK /pj (ただし0を含まない)の生成元gj を乱数により生成する手段、
1<i<n,1<j<hをそれぞれ満たす各i,jについてpj を除いたOK からの元pijを乱数により生成する手段、
1<i<n,1<j<hをそれぞれ満す各i,jについてpij≡gj aij(modpj)を満すaijを演算する手段、
中国人剰余定理による合成により、
g=(g1 ,…,gh )
ai =(ai1,…,aih)
を満すg,a1 ,…,an を演算する手段、
整数dを乱数により生成する手段、
1<i<nを満す各iについて公開鍵bi =(ai +d)mod(N(p)−2)を演算する手段、
として機能させるためのナップサック型公開鍵生成プログラム。 - ナップサック型公開鍵暗号の公開鍵を生成するためにコンピュータを、
代数体K、Kの整数環をOK とし、n,k,hを整数とし、
OK のh個の素イデアルp1 ,…,ph を乱数により生成する手段、
1<j<hを満す各jについて、群OK /pj (ただし0を含まない)の生成元gj を乱数により生成する手段、
1<i<n,1<j<hをそれぞれ満たす各i,jについてpj を除いたOK からの元pijを乱数により生成する手段、
1<i<n,1<j<hをそれぞれ満す各i,jについてpij≡gj aij(modpj)を満すaijを演算する手段、
中国人剰余定理による合成により、
g=(g1 ,…,gh )
ai =(ai1,…,aih)
を満すg,a1 ,…,an を演算する手段、
整数dを乱数により生成する手段、
1<i<nを満す各iについて公開鍵bi =(ai +d)mod(N(p)−2)を演算する手段
として機能させるためのナップサック型公開鍵生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001010247A JP3740659B2 (ja) | 2001-01-18 | 2001-01-18 | ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001010247A JP3740659B2 (ja) | 2001-01-18 | 2001-01-18 | ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002215024A JP2002215024A (ja) | 2002-07-31 |
JP3740659B2 true JP3740659B2 (ja) | 2006-02-01 |
Family
ID=18877593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001010247A Expired - Fee Related JP3740659B2 (ja) | 2001-01-18 | 2001-01-18 | ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3740659B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4563037B2 (ja) * | 2003-01-24 | 2010-10-13 | シャープ株式会社 | 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法 |
JP4685621B2 (ja) * | 2005-12-20 | 2011-05-18 | 日本電信電話株式会社 | 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム |
-
2001
- 2001-01-18 JP JP2001010247A patent/JP3740659B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002215024A (ja) | 2002-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020253234A1 (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
CN109039640B (zh) | 一种基于rsa密码算法的加解密硬件系统及方法 | |
US7912216B2 (en) | Elliptic curve cryptosystem optimization using two phase key generation | |
JP2000187438A (ja) | 楕円曲線暗号実行方法及び装置並びに記録媒体 | |
US20030152218A1 (en) | Cryptography method on elliptic curves | |
US6480606B1 (en) | Elliptic curve encryption method and system | |
EP3776305B1 (en) | Using cryptographic blinding for efficient use of montgomery multiplication | |
JP3740659B2 (ja) | ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 | |
CN114629665B (zh) | 一种用于可信计算的硬件平台 | |
CN115865302A (zh) | 一种具有隐私保护属性的多方矩阵乘法计算方法 | |
Babenko et al. | Euclidean division method for the homomorphic scheme ckks | |
WO2022172041A1 (en) | Asymmetric cryptographic schemes | |
CN111614465A (zh) | 基于超奇异同源秘钥封装协议的公钥生成方法和装置 | |
Ali | New most efficient state recovery attacks on an estream candidate f-fcsr-h v2 and f-fcsr-h stream ciphers | |
JP3615133B2 (ja) | 代数体を用いた公開鍵暗号化復号方法及びシステム | |
JP3615132B2 (ja) | 公開鍵暗号化復号方法及びシステム | |
CN118233081B (zh) | 一种基于neon指令集的国密sm2底层模乘优化方法 | |
CN113986199A (zh) | 一种基于余数系统的同态乘法硬件计算系统及计算方法 | |
JPH11161164A (ja) | 公開鍵暗号方式と暗号化装置および復号装置 | |
US7480380B2 (en) | Method for efficient generation of modulo inverse for public key cryptosystems | |
US20230327851A1 (en) | Secure multi-party computation methods and apparatuses | |
JP3966714B2 (ja) | 暗号処理方法、そのプログラム及びその記録媒体 | |
Lakshmivarahan | Algorithms for public key cryptosystems: theory and application | |
JP2005316038A (ja) | 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびプログラム | |
JP2004205870A (ja) | 超楕円曲線スカラー倍演算方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051011 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051027 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111118 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111118 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121118 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121118 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131118 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |