JP2006235291A - Device and program for generating public key - Google Patents

Device and program for generating public key Download PDF

Info

Publication number
JP2006235291A
JP2006235291A JP2005050403A JP2005050403A JP2006235291A JP 2006235291 A JP2006235291 A JP 2006235291A JP 2005050403 A JP2005050403 A JP 2005050403A JP 2005050403 A JP2005050403 A JP 2005050403A JP 2006235291 A JP2006235291 A JP 2006235291A
Authority
JP
Japan
Prior art keywords
public key
vector
secret
vectors
super
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.)
Withdrawn
Application number
JP2005050403A
Other languages
Japanese (ja)
Inventor
Yasumichi Murakami
恭通 村上
Takeshi Nasako
健 名迫
Mitsuko Yokoyama
晃子 横山
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
Original Assignee
Murata Machinery Ltd
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 filed Critical Murata Machinery Ltd
Priority to JP2005050403A priority Critical patent/JP2006235291A/en
Publication of JP2006235291A publication Critical patent/JP2006235291A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a public key to be used for an enciphering system which is highly resistant to Shamir attack and low-density attack and which is deciphered at high speed. <P>SOLUTION: A secret vector t is used as the public key of knapsack encryption using secret numbers P, w, and two private key vectors v<SP>0</SP>, v<SP>1</SP>, and public key vectors a, b are obtained from a<SB>i</SB>=wv<SP>ti</SP><SB>i</SB>modP and b<SB>i</SB>=wv<SP>1-ti</SP><SB>i</SB>modP. Here, v<SP>0</SP>is the random number vector of positive integer and v<SP>1</SP>is a superincreasing vector. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は新規なナップザック暗号に関し、特にそれに用いる公開鍵の作成装置とそのプログラムとに関する。   The present invention relates to a novel knapsack cryptosystem, and more particularly, to a public key generating apparatus and a program therefor used therefor.

MerkleとHellmanは、積和演算のみで暗号化でき、かつ大小判断と減算のみで復号できる公開鍵暗号として、ナップザック暗号(MH暗号)を提案した(非特許文献1)。ナップザック暗号では、公開鍵ベクトルaを a=(a,a,a,…,a),平文ベクトルmを m=(m,m,m,…,m) とした際に、暗号文Cを
1+2+3+…+a=C (1)
により求める。しかしMH暗号はShamirの攻撃(非特許文献2)や、低密度攻撃(非特許文献3〜5)により容易に解読できることが知られている。
Merkle and Hellman have proposed a knapsack cipher (MH cipher) as a public key cipher that can be encrypted only by a product-sum operation and can be decrypted only by magnitude judgment and subtraction (Non-Patent Document 1). In knapsack cryptography, the public key vector a is a = (a 1 , a 2 , a 3 ,..., A n ), and the plaintext vector m is m = (m 1 , m 2 , m 3 ,..., M n ). In this case, the ciphertext C is a 1 m 1+ a 2 m 2+ a 3 m 3+ ... + A n m n = C (1)
Ask for. However, it is known that the MH cipher can be easily deciphered by Shamir's attack (Non-Patent Document 2) and low-density attacks (Non-Patent Documents 3 to 5).

Shamirの攻撃では、ナップザック暗号での公開鍵ベクトルaが、超増加ベクトルvから a=wv modP (2)
により、導かれたものであることを利用する。ここにvは超増加ベクトルで、その1項からi項までの和をSとした際に、
i+1>S (3)
を満たし、Pは大きな素数で、
P>S (4)
を満たす。またwは秘密の数で、
w∈Z (5)
を満たし、Z は1以上P未満の正整数からなる乗法群である。
In Shamir's attack, the public key vector a in knapsack cryptography is changed from a super-increasing vector v to a = wv modP (2)
By using that which is guided by. Here, v is a super-increasing vector, and when the sum from the first term to the i term is S i ,
v i + 1 > S i (3)
Where P is a large prime number
P> S n (4)
Meet. W is a secret number.
w∈Z * P (5)
Z * P is a multiplicative group consisting of positive integers of 1 or more and less than P.

Shamirの攻撃では、公開鍵ベクトル a=(a,a,a,…,a) に対して、正整数の組(w',P')で、A'={aw' modP'}が超増加数列をなし、かつaw'の総和がP'以下となるものを発見する。得られたA',w',P'は本来の秘密鍵と一致する必要はなく、超増加数列A'を用いると暗号文Cを復号できることが知られている。 In Shamir's attack, a public key vector a = (a 1 , a 2 , a 3 ,..., A n ) is a positive integer pair (w ′, P ′) and A ′ = {a i w ′ It is found that modP ′} has a super-increasing sequence and the sum of a i w ′ is less than or equal to P ′. It is known that the obtained A ′, w ′, and P ′ do not need to match the original secret key, and the ciphertext C can be decrypted by using the super-increasing sequence A ′.

低密度攻撃では、低密度なナップザック暗号への攻撃に有効である。ナップザック暗号の密度は種々の定義があるが、ここでは比較的密度を低く評価するように、密度ρを
ρ=n/(Logmax) (6)
で定義する。ここにnは平文のブロック長で、超増加ベクトルや公開鍵ベクトルなどの次元であり、Cmaxはブロック長nの平文に対する暗号文の最大値である。低密度攻撃では、密度ρが0.9408未満の時に、暗号文を解読可能なことが知られている(非特許文献5)。
The low-density attack is effective for attacks on low-density knapsack cryptography. The density of knapsack encryption has various definitions. Here, the density ρ is set to ρ = n / (Log 2 C max ) (6) so that the density is evaluated relatively low.
Define in. Here, n is a block length of the plaintext, which is a dimension such as a super increase vector or a public key vector, and Cmax is a maximum value of the ciphertext for the plaintext of the block length n. It is known that a low-density attack can decrypt a ciphertext when the density ρ is less than 0.9408 (Non-patent Document 5).

発明者らは、ナップザック暗号の、高速で暗号化や復号ができ、かつ素因数問題や離散対数問題、楕円離散対数問題等に基礎を置かないので、量子コンピュータが実現されても信頼性があるとの利点に着目して、改良を進めてきた(非特許文献6,7)。例えば非特許文献6では、逐次プリコーディングと、2つの秘密鍵ベクトルv,vおよび2つの公開鍵ベクトルa,aを用いて、ナップザック暗号を高密度化する。 The inventors can perform encryption and decryption of knapsack cryptography at high speed and are not based on prime factor problems, discrete logarithm problems, elliptic discrete logarithm problems, etc. The improvement has been advanced focusing on the advantages of (Non-patent Documents 6 and 7). For example, in Non-Patent Document 6, knapsack cryptography is densified using sequential precoding, two secret key vectors v 0 , v 1 and two public key vectors a 0 , a 1 .

また非特許文献7では、Sよりも小さな法Pを用いることにより、ナップザック暗号の密度を1以上にする。そしてこの場合、法Pと秘密の数wは必ずしも互いに素である必要はなく、また秘密鍵ベクトルvは部分的には超増加性を有しなくても、復号できることを見出した。なおこの明細書で、ベクトルの成分の大部分が超増加性を有するが、一部の成分、例えばn/4個未満の成分、好ましくはn/8個未満の成分に付いて超増加性を有しないことがあるものを、準超増加ベクトルと呼ぶ。 The Non-Patent Document 7, by using a small modulo P than S n, the density of the knapsack cryptographic one or more. In this case, it has been found that the modulus P and the secret number w do not necessarily have to be relatively prime, and that the secret key vector v can be decrypted even if it does not have a partial increase. In this specification, most of the components of the vector are superincreasing, but some components, for example, less than n / 4, preferably less than n / 8, What may not have is called a quasi-super-increasing vector.

しかしながらナップザック暗号は多くの攻撃法知られていることから明らかなように、さらに安全性を高める必要がある。
R.C. Merkle,M.E. Hellman: “Hiding information and Signatures in trapdoor knapsacks,” IEEE,Trans. Inf. Theory,IT-24(5),pp.525.530,1978. A. Shamir: “A polynomial time algorithm for breaking the basic Merkle-Hellman cryptosystems,” Proc. Crypto'82,LNCS,pp.279.288,Springer-Verlag,Berlin,1982. E.F. Brickell: “Solving low density knapsacks,” Proc. Crypto'83,LNCS,pp.25.37,Springer-Verlag,Berlin,1984. J.C. Lagarias,A.M. Odlyzko: “Solving low density Subset Sum problems,” J. Assoc. Comp. Math.,Vol.32,pp.229.246,Preliminary Version in Proc. 24th IEEE,1985. M.J. Coster,B.A. LaMacchia,A.M. Odlyzko,C.P. Schnorr:”An improved low-density subset sum algorithm,” Proc. Eurocrypto'91,LNCS,pp.54.67. Springer-Verlag,Berlin,1991. 服部保,村上恭通,笠原正雄,”プリコーディングを用いる二,三の加算暗号の提案”,2001年 情報理論とその応用シンポジウム予稿集,pp.351-354,Dec.2001 名迫健,横山晃子,村上恭通,”ナップザック暗号の法縮小による高密度化手法および探索復号法の提案”2004年 情報理論とその応用シンポジウム予稿集,pp.123-126,Dec.2004
However, as it is clear from many known attack methods, knapsack cryptography needs to be further secured.
RC Merkle, ME Hellman: “Hiding information and Signatures in trapdoor knapsacks,” IEEE, Trans. Inf. Theory, IT-24 (5), pp.525.530, 1978. A. Shamir: “A polynomial time algorithm for breaking the basic Merkle-Hellman cryptosystems,” Proc. Crypto'82, LNCS, pp. 279.288, Springer-Verlag, Berlin, 1982. EF Brickell: “Solving low density knapsacks,” Proc. Crypto'83, LNCS, pp. 25.37, Springer-Verlag, Berlin, 1984. JC Lagarias, AM Odlyzko: “Solving low density Subset Sum problems,” J. Assoc. Comp. Math., Vol.32, pp.229.246, Preliminary Version in Proc. 24th IEEE, 1985. MJ Coster, BA LaMacchia, AM Odlyzko, CP Schnorr: “An improved low-density subset sum algorithm,” Proc. Eurocrypto'91, LNCS, pp. 54.67. Springer-Verlag, Berlin, 1991. T. Hattori, Y. Murakami, and M. Kasahara, “Proposal of a few addition ciphers using precoding”, 2001 Proceedings of Symposium on Information Theory and Its Applications, pp.351-354, Dec.2001 Takeshi Nasako, Atsuko Yokoyama, and Yuji Murakami, “Proposal of High Density Method and Search Decryption Method by Reduction of Knapsack Cryptography” 2004 Proceedings of Symposium on Information Theory and Its Applications, pp.123-126, Dec.2004

この発明の課題は、Shamirの攻撃や低密度攻撃への耐性が高く、かつ高速で復号可能な暗号システムを実現するために、それに用いる公開鍵を提供することにある。   An object of the present invention is to provide a public key used for realizing an encryption system that is highly resistant to Shamir attacks and low-density attacks and that can be decrypted at high speed.

この発明は、秘密の数P及びwと少なくとも2つの秘密鍵ベクトルv,v(v,vは各々n次元のベクトル)とを用いた、ナップザック暗号用の公開鍵の作成装置において、秘密のn次元のデータt=(t,t,…,t)を用いて、tに応じて、v ,v の一方をxとし、他方をx として、少なくとも2つのn次元の公開鍵ベクトルa,bを i=1〜n に対し、 a=(a,a,…,a),b=(b,b,…,b))
=wf(x) modP (7)
=wg(x ) modP (8)
として作成するための手段を設けたことを特徴とする。
The present invention relates to a public key generating apparatus for knapsack encryption using secret numbers P and w and at least two secret key vectors v 0 and v 1 (v 0 and v 1 are n-dimensional vectors, respectively). , Using secret n-dimensional data t = (t 1 , t 2 ,..., T n ), depending on t i , one of v 0 i and v 1 i is x i and the other is x * i Assuming that at least two n-dimensional public key vectors a and b are i = 1 to n, a = (a 1 , a 2 ,..., A n ), b = (b 1 , b 2 ,. n ))
a i = wf i (x i ) modP (7)
b i = wg i (x * i) modP (8)
It is characterized by providing means for creating as follows.

好ましくは、前記公開鍵ベクトルa,bと、下式を充たす変換として定義される可逆プリコーディングHとを、 C=ma+mb により、平文ベクトルmを暗号文Cに暗号化するための公開鍵とする。
プリコーディング間の順序をi=1〜nとして、
H=(H,H,…,H) (9)
=H(m,m,…,m) (10)
=H(m,m,…,m ) (11)
iはプリコーデング間の順序、従って復号時の順序を定めるパラメータで、平文ベクトルmでの順序を定めるものではない。
Preferably, the public key vectors a and b and the reversible precoding H defined as a transformation satisfying the following expression are used as a public key for encrypting the plaintext vector m into the ciphertext C using C = ma + m * b. And
The order between precoding is set as i = 1 to n.
H = (H 1 , H 2 ,..., H n ) (9)
m i * = H i (m 1 , m 2 ,..., m i ) (10)
m i = H i (m 1 , m 2 ,..., m i * ) (11)
i is a parameter that determines the order between precoding, and therefore the order at the time of decoding, and does not determine the order in the plaintext vector m.

なお可逆プリコーディング以外のコーディング、例えば非特許文献6で用いられるシーケンシャルコーディング(逐次コーディング)で、一部のiについて m=H(m,m,…,m ) が成立しないものを用いると、復号が困難になる。この場合、m=H(m,m,…,m )が成立しない部分について、mを推定して復号する必要が生じる。 Note that in other than reversible precoding, for example, sequential coding (sequential coding) used in Non-Patent Document 6, m i = H i (m 1 , m 2 ,..., M i * ) does not hold for some i . If something is used, decoding becomes difficult. In this case, m i = H i (m 1, m 2, ..., m i *) for the part that is not established, needs to be decoded to estimate the m i occurs.

秘密鍵ベクトルv,vは例えば一方を乱数ベクトル、他方を以下の条件により定義される準超増加ベクトルとする。これは超増加性を利用したタイプの秘密鍵で、非特許文献1の秘密鍵を発展させたものである。
を準超増加ベクトルとした際に、i+j=n+1 かつ j=1〜nの3n/4個以上、より好ましくは7n/8個以上のjについて、
,vの双方の成分の1〜j−1までの和をSj−1として、
>Sj−1+v (12)
(ただしvを準超増加ベクトルとする場合、 v >Sj−1+v ) (12')
For example, one of the secret key vectors v 0 and v 1 is a random vector, and the other is a quasi-super-increasing vector defined by the following conditions. This is a secret key of a type that uses super-increasing properties, and is a development of the secret key of Non-Patent Document 1.
When v 1 is a quasi-super-increasing vector, i + j = n + 1 and j = 1 to n of 3n / 4 or more, more preferably 7n / 8 or more of j,
The sum from 1 to j−1 of both components of v 0 and v 1 is defined as S j−1 .
v 1 j > S j−1 + v 0 j (12)
(However, if you want to v 1 and the quasi-super-increase vector, v 0 j> S j- 1 + v 1 j) (12 ')

秘密鍵ベクトルv,vは例えば一方の各成分を偶数、他方の各成分を奇数とし、かつ
=2i−1 (13)
=2i−1 (14)
が成立するものでも良い。ただしx,x の一方がvで他方がvである。これは奇数と偶数とに基礎を置いた秘密鍵である(非特許文献6)。
The secret key vectors v 0 and v 1 are, for example, that one component is an even number, the other component is an odd number, and f i = 2 i−1 x i (13)
g i = 2 i−1 x * i (14)
May be satisfied. However, one of x i and x * i is v 0 and the other is v 1 . This is a secret key based on odd and even numbers (Non-Patent Document 6).

この発明はまた、秘密の数P及びwと少なくとも2つの秘密鍵ベクトルv,v(v,vは各々n次元のベクトル)とを用いた、ナップザック暗号用の公開鍵の作成プログラムにおいて、秘密のn次元のデータt=(t,t,…,t)を用いて、tに応じて、v ,v の一方をxとし、他方をx として、少なくとも2つのn次元の公開鍵ベクトルa,bを i=1〜n に対し、
a=(a,a,…,a),b=(b,b,…,b))
=wf(x) modP
=wg(x ) modP
として作成するための命令を設けたことを特徴とする。
The present invention also provides a public key generation program for knapsack encryption using secret numbers P and w and at least two secret key vectors v 0 and v 1 (v 0 and v 1 are n-dimensional vectors, respectively). , Using secret n-dimensional data t = (t 1 , t 2 ,..., T n ), one of v 0 i and v 1 i is set to x i and the other is set to x * according to t i . For i , at least two n-dimensional public key vectors a and b are for i = 1 to n.
a = (a 1 , a 2 ,..., a n ), b = (b 1 , b 2 ,..., b n ))
a i = wf i (x i ) modP
b i = wg i (x * i) modP
It is characterized in that an instruction for creating as is provided.

なおこの明細書において、公開鍵の作成装置に関する記載はそのまま公開鍵の作成プログラムにも当てはまり、その逆に公開鍵の作成プログラムに関する記載は公開鍵の作成装置にも当てはまる。   In this specification, the description related to the public key creation device also applies to the public key creation program as it is, while the description related to the public key creation program also applies to the public key creation device.

実施例ではm,mを推定せずに復号できるように公開鍵を定めるが、非特許文献7で記載のように、ナップザック暗号では平文の一部を推定しながら、中間平文Mが最終的に0になるものを選択することにより復号できる。このため公開鍵に関する条件は、実施例に記載のものよりも緩やかである。例えば低密度攻撃に対する耐性を増すため、法Pを実施例よりも小さくできる。またPをSよりも縮小する場合、Pとwは互いに素であることが好ましいが、これに限るものではない。この発明では少なくとも2つの秘密のベクトルを用い、公開鍵ベクトルa,bの各成分がv,vのいずれに由来するかをデータtにより秘密にし、暗号強度を増す。公開鍵ベクトルや秘密鍵ベクトルが各2つのベクトルの場合、データtは例えば t∈{0,1} となるが、公開鍵ベクトルや秘密鍵ベクトルが例えば各4つのベクトルの場合、tの各成分は例えばS(4次対称群)の元となる。 In the embodiment, the public key is determined so that it can be decrypted without estimating m and m *. However, as described in Non-Patent Document 7, in the knapsack encryption, the intermediate plaintext M is finally estimated while estimating a part of the plaintext. It can be decoded by selecting the one that becomes 0. For this reason, the conditions regarding the public key are gentler than those described in the embodiments. For example, in order to increase resistance to low density attacks, the method P can be made smaller than the embodiment. The case of reducing than the S n P, although it is preferred that P and w are relatively prime, but not limited thereto. In the present invention, at least two secret vectors are used, and it is made secret by data t whether each component of the public key vectors a and b is derived from v 0 or v 1 , thereby increasing the encryption strength. When the public key vector and the secret key vector are each two vectors, the data t is, for example, t∈ {0,1} n. However, when the public key vector and the secret key vector are each four vectors, for example, each of t The component is, for example, an element of S 4 (fourth order symmetry group).

この発明では、2つの公開鍵ベクトルa,bと秘密鍵ベクトルv,vとの間で、tによるシャッフルを行う。このため超増加数列を利用したShamirの攻撃は、公開鍵ベクトルa,bから超増加数列に対応する元を抽出できない限り困難である。また非特許文献6と比較した場合、公開鍵ベクトルaは偶数成分のベクトルに由来し,bは奇数成分のベクトルに由来するなどの規則性がない。従って、秘密鍵ベクトルの超増加性や偶奇性などを利用した攻撃も成立しにくい。 In the present invention, shuffling by t is performed between two public key vectors a and b and secret key vectors v 0 and v 1 . Therefore, Shamir's attack using a super-increasing sequence is difficult unless an element corresponding to the super-increasing sequence can be extracted from the public key vectors a and b. Further, when compared with Non-Patent Document 6, there is no regularity such that the public key vector a is derived from an even component vector and b is derived from an odd component vector. Therefore, it is difficult to establish an attack using the super-increase or even-oddity of the secret key vector.

またこの発明では暗号の密度を1以上にできるので、低密度攻撃も成立し難い。しかもこの発明では、平文を推定しながら復号するなどの手法は原則として不要である。このため安全で、暗号化も復号も高速で行える暗号通信システムのための公開鍵を提供できる。   In the present invention, since the encryption density can be 1 or more, it is difficult to establish a low-density attack. Moreover, in the present invention, a technique such as decoding while estimating plaintext is not necessary in principle. Therefore, it is possible to provide a public key for a cryptographic communication system that is secure and can be encrypted and decrypted at high speed.

請求項2の発明では、復号時にtiに依存してm,m のいずれかが得られ、しかも復号側ではm,m のどちらが得られるかは既知である。ここで可逆プリコーディングを用いると、m,m のいずれが得られても他方を得ることができ、復号時にm等の値等を推定する必要が無く、復号が容易になる。他の作用効果は、実施例より明らかになる。 In the present invention of claim 2, depending on t i m i, m i * either is obtained during decoding, moreover either m i, Which m i * of the obtained at the decoding side is known. When used herein, the reversible precoding, m i, can also be obtained other by any is obtained of m i *, it is not necessary to estimate the value such as m i at the time of decoding, the decoding is facilitated. Other functions and effects will become apparent from the examples.

以下に本発明を実施するための最適実施例を示す。   In the following, an optimum embodiment for carrying out the present invention will be shown.

図1〜図3に実施例の概要を、図4〜図7に実施例の詳細を示す。図8、図9は実施例での暗号強度を説明し、図10〜図13は変形例を示す。図14,図15は秘密鍵ベクトルと公開鍵ベクトルとを各4個設けた変形例を示す。図1〜図3の実施例の概要に関する記載は、各変形例にもそのまま当てはまる。   1 to 3 show an outline of the embodiment, and FIGS. 4 to 7 show details of the embodiment. 8 and 9 illustrate the encryption strength in the embodiment, and FIGS. 10 to 13 show modifications. 14 and 15 show modifications in which four secret key vectors and four public key vectors are provided. The description relating to the outline of the embodiment in FIGS. 1 to 3 also applies to each modification as it is.

図1〜図3において、2は暗号通信装置システムで、複数の暗号通信装置4,6がインターネットなどの必ずしも安全でない通信路で結ばれ、暗号通信装置4,6はここでは同一のものとし、以下では説明の便宜上、暗号通信装置4として説明する。暗号通信装置4,6はコンピュータ資源を用い、ハードウェアとソフトウェアとで実現され、扱うデータは電子データである。   1 to 3, reference numeral 2 denotes an encryption communication device system, in which a plurality of encryption communication devices 4 and 6 are connected by an insecure communication path such as the Internet, and the encryption communication devices 4 and 6 are the same here, Hereinafter, for convenience of explanation, the encryption communication device 4 will be described. The cryptographic communication devices 4 and 6 use computer resources and are realized by hardware and software, and data handled is electronic data.

10は通信インターフェースで、インターネットなどとのインターフェースとなり、秘密鍵記憶部12は秘密鍵を記憶する。公開鍵作成部14は、秘密鍵から公開鍵を作成して記憶し、インターネットを介して通信相手の暗号通信装置6へ公開する。復号部16は受信した暗号文Cを復号し、暗号化部18は平文mを暗号化する。   A communication interface 10 serves as an interface with the Internet and the like, and the secret key storage unit 12 stores a secret key. The public key creation unit 14 creates and stores a public key from the secret key, and publishes the public key to the communication partner encryption communication device 6 via the Internet. The decryption unit 16 decrypts the received ciphertext C, and the encryption unit 18 encrypts the plaintext m.

暗号通信装置4は、例えば鍵作成プログラム20や復号プログラム22,暗号化プログラム24を記憶し、鍵作成プログラム20は秘密鍵作成命令30と公開鍵作成命令32とを備えている。これらのプログラム20〜24や命令30,32の作用は、秘密鍵記憶部12〜暗号化部18と同様である。   The cryptographic communication device 4 stores, for example, a key creation program 20, a decryption program 22, and an encryption program 24. The key creation program 20 includes a secret key creation command 30 and a public key creation command 32. The operations of these programs 20 to 24 and the instructions 30 and 32 are the same as those of the secret key storage unit 12 to the encryption unit 18.

図4に秘密鍵と公開鍵の詳細を示す。秘密鍵ベクトルv,vは各n次元のベクトルで、vは各成分が正整数の乱数ベクトル、vは(12)で定義する意味での超増加ベクトルである。また図1〜図9では、復号はiについて降順に行うものとし、特許請求の範囲での変数jに相当するものをiとする。iは増加ベクトルや可逆プリコーディングでの復号の順序を意味し、平文ベクトル内での順序を意味しない。必要であれば、実施例での復号後に平文ベクトルでの要素間の置換を行って最終的な平文とする。v,vの双方の成分の1〜i−1までの和をSi−1として、
>Si−1+v (12)
なおv,vのいずれを超増加ベクトル、いずれを乱数ベクトルと呼ぶかは、単に用語だけの問題である。ここでvの各成分のビット長をrビット以下とし、rは例えば64とする。Pは素数でSよりも大きな数が好ましいが、非特許文献7に示すように、S未満の数でも良く、また素数には限らない。wは秘密の数で、好ましくは1以上P未満であるが、 P<S の場合、Pとwとが公約数を有しても良い。また非特許文献7のように、平文mの成分の一部を推定しながら復号する場合、vは準超増加ベクトルであれば良く、その成分の3n/4個以上、好ましくは7n/8個以上が超増加性を満たせばよい。tは秘密のベクトルで、その成分は例えば0または1で、各成分は0または1にランダムに選ばれている。
FIG. 4 shows details of the secret key and the public key. The secret key vectors v 0 and v 1 are n-dimensional vectors, v 0 is a random vector whose components are positive integers, and v 1 is a super-increasing vector in the sense defined by (12). In FIG. 1 to FIG. 9, decoding is performed in descending order for i, and i corresponds to the variable j in the claims. i means the order of decoding in the increment vector or lossless precoding, and does not mean the order in the plaintext vector. If necessary, after the decryption in the embodiment, substitution between elements with a plaintext vector is performed to obtain a final plaintext. The sum of both components v 0 and v 1 from 1 to i−1 is S i−1 .
v 1 i > S i−1 + v 0 i (12)
Note that which of v 0 and v 1 is called a super-increasing vector and which is called a random number vector is merely a matter of terminology. Here, the bit length of each component of v 0 is set to r bits or less, and r is 64, for example. P is large numbers are preferred to S n in prime, as shown in Non-patent Document 7 may be a number less than S n, also not limited to a prime number. w is the number of secret, preferably a 1 to less than P, the case of P <S n, and the P and w may have a common divisor. Further, as in Non-Patent Document 7, when decoding while estimating a part of the component of plaintext m, v 1 may be a quasi-super-increasing vector, and 3n / 4 or more, preferably 7n / 8, of the component. It is sufficient that at least one piece satisfies the super-increasing property. t is a secret vector whose component is 0 or 1, for example, and each component is randomly selected as 0 or 1.

公開鍵は2つのベクトルa,b(いずれもn次元)と可逆プリコーディングHとからなり、a,bの各元は(15),(16)で定義される。ここにvti やv1−ti はvのti乗や(1-ti)乗を意味するのではなく、tiの値に従ってv ,v のいずれかの元となることを意味する。
=wvti modP (15)
=wv1−ti modP (16)
(15),(16)はa,bの各元がv,vのいずれかの元で定まり、かつv,vのいずれの元で定められているかがランダムで推定不能なことを意味する。従ってa,bの各元の定義を(7),(8)のように一般化できる。ここにf,gはiの値毎に定まる関数で、v ,v の一方をxし、他方をx とする。
=wf(x) modP (7)
=wg(x ) modP (8)
The public key consists of two vectors a and b (both are n-dimensional) and lossless precoding H, and each element of a and b is defined by (15) and (16). Here, v ti i and v 1-ti i do not mean v i to the ti power or (1-ti) power, but must be one of v 0 i and v 1 i according to the value of ti. Means.
a i = wv ti i modP (15)
b i = wv 1−ti i modP (16)
(15), (16) a, the original b are v Sadamari at 0, v 1 of either the original, and v 0, v or is defined by one of either the original to be an impossible estimated random Means. Therefore, the definition of each element of a and b can be generalized as (7) and (8). Here, f i and g i are functions determined for each value of i , where one of v 0 i and v 1 i is x i and the other is x * i .
a i = wf i (x i ) modP (7)
b i = wg i (x * i) modP (8)

Hは(9)〜(11)により定義される可逆プリコーディングの集合で、ここでは単純に可逆プリコーディングHなどと呼ぶ。なおここで i=1〜n である。
H=(H,H,…,H) (9)
=H(m,m,…,m) (10)
=H(m,m,…,m ) (11)
ただし非特許文献7のように、平文mの値を推定しながら復号する場合、Hの一部の元、例えばn/4個未満の元、好ましくはn/8未満の元が、(11)を満たさなくても良い。(9),(10)を満たすコーディング((11)を満たす必要はない)を逐次プリコーディングと呼ぶ。
H is a set of reversible precoding defined by (9) to (11), and is simply referred to as reversible precoding H or the like here. Here, i = 1 to n.
H = (H 1 , H 2 ,..., H n ) (9)
m i * = H i (m 1 , m 2 ,..., m i ) (10)
m i = H i (m 1 , m 2 ,..., m i * ) (11)
However, as in Non-Patent Document 7, when decoding is performed while estimating the value of plaintext m, some elements of H, for example, less than n / 4 elements, preferably less than n / 8 elements, Does not have to be satisfied. Coding that satisfies (9) and (10) (it is not necessary to satisfy (11)) is called sequential precoding.

可逆プリコーディングの例として、図5に示すように(17)を満たすものなどがある。
=Hi−1(m,m,…,mi−1)(+)m (17)
また図5に示す喜安-Gray逆変換に基づく2つのプリコーディングG ,G はそれぞれ可逆プリコーディングである。可逆プリコーディングを用いることの意味を説明する。例えば i=1 から始めてシーケンシャルにi−1まで復号すると、次のtiの値に依存してm ,またはmが得られる。ここでm とmのいずれが得られても、mを得ることができるように保証するのが、可逆プリコーディングの役割である。なおm やmの意味は図6に示してある。
As an example of lossless precoding, there is one that satisfies (17) as shown in FIG.
H i = H i-1 (m 1 , m 2 ,..., M i- 1 ) (+) m i (17)
Further, two precoding G 0 i and G 1 i based on the Kian-Gray inverse transform shown in FIG. 5 are reversible precoding, respectively. The meaning of using reversible precoding will be described. For example, starting with i = 1 to decode sequentially until i-1, m i * depending on the value of the next ti, or m i is obtained. Here Whichever is obtained of m i * and m i, to ensure that it is possible to obtain the m i is the role of the reversible precoding. Note the meaning of m i * and m i is shown in FIG.

暗号化の手続を図6に示すと、
=H(m) (18)
として、
C=ma+mb (19)
により、暗号文Cを求める。なお平文mはn次元のベクトルで、暗号文Cは、2つの公開鍵ベクトルa,bとmやmとの積和演算の結果を、加算することにより得られる。n次元の平文ベクトルmに対する、暗号文Cの最大値をCmaxとし、(6)により暗号の密度ρを定義する。
ρ=n/(Logmax) (6)
The encryption procedure is shown in FIG.
m * = H (m) (18)
As
C = ma + m * b (19)
Thus, the ciphertext C is obtained. The plaintext m is an n-dimensional vector, and the ciphertext C is obtained by adding the product-sum operation results of two public key vectors a and b and m and m * . The maximum value of the ciphertext C for the n-dimensional plaintext vector m is Cmax, and the cipher density ρ is defined by (6).
ρ = n / (Log 2 C max ) (6)

図7に復号アルゴリズムを示す。ナップザック暗号での定法に従い、(20)により中間平文Mを求める。なお (P,w)=p>1 の場合、P/pを法とする乗法環での(w/p)の逆元をw−1とするように、Pの代わりにP/pを用いると良い。
M=w−1C modP (20)
FIG. 7 shows a decoding algorithm. The intermediate plaintext M is obtained by (20) in accordance with the knapsack cryptography. When (P, w) = p> 1, P / p is used instead of P so that the inverse element of (w / p) in the multiplicative ring modulo P / p is w −1. And good.
M = w −1 C modP (20)

次いでvの超過増加性を用い、 M≧v でm tiを1とする。tiの値は既知なのでこれからm またはm が定まり、Hが可逆プリコーディングであることから、m とm の双方が求まる。この手続を i=n から始めて i=1 まで実行し、復号の正否は最終的に M=0 が成立するかどうかでチェックできる。 Then using the excess increase of the v 1, and 1 m i ti with M ≧ v 1 i. Since the value of ti is known, m 1 i or m 0 i is determined from this, and since H is lossless precoding, both m 1 i and m 0 i are obtained. This procedure is executed from i = n to i = 1, and whether the decoding is correct or not can be finally checked by checking whether M = 0 holds.

図8に、実施例での暗号密度ρを模式的に示す。非特許文献1のナップザック暗号では、秘密鍵ベクトルvの超増加性と P>Sとのために、LogCmaxはnよりも大きく、低密度攻撃が成立する。低密度攻撃に関する密度の評価において、実施例では密度ρの分子はnではなく2nとなり、 ρ≧1 が成立する。例えばvの各元を64ビット程度とし、nを128とすると、vの各元を64ビット以上191ビット程度に設定可能である。そこでPは192ビット程度に設定可能であり、密度ρは例えば1.3程度にできる。このため低密度攻撃は一般に成立しない。 FIG. 8 schematically shows the encryption density ρ in the embodiment. In Non-Patent Document 1 knapsack cipher, for the super-increasing property and P> S n of secret key vector v, Log 2 Cmax is greater than n, the low-density attack is established. In the density evaluation regarding the low density attack, in the embodiment, the numerator of the density ρ is 2n instead of n, and ρ ≧ 1 is established. For example, if each element of v 0 is about 64 bits and n is 128, each element of v 1 can be set to 64 bits or more and about 191 bits. Therefore, P can be set to about 192 bits, and the density ρ can be set to about 1.3, for example. For this reason, low density attacks are generally not possible.

Shamirの攻撃への耐性を図9に示す。実施例では、tによるシャッフルのため、{a},{b}は超増加数列に由来しない。そこでShamirの攻撃は基本的に成立しない。t∈{0,1}を知ればShamirの攻撃は可能であるが、0と1をランダムに並べたベクトルtを推定することは極めて困難である。従って、Shamirの攻撃も極めて困難である。 Fig. 9 shows the resistance to Shamir attacks. In the embodiment, {a i }, {b i } are not derived from the super-increasing sequence due to the shuffling by t. So Shamir's attack is basically not possible. If tε {0,1} n is known, Shamir's attack is possible, but it is extremely difficult to estimate a vector t in which 0 and 1 are arranged at random. Therefore, Shamir attacks are extremely difficult.

図10〜図13に、偶数成分のベクトルvと奇数成分のベクトルvとを秘密鍵ベクトルとする変形例を示す。(13),(14)の具体例として、(21),(22)により、中間的な秘密鍵b,bを定める。また図10に従って、好ましくは素数となる秘密の数Pと秘密の数wとを定める。次いで図11に従い公開鍵ベクトルa(実施例でのbに相当)と、公開鍵ベクトルa(実施例でのaに相当)とを定める。また実施例と同様に可逆プリコーディングHを定めて公開鍵とする。
=2i−1 (21)
=2i−1 (22)
FIG. 10 to FIG. 13 show modifications in which the even component vector v 0 and the odd component vector v 1 are used as secret key vectors. As specific examples of (13) and (14), intermediate secret keys b 0 and b 1 are determined by (21) and (22). Further, according to FIG. 10, a secret number P and a secret number w which are preferably prime numbers are determined. Next, a public key vector a 0 (corresponding to b in the embodiment) and a public key vector a 1 (corresponding to a in the embodiment) are determined according to FIG. Similarly to the embodiment, a reversible precoding H is determined and used as a public key.
b 0 i = 2 i-1 v 0 i (21)
b 1 i = 2 i-1 v 1 i (22)

図12のように暗号化すると、中間平文Mを経て、平文mの1ビット目から始めて、nビット目への順で、図13のように復号できる。例えば i=1 において、Mが奇数であるとする。 t1=1 の時、b はa を定めるので、m (平文ベクトルmの第1成分)が1となる。ここで t1=0 の時、b がa を定めるので、m (m=H(m)の第1成分)が1となる。1つのiでの処理が終わる毎に、残余を1/2倍してから次のiを処理し、 i=n での処理が終了すると、 M=0 となるはずである。なおm=(m ,m ,…,m )で、m=(m ,m ,…,m )である。 When encryption is performed as shown in FIG. 12, the intermediate plaintext M can be decrypted as shown in FIG. 13 in order from the first bit of the plaintext m to the nth bit. For example, when i = 1, M is an odd number. When t1 = 1, b 1 1 defines a 1 1 and therefore m 1 1 (the first component of the plaintext vector m) is 1. Here, when t1 = 0, b 1 1 defines a 0 1, and therefore m 0 1 (the first component of m * = H (m)) is 1. Each time processing for one i is completed, the remainder is halved and the next i is processed. When processing for i = n is completed, M = 0 should be obtained. Note that m = (m 1 1 , m 1 2 ,..., M 1 n ) and m * = (m 0 1 , m 0 2 ,..., M 0 n ).

この変形例でも、暗号の密度を1以上にできる。また偶数成分のベクトルvと奇数成分のベクトルvとを用いたことが、解読の手掛かりにならないように、秘密のベクトルtによるシャッフルを行っている。 Even in this modification, the encryption density can be 1 or more. In addition, shuffle is performed using a secret vector t so that the use of the even-component vector v 0 and the odd-component vector v 1 does not give a clue to decoding.

図14,図15に、4つの秘密鍵ベクトルv〜vと4つの公開鍵ベクトルa〜aとを用いる例を示す。各成分が(0,1,2,3)の互換tiとなる、秘密のn次元ベクトルtを定める。tのi番目の成分tiにより、v 〜v の順序を入れ換えてa 〜a に対応させて、公開鍵ベクトルa〜aを定める。また例えばv,vを図14の意味での超増加ベクトルとする。平文ベクトルmを可逆な変換Fにより、2つの平文ベクトルm,mに変換し、2つの可逆プリコーディングH,Hにより平文ベクトルm,mを定める。そして図14の下部のようにして、暗号化する。 FIG. 14 and FIG. 15 show examples using four secret key vectors v 0 to v 3 and four public key vectors a 0 to a 3 . A secret n-dimensional vector t is determined in which each component is a compatible ti of (0, 1, 2, 3). By changing the order of v 0 i to v 3 i by using the i-th component ti of t, public key vectors a 0 to a 3 are determined corresponding to a 0 i to a 3 i . Further, for example, v 3 and v 1 are super-increasing vectors in the meaning of FIG. The plaintext vector m is converted into two plaintext vectors m 1 and m 3 by reversible transformation F, and the plaintext vector m 0 and m 2 is determined by two lossless precoding H 1 and H 2 . And it encrypts like the lower part of FIG.

復号では、図15のように中間平文Mを求め、最上位の i=n から i=1 への順に復号する。例えば i=n で、M≧v であれば、互換tが既知なので、m 〜m の1つで、v に対応する項が定まる。可逆プリコーディングHまたはHによりm 〜m の他の1つが定める。次にm 〜m 中の既知の2つの成分に対応する項を図7と同様に減算してMを小さくする。減算後のMが M≧v かどうかから、残る2つの成分の1つのv に対応する項を求め、最後の項を可逆プリコーディングの性質を利用して求める。なお4つの秘密鍵ベクトルと公開鍵ベクトルとを用いる際の、暗号化や復号の手順は、図14,図15以外にも種々のものが可能である。 In decryption, the intermediate plaintext M is obtained as shown in FIG. 15, and decrypted in the order from the highest i = n to i = 1. For example, if i = n and M ≧ v 3 n , the compatible t n is known, so the term corresponding to v 3 n is determined by one of m 0 n to m 3 n . The other one of m 0 n to m 3 n is determined by reversible precoding H 1 or H 2 . Next, the terms corresponding to two known components in m 0 n to m 3 n are subtracted in the same manner as in FIG. Based on whether M after subtraction is M ≧ v 1 n , a term corresponding to one v 1 n of the remaining two components is obtained, and the last term is obtained by using the property of lossless precoding. Note that various encryption procedures and decryption procedures other than those shown in FIGS. 14 and 15 are possible when using the four secret key vectors and the public key vector.

実施例では、高速で暗号化と復号とができ、量子コンピュータが将来実用化されても安全性を維持できる、とのナップザック暗号の長所を維持し、かつShamirの攻撃や低密度攻撃などへの耐性を高めた公開鍵暗号システムを提供すると共に、その公開鍵の作成装置や作成プログラム、作成方法などを提供できる。
In the embodiment, encryption and decryption can be performed at high speed, the security of knapsack cryptography can be maintained even if the quantum computer is put into practical use in the future, and the attacks against Shamir attacks and low density attacks are maintained. It is possible to provide a public key cryptosystem with increased durability, and to provide a public key creation device, a creation program, a creation method, and the like.

実施例の暗号通信システムのブロック図Block diagram of the cryptographic communication system of the embodiment 実施例の暗号通信装置のブロック図Block diagram of encryption communication apparatus of embodiment 実施例での鍵作成プログラムのブロック図Block diagram of the key creation program in the embodiment 実施例での秘密鍵と公開鍵とを示す図The figure which shows the private key and public key in an Example 実施例で用いた可逆プリコーディングを示す図The figure which shows the reversible precoding used in the Example 実施例での暗号化アルゴリズムを示す図The figure which shows the encryption algorithm in an Example 実施例での復号アルゴリズムを示す図The figure which shows the decoding algorithm in an Example 実施例(左側)とMH方式の従来例(右側)とでの、暗号文の密度を示す図The figure which shows the density of a ciphertext in an Example (left side) and the conventional example (right side) of MH system 実施例でのShamirの攻撃に対する耐性を示す図Diagram showing resistance to Shamir attacks in the example 変形例で用いた秘密鍵の作成アルゴリズムを示す図Diagram showing the secret key creation algorithm used in the variation 変形例での公開鍵の作成アルゴリズムを示す図The figure which shows the creation algorithm of the public key in the modification 変形例での暗号化アルゴリズムを示す図The figure which shows the encryption algorithm in the modification 変形例での復号アルゴリズムを示す図The figure which shows the decoding algorithm in a modification 4つの秘密鍵ベクトルv,v,v,vを用いた変形例の概要を示す図Four private key vectors v 0, v 1, v diagram showing an outline of modification with 2, v 3 図14の変形例での復号アルゴリズムを示す図The figure which shows the decoding algorithm in the modification of FIG.

符号の説明Explanation of symbols

2 暗号通信システム
4,6 暗号通信装置
10 通信インターフェース
12 秘密鍵記憶部
14 公開鍵作成部
16 復号部
18 暗号化部
20 鍵作成プログラム
22 復号プログラム
24 暗号化プログラム
30 秘密鍵作成命令
32 公開鍵作成命令
2 Cryptographic Communication Systems 4 and 6 Cryptographic Communication Device 10 Communication Interface 12 Secret Key Storage Unit 14 Public Key Creation Unit 16 Decryption Unit 18 Encryption Unit 20 Key Creation Program 22 Decryption Program 24 Encryption Program 30 Secret Key Creation Instruction 32 Public Key Creation order

Claims (8)

秘密の数P及びwと少なくとも2つの秘密鍵ベクトルv,v(v,vは各々n次元のベクトル)とを用いた、ナップザック暗号用の公開鍵の作成装置において、
秘密のn次元のデータt=(t,t,…,t)を用いて、tに応じて、v ,v の一方をxとし、他方をx として、
少なくとも2つのn次元の公開鍵ベクトルa,bを i=1〜n に対し、
a=(a,a,…,a),b=(b,b,…,b))
=wf(x) modP
=wg(x ) modP
として作成するための手段を設けたことを特徴とする、公開鍵の作成装置。
In a public key generating apparatus for knapsack encryption using secret numbers P and w and at least two secret key vectors v 0 and v 1 (v 0 and v 1 are n-dimensional vectors, respectively)
Using secret n-dimensional data t = (t 1 , t 2 ,..., T n ), one of v 0 i and v 1 i is set to x i and the other is set to x * i according to t i. ,
For at least two n-dimensional public key vectors a and b for i = 1 to n,
a = (a 1 , a 2 ,..., a n ), b = (b 1 , b 2 ,..., b n ))
a i = wf i (x i ) modP
b i = wg i (x * i) modP
A public key creating apparatus, characterized in that means for creating a public key is provided.
前記公開鍵ベクトルa,bと、下式を充たす変換として定義される可逆プリコーディングHとを、 C=ma+mb により、平文ベクトルmを暗号文Cに暗号化するための公開鍵とする、ことを特徴とする、請求項1の公開鍵の作成装置。
プリコーディング間の順序をi=1〜nとして、
H=(H,H,…,H)
=H(m,m,…,m)
=H(m,m,…,m )
The public key vectors a and b and the reversible precoding H defined as a transformation satisfying the following expression are used as public keys for encrypting the plaintext vector m into the ciphertext C by C = ma + m * b. The public key generation apparatus according to claim 1, wherein
The order between precoding is set as i = 1 to n.
H = (H 1 , H 2 ,..., H n )
m i * = H i (m 1 , m 2 ,..., m i )
m i = H i (m 1 , m 2 ,..., m i * )
前記秘密鍵ベクトルv,vの一方を乱数ベクトル、他方を以下の条件により定義される準超増加ベクトルとしたことを特徴とする、請求項1または2の公開鍵の作成装置。
を準超増加ベクトルとした際に、 i+j=n+1 かつ j=1〜nの3n/4個以上のjについて、
,vの双方の成分の1〜j−1までの和をSj−1として、 v >Sj−1+v
(ただしvを準超増加ベクトルとする場合、 v >Sj−1+v )
3. The public key generating apparatus according to claim 1, wherein one of the secret key vectors v 0 and v 1 is a random vector, and the other is a quasi-super-increasing vector defined by the following conditions.
When v 1 is a quasi-super-increasing vector, i + j = n + 1 and j = 1 to n of 3n / 4 or more j,
The sum of both components v 0 and v 1 from 1 to j−1 is S j−1 , and v 1 j > S j−1 + v 0 j
(However, if you want to v 1 and the quasi-super-increase vector, v 0 j> S j- 1 + v 1 j)
前記秘密鍵ベクトルv,vの一方の各成分を偶数、他方の各成分を奇数とし、かつ
=2i−1
=2i−1
としたことを特徴とする、請求項1または2の公開鍵の作成装置。
Each component of the secret key vector v 0 , v 1 is an even number, the other component is an odd number, and f i = 2 i−1 x i
g i = 2 i−1 x * i
The public key creation device according to claim 1 or 2, characterized in that
秘密の数P及びwと少なくとも2つの秘密鍵ベクトルv,v(v,vは各々n次元のベクトル)とを用いた、ナップザック暗号用の公開鍵の作成プログラムにおいて、
秘密のn次元のデータt=(t,t,…,t)を用いて、tに応じて、v ,v の一方をxとし、他方をx として、
少なくとも2つのn次元の公開鍵ベクトルa,bを i=1〜n に対し、
a=(a,a,…,a),b=(b,b,…,b))
=wf(x) modP
=wg(x ) modP
として作成するための命令を設けたことを特徴とする、公開鍵の作成プログラム。
In a program for creating a public key for knapsack cryptography using secret numbers P and w and at least two secret key vectors v 0 and v 1 (v 0 and v 1 are each an n-dimensional vector),
Using secret n-dimensional data t = (t 1 , t 2 ,..., T n ), one of v 0 i and v 1 i is set to x i and the other is set to x * i according to t i. ,
For at least two n-dimensional public key vectors a and b for i = 1 to n,
a = (a 1 , a 2 ,..., a n ), b = (b 1 , b 2 ,..., b n ))
a i = wf i (x i ) modP
b i = wg i (x * i) modP
A public key creation program, characterized in that an instruction for creating a public key is provided.
前記公開鍵ベクトルa,bと、下式を充たす変換として定義される可逆プリコーディングHとを、 C=ma+mb により、平文ベクトルmを暗号文Cに暗号化するための公開鍵とする、ことを特徴とする、請求項5の公開鍵の作成プログラム。
プリコーディング間の順序をi=1〜nとして、
H=(H,H,…,H)
=H(m,m,…,m)
=H(m,m,…,m )
The public key vectors a and b and the reversible precoding H defined as a transformation satisfying the following expression are used as public keys for encrypting the plaintext vector m into the ciphertext C by C = ma + m * b. The public key creation program according to claim 5, wherein:
The order between precoding is set as i = 1 to n.
H = (H 1 , H 2 ,..., H n )
m i * = H i (m 1 , m 2 ,..., m i )
m i = H i (m 1 , m 2 ,..., m i * )
前記秘密鍵ベクトルv,vの一方を乱数ベクトル、他方を以下の条件により定義される準超増加ベクトルとしたことを特徴とする、請求項5または6の公開鍵の作成プログラム。
を準超増加ベクトルとした際に、i+j=n+1 かつ j=1〜nの3n/4個以上のjについて、
,vの双方の成分の1〜j−1までの和をSj−1として、 v >Sj−1+v
(ただしvを準超増加ベクトルとする場合、 v >Sj−1+v )
The public key creation program according to claim 5 or 6, wherein one of the secret key vectors v 0 and v 1 is a random vector, and the other is a quasi-super-increasing vector defined by the following conditions.
When v 1 is a quasi-super-increasing vector, i + j = n + 1 and j = 1 to n of 3n / 4 or more j,
The sum of both components v 0 and v 1 from 1 to j−1 is S j−1 , and v 1 j > S j−1 + v 0 j
(However, if you want to v 1 and the quasi-super-increase vector, v 0 j> S j- 1 + v 1 j)
前記秘密鍵ベクトルv,vの一方の各成分を偶数、他方の各成分を奇数とし、かつ
=2i−1
=2i−1
としたことを特徴とする、請求項5または6の公開鍵の作成プログラム。
Each component of the secret key vector v 0 , v 1 is an even number, the other component is an odd number, and f i = 2 i−1 x i
g i = 2 i−1 x * i
The public key creation program according to claim 5 or 6, characterized in that:
JP2005050403A 2005-02-25 2005-02-25 Device and program for generating public key Withdrawn JP2006235291A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005050403A JP2006235291A (en) 2005-02-25 2005-02-25 Device and program for generating public key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005050403A JP2006235291A (en) 2005-02-25 2005-02-25 Device and program for generating public key

Publications (1)

Publication Number Publication Date
JP2006235291A true JP2006235291A (en) 2006-09-07

Family

ID=37042999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005050403A Withdrawn JP2006235291A (en) 2005-02-25 2005-02-25 Device and program for generating public key

Country Status (1)

Country Link
JP (1) JP2006235291A (en)

Similar Documents

Publication Publication Date Title
Wang et al. Cryptanalysis of a symmetric fully homomorphic encryption scheme
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
Yaji et al. Privacy preserving in blockchain based on partial homomorphic encryption system for AI applications
JP5291795B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, SECURITY METHOD, PROGRAM, AND RECORDING MEDIUM
Iyer et al. A novel idea on multimedia encryption using hybrid crypto approach
JP7031580B2 (en) Cryptographic device, encryption method, decryption device, and decryption method
WO2016088453A1 (en) Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
Mandal et al. Designing and performance analysis of a proposed symmetric cryptography algorithm
CN110851845A (en) Light-weight single-user multi-data all-homomorphic data packaging method
Iavich et al. Hybrid encryption model of AES and ElGamal cryptosystems for flight control systems
Kumar et al. A survey on current key issues and status in cryptography
Sekar et al. Comparative study of encryption algorithm over big data in cloud systems
Kara et al. A Probabilistic Public-Key Encryption with Ensuring Data Integrity in Cloud Computing
JP5992651B2 (en) ENCRYPTION METHOD, PROGRAM, AND SYSTEM
JP4715748B2 (en) How to apply padding to ensure the security of cryptography
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Song et al. Favored encryption techniques for cloud storage
JP2004246350A (en) Enciphering device, deciphering device, enciphering system equipped with the same, enciphering method, and deciphering method
Jivanyan et al. Efficient oblivious transfer protocols based on white-box cryptography
JP2006235291A (en) Device and program for generating public key
Matthias et al. A Secure Model on Cloud using a Modified Rivest, Shamir and Adleman Algorithm along with Gray Codes
Rajarama et al. Diffie-Hellman Type Key Exchange, ElGamal Like Encryption/Decryption and Proxy Re-encryption Using Circulant Matrices.
EP4113894B1 (en) Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product
WO2018011825A1 (en) Encryption and decryption of messages

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071217

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090708