JP3740659B2 - ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 - Google Patents

ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 Download PDF

Info

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
Application number
JP2001010247A
Other languages
English (en)
Other versions
JP2002215024A (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 JP2001010247A priority Critical patent/JP3740659B2/ja
Publication of JP2002215024A publication Critical patent/JP2002215024A/ja
Application granted granted Critical
Publication of JP3740659B2 publication Critical patent/JP3740659B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明はナップサック型公開鍵暗号システムとその公開鍵の生成方法及びその装置、そのプログラム及びその記録媒体に関する。
【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 nk]の平文を長さ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を1hを満す各jに対して、群(OK/pj)(ただしゼロを除く)の生成元gj,つまりg1,…,ghを1n,1hを満す各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に入力されて、
n,1hを満す各i,jに対して
ij≡gj aij(modpj) …(1)
を満たすようなaijが計算される。
【0009】
さらに、g1,…,gh,aij(i=1,2,…,n,j=1,2,…,h)が中国人剰余定理による合成器104に入力され、1nを満す各iに対して、
g=(g1,…,gh
i=(ai1,…,aih
を満たすg,a1,…,anが計算される。
乱数発生器105を用いて整数dが発生され、このd,ai,pが加算器106に入力され、
nを満す各iに対して、
i=(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 nk]である。logは2を程とし、nkはnからkを取り出す組合せの数、[A]はA以上の最小の整数を表す。
【0010】
この平文Mは平文変換器201でHamming重さがk(1の数がk個)のnビットの2進列m=(m1,m2,…,mn)に変換される。この変換は例えばqをkとし、i=1からnまで以下のことを実行する。
n-iqであれば、miを1とし、M− n-iq-1をMとし、q−1をqとし、M n-iqでなければ、miを0とする。ただしq0に対し q0=0とし、q1に対し 0q=0とする。
この2進列mと、公開鍵biとが加算器202に入力されて、
c=Σi=1 n ii …(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)を、その1nを満たす各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】
iが1であればM+ p-iqをMとし、q−1をqとする。
所で式(5)に式(4)を代入すると
u≡gc-hd mod p …(6)
となり、式(3)よりgの指数は、
Σi=1 n ii−kd
となり、式(2)よりbi=(ai+d)であり、2進列m中のk個が1であるからgの指数は、
Σi=1 n ii mod p
となる。この指数を式(5)に代入して、指数の積の形式に変形すると
u≡Πi=1 n(gaimi mod p
となる。式(1)の関係から
u≡Πi=1 n i 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)

  1. 代数体K、Kの整数環OK 、整数n,k,hが入力され、
    k のh個の素イデアルp1 ,…,ph を生成し、
    1 ,…,ph を乗算してpを求め、
    hを満す各jに対して、群OK /pj (ただし0を除く)の生成元gj を生成し、
    n,1hを満す各i,jに対して、pj を除いたOK からの元pijを生成し、
    n,1hを満す各i,jに対して、pij≡gj aij(mod pj)を満すaijを計算し、
    中国人剰余定理による合成により、
    g=(g1 ,…,gh
    i =(ai1,…,aih
    を満すg,a1 ,…,an を求め、
    整数の乱数dを生成し、
    nを満す各iに対して、bi =(ai +d)mod(N(p)−2)(N(p)はpのノルムを表わす)を計算して公開鍵bi を公開し、p,gを秘密鍵とする公開鍵生成器と、
    長さ[log nk ]の平文Mが入力され、(nk はnからk個取出す組合せの数、[A]はAより大きい最小の整数)
    整数kと公開鍵bi とMを、長さnでHamming(ハミング)重さkである二進列m=(m1 ,m2 ,…,mn)に変換し、
    暗号文c=Σi=1 ni i を生成して出力する暗号器と、
    k,d、秘密鍵p,gを保持し、
    暗号文cが入力されr=(c−kd)mod(N(p)−2)を生成し、
    u=grmodpを求め、
    長さnで、Hamming重さkである二進列m=(m1 ,…,mn )を、1nを満す各jに対して、pijがumodpj を割り切るならばmi =1とし、そうでないならばmi =0と生成し、
    そのmを平文Mに変換する復号器とを備える
    ことを特徴とするナップサック型公開鍵暗号システム。
  2. ナップサック型公開鍵暗号の公開鍵生成方法であって、
    代数体K、Kの整数環をOK とし、n,k,hを整数とし、
    K のh個の素イデアルp1 ,…,ph を乱数発生器より生成し、
    hを満す各jについて、群OK /pj (ただし0を含まない)の生成元gj を乱数発生器より生成し、
    n,1hをそれぞれ満たす各i,jについてpj を除いたOK からの元pijを乱数発生器より生成し、
    n,1hをそれぞれ満す各i,jについてpij≡gj aij(modpj)を満すaijを演算手段により計算し、
    中国人剰余定理による合成により、
    g=(g1 ,…,gh
    i =(ai1,…,aih
    を満すg,a1 ,…,an を演算手段により求め、
    整数dを乱数発生器より生成し、
    nを満す各iについてbi =(ai +d)mod(N(p)−2)を演算手段により計算して公開鍵bi を得ることを特徴とするナップサック型公開鍵生成方法。
  3. 代数体Kの整数環をOK とし、n,k,hを整数とし、
    K,OK ,n,k,hが入力され、OK のh個の素イデアルp1 ,…,ph と、1hを満す各jに対し、群OK /pj (ただし0を除く)の生成元gj と、1n,1hをそれぞれ満すijに対して、pj を除いたOK からの元pijと、整数dとを生成する乱数発生器と、
    i<n,1j<hを満す各ijについてpij,gi ,pj が入力され、pij≡gj aijmodpjを満すaijを計算して出力する離散対数計算量と、
    i(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のノルムを表わす)
    i =(ai +d)mod(N(p)−2)
    を計算して公開鍵bi(i=1,…,n)を得る加算器と
    を具備するナップサック型公開鍵生成装置。
  4. ナップサック型公開鍵暗号の公開鍵を生成するためにコンピュータを、
    代数体K、Kの整数環をOK とし、n,k,hを整数とし、
    K のh個の素イデアルp1 ,…,ph を乱数により生成する手段、
    hを満す各jについて、群OK /pj (ただし0を含まない)の生成元gj を乱数により生成する手段、
    n,1hをそれぞれ満たす各i,jについてpj を除いたOK からの元pijを乱数により生成する手段、
    n,1hをそれぞれ満す各i,jについてpij≡gj aij(modpj)を満すaijを演算する手段、
    中国人剰余定理による合成により、
    g=(g1 ,…,gh
    i =(ai1,…,aih
    を満すg,a1 ,…,an を演算する手段、
    整数dを乱数により生成する手段、
    nを満す各iについて公開鍵bi =(ai +d)mod(N(p)−2)を演算する手段、
    として機能させるためのナップサック型公開鍵生成プログラム。
  5. ナップサック型公開鍵暗号の公開鍵を生成するためにコンピュータを、
    代数体K、Kの整数環をOK とし、n,k,hを整数とし、
    K のh個の素イデアルp1 ,…,ph を乱数により生成する手段、
    hを満す各jについて、群OK /pj (ただし0を含まない)の生成元gj を乱数により生成する手段、
    n,1hをそれぞれ満たす各i,jについてpj を除いたOK からの元pijを乱数により生成する手段、
    n,1hをそれぞれ満す各i,jについてpij≡gj aij(modpj)を満すaijを演算する手段、
    中国人剰余定理による合成により、
    g=(g1 ,…,gh
    i =(ai1,…,aih
    を満すg,a1 ,…,an を演算する手段、
    整数dを乱数により生成する手段、
    nを満す各iについて公開鍵bi =(ai +d)mod(N(p)−2)を演算する手段
    として機能させるためのナップサック型公開鍵生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2001010247A 2001-01-18 2001-01-18 ナップサック型公開鍵暗号システム、その公開鍵生成方法、その装置、そのプログラム、及びその記録媒体 Expired - Fee Related JP3740659B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4563037B2 (ja) * 2003-01-24 2010-10-13 シャープ株式会社 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
JP4685621B2 (ja) * 2005-12-20 2011-05-18 日本電信電話株式会社 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム

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