JP3615137B2 - ナップサック型公開鍵暗号システム及びその装置 - Google Patents

ナップサック型公開鍵暗号システム及びその装置 Download PDF

Info

Publication number
JP3615137B2
JP3615137B2 JP2000284575A JP2000284575A JP3615137B2 JP 3615137 B2 JP3615137 B2 JP 3615137B2 JP 2000284575 A JP2000284575 A JP 2000284575A JP 2000284575 A JP2000284575 A JP 2000284575A JP 3615137 B2 JP3615137 B2 JP 3615137B2
Authority
JP
Japan
Prior art keywords
mod
plaintext
input
integer
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.)
Expired - Fee Related
Application number
JP2000284575A
Other languages
English (en)
Other versions
JP2002091298A (ja
Inventor
圭介 田中
龍明 岡本
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 JP2000284575A priority Critical patent/JP3615137B2/ja
Publication of JP2002091298A publication Critical patent/JP2002091298A/ja
Application granted granted Critical
Publication of JP3615137B2 publication Critical patent/JP3615137B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は長さが[log)]([*]は*を超えない最大整数)、はn個からk個とった組合せの総数)ビットの平文を長さがnでハミング(Hamming)重みがkの二進列に変換して暗号化するナップサック型公開鍵暗号システム及びその装置に関する。
【0002】
【従来の技術】
公開鍵暗号システムは、その安全性のよりどころとする問題により類別される。このような、よりどころとなる問題としては、素因数分解問題、離散対数問題、ナップサック問題などが挙げられる。これらの問題のうち、ナップサック問題を安全性のよりどころとする公開鍵暗号システムとしては、Markle−Hellman暗号やChor−Rivest 暗号などがあるが、そのいずれについても攻撃が成功した例が報告されている。Chor−Rivest 暗号は例えば米国雑誌IEEE TRANS.ON INFORMATION THEORY,VOL.34,NO.5,SEP.,1988,pp.901 〜909 (文献1と呼ぶ)に示されている。
【0003】
【発明が解決しようとする課題】
この発明は、ナップサック問題を安全性のよりどころとし、従来よりも安全性の高い公開鍵暗号システム及びその装置を提供することを目的とする。
【0004】
【課題を解決するための手段】
この発明によれば、整数nとk(n>k)を決め、素数pと、互いに素である整数p,…,pと生成元gを生成し、1nの各iについてp≡gai(mod p)を満たすa,…,aを求め、更に整数sを決め、整数c,…,c,d,…,d,q,…,qを生成し、1nの各iについてbi,1 =(c+d)mod gを求め、更にj=2,3,4,…,sと順jを+1させ、その各jについてbi,j =(ci,j−1 +d)mod qを求め、p,g,p,…,p,c,…,c,d,…,d,q,…,qを秘密鍵として秘密に保持し、b1,s ,…,bn,s を公開鍵として公開すると共にn,kを公開し、
暗号化処理の際には、長さ[log)]([*]は*を超えない最大整数)ビットの平文Mを、長さnでハミング重みがkの二進列m=(m,m,…,m)に変換し、これに対し公開鍵を用いてc=Σi=1 i,sを生成して、暗号文cを出力し、
復号処理の際には、暗号文cと秘密鍵とからr=(c−kd)/cmod qを生成し、j=s−1,s−2,s−3,…,1と順次−1した各jについてr=(rj+1 −kd)/cmod qを生成し、その最後のrを用いてu=gr1mod pを求め、1nの各pについてpがuの因数であればn=1とし因数でなければm=0として、長さn、ハミング重さkの二進列を生成し、この二進列を平文Mに変換する。
【0005】
【発明の実施の形態】
この発明の実施例を以下に説明する。
(鍵生成処理:図1)
図1にこの発明の鍵生成処理装置の実施例を示す。この装置は整数nとkとsが入力されて、鍵生成処理を行う。nは大きな値である程、暗号の安全性が大となるが、例えば1000程度とされ、kはnより小さい整数であり、一般にlog nの整数倍であるが、例えば200程度とされ、sは1以上の整数であり、この値も大きい程、安全性が高くなるが、例えば10程度とされる。
【0006】
このnとkが乱数発生器101に入力され、乱数発生器101は{p,p,…,p}からの任意の部分集合{pi1,pi2,…,pik}がΠj=1 ij<pを満たすような素数pと、互いに素である数p,…,p∈Z/pZ、および、群(Z/pZ)の生成元gを発生させる。ここでZ/pZは素数pを法とする整数の体、つまり0,1,2,…,p−1の群であり、(Z/pZ)は0を含まない素数pを法とする整数の体である。つまりgは群(Z/pZ)の1要素である。
【0007】
次に、離散対数計算器102を用いて、1nの各iに対してp≡gai(mod p)を満たすようなa,…,aを求める。さらに、乱数発生器103に整数sが入力され、乱数発生器103から整数c,c,…,c,d,d,…,d,q,q,…,qを発生させる。
最後に、剰余乗算・加算器104を用いて、1nの各iに対して、bi,1 =(c+d)mod qを求め、さらにj=2,3,4,…,sの順に各jについてbi,j =(ci,j−1 +d)mod qを求め、最終的にb1,s ,b2,s ,…,bn,sを得る。このb1,s ,…,bn,s を公開鍵として公開し、またn,kを公開情報として公開し、p,g,p,…,p,c,…,c,d,…,d,q,…,qを秘密鍵として秘密に保持させる。
(暗号化処理:図2)
図2に暗号化処理装置の実施例を示す。記憶部200には図1に示した鍵生成処理装置で生成され、公開された公開鍵b1,s ,…,bn,s と公開情報n,kが記憶されている。入力される平文は、長さ[log)]ビット([*]は*を超えない最大整数、はn個からk個を取出す組合せの総数)ごとの平文Mに分割され、この平文Mは平文変換器201を用いて、長さnでHamming(ハミング)重さkである二進列m=(m,m,…,m)に変換される。つまり二進列m中の“1”の数はkであり、その他は“0”である。この二進列変換の手法は例えば前記文献1中に記載されてある。nは[log)]より大である。平文を長さ[log)]ごとに分割し、最後が[log)]よりも短くなった場合は例えば0を埋めて[log)]の長さにする。
【0008】
この二進列mと公開鍵とが加算器202に入力されて、その対応i番目のものとの乗算値が加算され、つまり、m中のm=1と対応するbi,s が加算されて、暗号文c=Σi=1 i,s を生成して出力する。
(復号処理:図3)
図3にこの発明の復号処理装置の実施例を示す。記憶部300には図1で述べた鍵生成処理装置で生成した秘密鍵p,g,p,…,p,c,…,c,d,…,d,q,…,qと公開情報n,kが格納されてある。これは、この復号処理装置に図1に示した鍵生成処理装置100が設けられ、この装置100で生成された秘密鍵が記憶部300に秘密に記憶され、または他の所で生成された秘密鍵を秘密に記憶部300に格納してもよい。
【0009】
まず剰余乗算・減算・割算器301に暗号文cと、秘密鍵c,…,c,d,…,d,q,…,qが入力され、r=(c−kd)/cmodqが演算され、さらに、j=s−1,s−2,s−3,…,1の順に各jについてr=(ri+1 −kd)/cmod qが演算され、最終的にrが発生される。次に、冪乗演算器302としてのrと秘密鍵p,gが入力されてu=gr1mod pが演算される。このuと秘密鍵p,…,pが因数検査器303に入力され、長さnでHamming 重さkである二進列m=(m,m,…,m)を1nの各pについてpがuの因数ならばm=1とし、因数でないならばm=0として求める。最後に、中間復号文変換器304を用いて、mを平文Mに変換する。
【0010】
以上のようにして復号できることを、以下に簡単に説明する。簡単のためs=1の場合についてみると、公開鍵はb1,1 =(c+d)mod q,b2,1 =(c+d)mod q,…,bn,1 =(c+d)mod qであり、これらのうち、m=1と対応する公開鍵が加算された値が暗号文cとなる。二進列m中の1の数はkであるから、暗号文c中にはkdが存在する。s=1であるから剰余乗算・減算・割算器301の演算はr=(c−kd)/cmod qとなり、(c−kd)により暗号文Σi=1 (c+d)中のkdが除去され、Σi=1 これがcで割算され、r=Σi=1 、つまりm=1と対応するaの加算値となる。
【0011】
従ってu=gr1mod pの演算は、仮りにk個のm=1と対応するaをa1,1 ,a1,2 ,…,a1,k とすればr=a1,1 +a1,2 +…+a1,k となりu=gr1=g(a1,1+a1,2+・・・+a1,k)=ga1,1−ga1,2−…−ga1,kとなる。
因数検査器303でp=gaiであり、m=1のaはa1,1 ,a1,2 ,…,a1,k であるから、これらと対応するpはp1,1 =ga1,1,p1,2 =ga1,2,…,p1,k =ga1,kであり、これらのpでu=gr1を割算すればp,…,pが互いに素であるから、uは必ず割り切れ、つまりpがuの因数となり、このことはそのpはm=1に相当することを意味し、割り切れなければ、つまりuの因数でなければm=0とする。このようにして、暗号文cが正しいものであれば、二進列mが復号される。
【0012】
この二進列mから平文Mへの変換は、例えば文献1に示す手法によればよい。なおsを2以上と大きくすればする程、公開鍵を複雑にかき混ぜたことになり、安全性が高くなる。このかき混ぜ方と先に述べたように復号時に、順次逆に解きほぐすことにより、rを得ることができる。
【0013】
【発明の効果】
以上述べたようにこの発明によれば、鍵生成処理においてp≡gai(mod p)を演算し、そのaを公開鍵の要素としており、つまり、有理整数環上の離散対数問題を利用しており、しかもp,g,p,…,p,g,c,c,…,c,d,d,…,d,q,q,…,qを秘密にすることにより、公開鍵から秘密鍵を直接求める攻撃に耐えうる。また、暗号化処理と復号処理において、長さ[log)]の整数と長さnでHamming 重さkである二進列との変換を利用することにより、ナップサック暗号の安全性の指標であるdensity(重度)を十分高めることができ、したがって、平文から暗号文を直接求めるlow−density攻撃にも耐えうる。
【図面の簡単な説明】
【図1】この発明による鍵生成処理装置の実施例を示すブロック図。
【図2】この発明による暗号化処理装置の実施例を示すブロック図。
【図3】この発明による復号処理装置の実施例を示すブロック図。

Claims (4)

  1. 鍵生成処理装置と、暗号化処理装置と、復号処理装置とよりなり、
    鍵生成処理装置に整数n,k(k<n)とs(sは1以上)が入力して、
    素数p、互いに素である整数p,…,p、生成元gを生成し、
    各々の1nに対してp≡gai(mod p)を満たすようなa,…,aを求め、
    整数c,c,…,c,d,d,…,d,q,q,…,qを生成し、
    各々の1nに対して、
    i,1 =(c+d)mod qを求め、さらにj=2,3,4,…,sと順にbi,j =(ci,j−1 +d)mod qを求め、
    p,g,p,…,p,c,…,c,d,…,d,q,…,qを秘密鍵として秘密に保持し、b1,s ,…,bn,s を公開鍵として公開し、かつn,kを公開し、
    暗号化処理装置に長さ[log)]の平文Mと、公開鍵b1,s ,…,bn,sとkを入力して(ただし[*]は*を超えない最大整数)、
    平文Mを、長さnでハミング重さがkの二進列m=(m,m,…,m)に変換し、
    暗号文c=Σi=1 i,sを生成して出力し、
    復号処理装置に暗号文c、上記秘密鍵を入力して、
    =(c−kd)/cmod qを生成し、
    j=s−1,s−2,s−3,…,1と順にr=(rj+1 −kd)/cmod qを生成し、
    u=gr1mod p求め、
    がuの因数ならばm=1とし、因数でないならばm=0として、長さnでハミング重さkの二進列m=(m,m,…,m)を生成し、
    その二進列mを平文Mに変換して出力する
    ことを特徴とするナップサック型公開鍵暗号化復号システム。
  2. 整数n,kが入力され、素数pと、互いに素である数p,…,p∈Z/pZ(pを法とする整数の体)と、生成元gを発生出力する第1乱数発生器と、
    上記p,p,…,p,g が入力され、0nに対してp=gai(mod p)を満たすa,…,aを生成出力する離散対数計算器と、
    整数sが入力されて、乱数群c,…,c,d,…,d,q,…,qを生成出力する第2乱数発生器と、
    上記a,…,a、上記c,…,c,d,…,d,q,…,qが入力され、
    i,1 =(c+d)mod q
    i,j =(ci,j−1 +d)mod q
    (j =2からsまで)
    を演算してb1,s ,…,bn,s を出力する剰余乗算・加算器と
    を備え、秘密鍵として上記p,g,p,…,p,c,…,c,d,…,d,q,…,qを生成し、公開鍵として上記b1,s ,…,bn,s を生成するナップサック型公開鍵暗号用鍵生成処理装置。
  3. 請求項2記載の鍵生成装置により生成された公開鍵b1,s ,…,bn,s を記憶する記憶部と、
    整数n,kと平文Mが入力され、長さ[log)]の平文を、長さMでハミング重みがkの二進列m=(m,…,m)に変換して出力する平文変換器と([*]は*を超えない最大整数を表わす)、
    上記二進列mと、上記公開鍵b1,s ,…,bn,s が入力され、c=Σi=1 i,s を演算して暗号文cを生成出力する加算器とを備えるナップサック型公開鍵暗号化処理装置。
  4. 公開情報n,k、秘密鍵p,g,p,…,p,c,…,c,d,…,d,q,…,qを格納した記憶部と、
    暗号文cと、上記k,c,…,c,d,…,d,q,…,qが入力され、
    =(c−kd)/cmod q
    =(ri+1 −kd)/cmod q
    (j=s−1から1まで)
    を演算してrを出力する剰余乗算・減算・割算器と、
    上記演算結果rと上記p,gが入力され、
    u=gr1 modp
    を演算してuを出力する冪乗演算器と、
    その演算結果uと上記p,…,pが入力されて、各p(i=1,…,n)についてpがuの因数であればm=1、因数でなければn=0として中間復号文m=(m,…,m)を出力する因数検査器と、
    上記mと上記n,kが入力されて平文Mを出力する中間復号文変換器と、
    を具備するナップサック型公開鍵暗号の復号処理装置。
JP2000284575A 2000-09-20 2000-09-20 ナップサック型公開鍵暗号システム及びその装置 Expired - Fee Related JP3615137B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000284575A JP3615137B2 (ja) 2000-09-20 2000-09-20 ナップサック型公開鍵暗号システム及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000284575A JP3615137B2 (ja) 2000-09-20 2000-09-20 ナップサック型公開鍵暗号システム及びその装置

Publications (2)

Publication Number Publication Date
JP2002091298A JP2002091298A (ja) 2002-03-27
JP3615137B2 true JP3615137B2 (ja) 2005-01-26

Family

ID=18768762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000284575A Expired - Fee Related JP3615137B2 (ja) 2000-09-20 2000-09-20 ナップサック型公開鍵暗号システム及びその装置

Country Status (1)

Country Link
JP (1) JP3615137B2 (ja)

Also Published As

Publication number Publication date
JP2002091298A (ja) 2002-03-27

Similar Documents

Publication Publication Date Title
US8462944B2 (en) Method of public key generation
JPH11502321A (ja) ゼーター方向性関数に基づく多目的高速暗号化安全シーケンス発生装置
Mouha et al. A Proof that the ARX Cipher Salsa20 is Secure against Differential Cryptanalysis.
JP2012023763A (ja) セキュリティ強化のための転置データ変換
Hu et al. Enhanced flexibility for homomorphic encryption schemes via CRT
Wang et al. D-NTRU: More efficient and average-case IND-CPA secure NTRU variant
Das et al. An efficient method for text encryption using elliptic curve cryptography
Deepthi et al. Design, implementation and analysis of hardware efficient stream ciphers using LFSR based hash functions
EP1287641B1 (en) A method of validating an encrypted message
JPH11109859A (ja) 擬似乱数発生方法および装置
US7319750B1 (en) Digital circuit apparatus and method for accelerating preliminary operations for cryptographic processing
Li et al. On the bounded distance decoding problem for lattices constructed and their cryptographic applications
JP3615137B2 (ja) ナップサック型公開鍵暗号システム及びその装置
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
Liao et al. Cryptanalysis of an identity-based encryption scheme with equality test and improvement
Mihalkovich et al. MPF based symmetric cipher performance comparison to AES and TDES
Abutaha et al. New one way hash algorithm using non-invertible matrix
Rastaghi An efficient CCA2-secure variant of the McEliece cryptosystem in the standard model
Chunsheng More practical fully homomorphic encryption
Chevallier-Mames et al. Linear bandwidth naccache-stern encryption
JP3615132B2 (ja) 公開鍵暗号化復号方法及びシステム
Moldovyan et al. Randomized pseudo-probabilistic encryption algorithms
Sow et al. Linear generalized ElGamal encryption scheme
Lafourcade et al. Linear generalized elgamal encryption scheme
JP4200259B2 (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: 20041005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041028

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

Free format text: PAYMENT UNTIL: 20071112

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 9

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