JP7273742B2 - 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム - Google Patents
暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム Download PDFInfo
- Publication number
- JP7273742B2 JP7273742B2 JP2020019948A JP2020019948A JP7273742B2 JP 7273742 B2 JP7273742 B2 JP 7273742B2 JP 2020019948 A JP2020019948 A JP 2020019948A JP 2020019948 A JP2020019948 A JP 2020019948A JP 7273742 B2 JP7273742 B2 JP 7273742B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- plaintext
- unit
- encryption
- equation
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
Description
はじめに実施形態で利用する代数を定義する。まず、整数の集合をZで表し、自然数qでの整数Zの剰余類をZqと記す。Zqは剰余類なので、通常、
Zq={[0],[1],・・・,[q-1]}
と記す。ここで、Zqの各元は以下のような性質を満たすことから、加減乗算が定義される。
[a]+[b]=[a+b]
[a]-[b]=[a-b]
[a]・[b]=[a・b]
このように加減乗算が定義でき、結合法則が成り立つとともに、加法の単位元0を含み且つ0以外の元xに対して足し合わせると0となる逆元[-x]を有する集合を環という。
[b]・[b-1]=[1]
を満たす逆元[b-1]を[a]に掛ける([a]・[b-1])ことにより計算される。
[0]={・・・,-2q,-q,0,q,2q,・・・}
を意味する。Zqに演算を定義するに際しては、集合[0]の要素のどの元で計算しても答えは一致することから、簡単のために集合[0]に含まれる1つの要素(代表元)で代表させて計算することを考える。この代表元は(その性格から)この集合に含まれている元であれば何でも良いのではあるが、実施形態では簡単のため、0で代表させる。同様に、[1]を1、[2]を2のように最小の正整数で代表させ、Zqを{0,1,・・・,q-1}で代表させることとする。
(t2+3t+4)+(3t2+3t+2)=4t2+t+1
(t2+3t+4)-(3t2+3t+2)=3t2+2
となり、乗算は通常のZq[t]の乗算を実行した上で、t3と1の合同を反映するため、
(t2+3t+4)・(3t2+3t+2)=3t4+12t3+23t2+18t+8
=3t4+2t3+3t2+3t+3
=3t2+t
のように計算される。また、乗算と加算(或いは減算)を組み合わせることにより、
(t2+3t+4)・(3t2+3t+2)+(4t2+3t+1)
=(3t2+t)+(4t2+3t+1)
=2t2+4t+1
のように計算ができる。このような集合をZq[t]/(tn-1)とかき、Rq,nと略記する。Rq,nは環となるが、元によっては除算も定義できる(即ち、Rq,nの元f(t)に逆元が存在する)場合があり、その必要十分条件はGCD(f(t),tn-1)=1である。
(t2+2t+3)-1=2t2+4
と計算できる。即ち、(t2+2t+3)・(2t2+4)=1により、2t2+4がt2+2t+3の逆元であることが確認できる。一方で、t2-1はt3-1と共通因子t-1を持つため、逆元を持たない。
次に、2変数多項式に関する用語と記号を定義する。まず、環R上の2変数多項式を下記式(3)により記載する。
不定方程式は変数の数が(方程式に含まれる)式の数よりも多い方程式と定義できる。不定方程式はその束縛条件が少ない一方で解の自由度が大きいため、解を持てば複数(場合によっては無数)となることが多い(これが「不定」の意味するところである。)。実際、整数係数の不定方程式の実数解(或いは複素数解)は無数に存在し、その幾つかを近似解として求めることは容易である。一方で、整数係数の不定方程式の整数解や有限体上の不定方程式の(有限体上の)解など離散的な集合に解を持つ方程式については、通常このような手法は使えない。そこで、何らかの理論的な絞り込みが必要になるが、そのような絞り込みを行っても、一般的には有限回の手段では解の存在、非存在を判定することができないことが知られている(非可解問題)。
1変数多項式環Fp[t]上定義された不定方程式X(x,y)=0が与えられた時、Fp[t]上の解ux(t),uy(t)を求める問題を一変数多項式環Fp[t]上の不定方程式の求解問題という。
システムパラメータとは、各アルゴリズムで利用されるパラメータで、安全性や復号可能性を保証するための下記パラメータ1.~8.である。
(例)ΓX={(2,0),(1,1),(0,2),(1,0),(0,1),(0,0)}
(例)Γr={1,0),(0,1),(0,0)}
(例)p=7
ここでは、前述の通り、平文多項式因子はmi(x,y)=mx,i(t)x+my,i(t)y+m1,i(t)のように書けるので、dsは下記式(14)となる。
(例)dm=1,Dm=2
(例)de=2
(例)ds=4
ここで、dfは復号を可能とするため、下記式(16)で表される条件を満たす。
ここで、g(t)はFp上既約でなくても良い。ここで、nは復号を可能とするため、下記式(17)で表される条件を満たす。
1.下記式(18)により表される不定方程式Xの最小解:u
1.下記式(19)により表される不定方程式:X(x,y)
システムパラメータp,ds,n,ΓX及びΓrを入力として以下の処理を行う。
Fp[t]の多項式ux(t),uy(t)をdegux(t)=deguy(t)=dsの条件で、一様ランダムに生成する。
(例)p=7,ds=4の場合、多項式ux(t),uy(t)は、例えば上述の式(19)により表される。
1.不定方程式の項集合ΓXから定数項a00(t)以外の項を一様ランダムに生成する。具体的な生成方法は、以下の通りである。
(a)X=0(Xに初期値0を代入)
(b)ΓXの各要素(i,j)(但し、(0,0)は除く)に対して以下を実行する。
i.次数ds以下の多項式aij(t)をFp[t]から一様ランダムに生成する。
ii.X=X+aij(t)xiyj(Xに右辺の式を代入)
(例)ds=4,ΓX={(2,0),(1,1),(0,2),(1,0),(0,1),(0,0)}のとき、生成されるX(x,y)は、例えば下記式(21)により表される。
ここで不定方程式X(x,y)は(x,y)=(ux(t),uy(t))を零点に持っているため、同じ零点を持つ別の多項式Y(x,y)と加減算した多項式X′(x,y)=X(x,y)-Y(x,y)もまた同じ零点を持つ。そこで、a00(t)をux(t)2で割った商Q(t)、余りをR(t)とすると、a00(t)=Q(t)ux(t)2+R(t)(degR(t)<2ds)と書けるので、-Q(t)x2+a00(t)-R(t)=0は(x,y)=(ux(t),uy(t))に解を持つ。そこで、Y(x,y)=-Q(t)x2+a00(t)-R(t)として、X′(x,y)=X(x,y)-Y(x,y)を計算するとX′(x,y)=X(x,y)+Q(t)x2-R(t)となり、dega00(t)>degR(t)であることから、より小さな次数の定数項を持つ多項式となるとともにX′(x,y)をあらためてX(x,y)とおき、これを繰り返すことで、最終的にdega00(t)はdsより小さくなる。
次に、実施形態の暗号化処理について説明する。
実施形態では、平文を埋め込む平文多項式は上述の式(8)のような積構造をしているため、直接埋め込むことができない。そこで、実施形態の暗号化装置は、平文を平文多項式因子mi(x,y)(i=1,・・・,Dm)に分散して埋め込む。平文多項式の因子mi(x,y)は前述の通り、mi(x,y)=mx,i(t)x+my,i(t)y+m1,i(t)と書ける。係数mx,i(t),my,i(t)及びm1,i(t)はそれぞれdm次である。実施形態の暗号化装置は、平文Mをp進展開して、下記式(26)によって表す。
1.平文を、上述の方法で次数dm次の平文多項式の因子mi(x,y)(i=1,・・・,Dm)に分散して埋め込む。m1=(1,4,2,3,6,4)(7),m2=(3,1,1,6,5,1)(7)のように分散する場合、下記のようになる。
m1(x,y)=(t+4)x+(2t+3)y+6t+4
m2(x,y)=(3t+1)x+(t+6)y+5t+1
2変数ランダム多項式r(x,y)をランダム多項式の項集合Γrから生成する。具体的な生成方法は、以下の通りである。
(a)r=0(rに初期値0を代入)
(b)Γrの各(i,j)に対して以下を実行する。
i.次数n-1の多項式rij(t)をRp,nから一様ランダムに生成する。
ii.r=r+rij(t)xiyj(rに右辺の式を代入)
(例)p=7,n=27,Dr=1のとき、生成されるランダム多項式rは、例えば下記式(28)により表される。
ノイズ多項式e(x,y)をノイズ多項式の形式Γeから生成する。具体的な生成方法は、以下の通りである。
(a)e=0(eに初期値0を代入)
(b)Γeの各(i,j)に対して以下を実行する。
i.次数deの多項式eij(t)をRp,deから一様ランダムに生成。
ii.e=e+eij(t)xiyj(eに右辺の式を代入)
(例)p=7,n=27,Dr=1,de=2のとき、生成されるノイズ多項式eは、例えば下記式(29)により表される。
下記式(30)によって暗号文c(x,y)=Epk(M,f,r,e;X)を計算する。
次に、実施形態の復号処理について説明する。
復号アルゴリズムは以下の通りである。
解uをc(x,y)に代入して下記式(32)を計算する。
本例の場合は、下記式(36)となる。
本例の場合は、因子(t+1)(t4+t3+t2+5)から(3t+5)x+(6t+2)y+4t+5が復元される。また、因子(t+4)(t4+2t3+2t2+2t+6)から(2t+3)x+(3t+4)y+t+3が復元される。すなわち、因子の組み合わせが2通りあるため、1つに特定する必要がある。
次に、因子の組み合わせの特定の仕方と、復元について説明する。上述の復号アルゴリズムのステップ4で得られたmi(ux(t),uy(t))から平文多項式の因子mi(x,y)を復元する方法を示す。ここでは記述を簡略化するため、添え字を付けず、m(ux(t),uy(t))から平文多項式の因子m(x,y)を復元するアルゴリズムを示す。
次に、M(ux(t),uy(t))を因数分解したときに得られる因子から、平文多項式の因子に対応する因子m(ux(t),uy(t))の候補を抽出して、絞り込む方法について、実施形態で利用している例を利用して詳しく説明する。
以下では実施形態の幾つかのバリエーションを述べる。
上述の実施形態ではノイズ多項式は係数となる1変数多項式の係数がdeに制限されている以外の制約はないが、これを平文多項式と同じ積の構造に展開するバリエーションが考えられる。即ち、ノイズ多項式を下記式(45)によって定義する。
上述の実施形態の暗号文cは下記式(47)の形式となっている。
ト分のデータが埋め込めるのに対して、2次の場合はその約2倍の|6p(dm+1)|ビット分のデータが埋め込める。
上述の実施形態の暗号文cは上記式(47)の形式となっているが、下記式(49)の形式のように、ランダム多項式とノイズ多項式の符号(+又は-)の組み合わせを考慮することによって、4通りのバリエーションが考えられる。
本実施形態では一貫しRp,n上の2変数多項式を扱ってきたが、これを一般のl変数(多変数)としても本実施形態と同様に暗号化アルゴリズム、復号アルゴリズム、鍵生成アルゴリズムが成り立つ。変数の数が3つより多くなっても不定方程式X(x1,・・・,xl)が1つであれば不定方程式であることに変わりはなく、その求解問題は計算困難である。それどころか、変数が増えると多くの場合より計算困難な問題となり、安全性が強化される。そのため鍵サイズが削減可能となるだけでなく、変数が多いため、埋め込める平文のサイズは増える。一方で、復元する係数が増えるためシステムパラメータはds=l(dm+1)に変更しなければならない。
本実施形態の公開鍵である不定方程式X(x,y)の係数は次数をds(<n)として多項式集合Rp,dsから選択している。これは耐量子計算機暗号における課題の1つである公開鍵サイズの削減と、公開鍵各項の係数の次数を合わせるための設定である。しかし、公開鍵サイズに制限を設ける必要がないハイエンドなアプリケーションにおいてはより安全性を重視してRp,nを用いることも可能であるし、よりローエンドなアプリケーションに関しては定数項以外の係数をより小さく取ることも可能である。そうすることによって公開鍵サイズが更に削減され、実装され易くなる。
次に本実施形態の公開鍵暗号における暗号化装置、復号装置及び鍵生成装置の具体的な構成とその動作方法を示す。
方程式X′(x,y)を生成する(ステップS43)。次に、不定方程式生成部45は、秘密鍵(多項式ux(t),uy(t))をX′(x,y)の変数x,yにそれぞれ代入することで、定数項a00(t)=-X′(ux(t),uy(t))を計算する(ステップS44)。
以下では本実施形態で構成した本発明の公開鍵暗号の安全性に関して考察する。
公開鍵X,fと、これに対応したRp,n上の多項式Y(=m1m2・・・mk+Xr+f・e)が与えられたとき、集合Fm/Rp,dmに属する多項式mi(i=1,・・・,k)の積Mを求める問題と捉えて検討する。実際、Mが正しく求まれば因数分解により、多項式mi(i=1,・・・,k)が求まり、解読が可能となる。
degmi(x,y)=1(i=1,・・・,k)
DX=2
ここで、上述の式(58)の連立方程式を部分的に解く攻撃を検討する。例えば、上述の式(58)の連立方程式のうち最初の式M20+a10r10+fe20=d20のみが解けるか検討する。これが解ければ平文多項式の部分情報M20が取得できる。しかし、この方程式は変数の数が2dm+de+n+2個で式の数がn個であるから、明らかに不定となる。これは他のどの式でも1つ取り出すだけでは事情は変わらない。
M20+a10r10+fe20=d20
M10+a10r00+a00r10+fe10=d10
M00+a00r00+fe00=d00
の場合は、最も多くの変数を含むr10,r00が重なっているため、変数の数は2n+(DX+Dr+1)(dm+2de+2)個、式の個数は3n個となるので、線形代数攻撃の分析と同様にDXを固定して、deを増やすことにより、変数の数が式の数を超えることが期待できる。実際、DX=2の場合に図10と同じパラメータで計算すると、局所方程式の場合も、図11のように不定となることが確認できた。
本暗号方式では係数環をRp,n(=Fp/g(t))とする不定方程式X(x,y)=0の解のうち、Rp,dsに含まれる解を秘密鍵としている。このため、この秘密鍵を求めることができれば,本暗号は解読される。
図12は実施形態の暗号化装置10、復号装置20及び鍵生成装置40のハードウェア構成の例を示す図である。
2 公開鍵取得部
3 平文埋め込み部
4 記憶部
5 暗号化部
6 多項式生成部
7 ランダム値生成部
8 多項式演算部
9 暗号文出力部
10 暗号化装置
20 復号装置
21 暗号文取得部
22 鍵取得部
23 復号部
24 零点代入部
25 多項式演算部
26 因数分解部
27 記憶部
28 組合せ計算部
29 平文多項式因子復元部
30 平文検査部
31 平文出力部
40 鍵生成装置
41 システムパラメータ取得部
42 制御部
43 多項式生成部
44 ランダム値生成部
45 不定方程式生成部
46 多項式演算部
47 鍵出力部
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信装置
310 バス
Claims (10)
- 環Fp[t]/g(t)(Fp[t]は、有限体Fp上の1変数多項式環、g(t)は法多項式)の元を係数に持つ多変数不定方程式X(x1,・・・,xl)と、識別多項式f(t)とを含む公開鍵を取得する公開鍵取得部と、
メッセージmを、前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つ複数個の平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)の係数として分散して埋め込む平文埋め込み部と、
前記平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)を掛け合わせた平文多項式M(x1,・・・,xl)を生成する多項式演算部と、
前記環Fp[t]/g(t)の元を係数に持つランダム多項式r(x1,・・・,xl)をランダムに生成する第1の多項式生成部と、
前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つノイズ多項式e(x1,・・・,xl)をランダムに生成する第2の多項式生成部と、
前記平文多項式M(x1,・・・,xl)に対し、前記識別多項式f(t)と,前記ランダム多項式r(x1,・・・,xl)と,前記ノイズ多項式e(x1,・・・,xl)と、前記多変数不定方程式X(x1,・・・,xl)とを用いて、
を備える暗号化装置。 - 前記多変数不定方程式X(x1,・・・,xl)の解の次数ds、及び、前記平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)に含まれる各係数の次数の最大値dmは、ds≧l(dm+1)を満たす、
請求項1に記載の暗号化装置。 - 前記識別多項式f(t)の次数df、前記平文多項式因子mi(x1,・・・,xl)の数Dm、前記多変数不定方程式X(x1,・・・,xl)の解の次数ds、及び、前記ノイズ多項式e(x1,・・・,xl)に含まれる各係数の次数の最大値deは、df>Dm(ds+de)を満たす、
請求項1に記載の暗号化装置。 - 前記法多項式g(t)の次数n、前記識別多項式f(t)の次数df、前記多変数不定方程式X(x1,・・・,xl)の総次数Dx、前記ランダム多項式r(x1,・・・,xl)の総次数Dr、前記多変数不定方程式X(x1,・・・,xl)の解の次数ds、及び、前記ノイズ多項式e(x1,・・・,xl)に含まれる各係数の次数の最大値deは、n>df+(Dx+Dr)ds+deを満たす、
請求項1に記載の暗号化装置。 - 環Fp[t]/g(t)(Fp[t]は、有限体Fp上の1変数多項式環、g(t)は法多項式)の元を係数に持つ多変数不定方程式X(x1,・・・,xl)と、識別多項式f(t)とを含む公開鍵を取得し、秘密鍵として、前記多変数不定方程式X(x1,・・・,xl)の零点u(x1,・・・,xl)=(ux1(t),・・・,uxl(t))を取得する鍵取得部と、
暗号文c(x1,・・・,xl)に対し、前記零点uを代入して1変数多項式h(t)を生成する零点代入部と、
前記1変数多項式h(t)に対し、前記識別多項式f(t)で割った余りとして、1変数多項式μ(t)を得る多項式演算部と、
前記1変数多項式μ(t)を前記有限体Fp上で因数分解することにより、第1の因子を取得する因数分解部と、
前記第1の因子を組み合わせて、前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つ複数個の平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)の積である平文多項式の因子に前記零点uが代入された第2の因子を求める組合せ計算部と、
前記第2の因子と、前記零点uとを用いて連立1次方程式を導き、前記連立1次方程式を解くことにより前記平文多項式因子mi(x1,・・・,xl)を復元する平文多項式因子復元部と、
前記平文多項式因子mi(x1,・・・,xl)から平文ベクトルを抽出し、前記平文ベクトルの要素の積を計算してメッセージmを復号する復号部と、
前記メッセージmから認証子を抽出し、前記認証子を検証する平文検査部と、
前記認証子の検証が成功したメッセージmを復号結果として出力する平文出力部と、
を備える復号装置。 - 前記認証子は、暗号化対象データから所定の演算によって算出され、
前記メッセージmは、前記暗号化対象データと前記認証子とを含む、
請求項5に記載の復号装置。 - 暗号化装置が、環Fp[t]/g(t)(Fp[t]は、有限体Fp上の1変数多項式環、g(t)は法多項式)の元を係数に持つ多変数不定方程式X(x1,・・・,xl)と、識別多項式f(t)とを含む公開鍵を取得するステップと、
前記暗号化装置が、メッセージmを、前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つ複数個の平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)の係数として分散して埋め込むステップと、
前記暗号化装置が、前記平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)を掛け合わせた平文多項式M(x1,・・・,xl)を生成するステップと、
前記暗号化装置が、前記環Fp[t]/g(t)の元を係数に持つランダム多項式r(x1,・・・,xl)をランダムに生成するステップと、
前記暗号化装置が、前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つノイズ多項式e(x1,・・・,xl)をランダムに生成するステップと、
前記暗号化装置が、前記平文多項式M(x1,・・・,xl)に対し、前記識別多項式f(t)と,前記ランダム多項式r(x1,・・・,xl)と,前記ノイズ多項式e(x1,・・・,xl)と、前記多変数不定方程式X(x1,・・・,xl)とを用いて、
を含む暗号化方法。 - 復号装置が、環Fp[t]/g(t)(Fp[t]は、有限体Fp上の1変数多項式環、g(t)は法多項式)の元を係数に持つ多変数不定方程式X(x1,・・・,xl)と、識別多項式f(t)とを含む公開鍵を取得し、秘密鍵として、前記多変数不定方程式X(x1,・・・,xl)の零点u(x1,・・・,xl)=(ux1(t),・・・,uxl(t))を取得するステップと、
前記復号装置が、暗号文c(x1,・・・,xl)に対し、前記零点uを代入して1変数多項式h(t)を生成するステップと、
前記復号装置が、前記1変数多項式h(t)に対し、前記識別多項式f(t)で割った余りとして、1変数多項式μ(t)を得るステップと、
前記復号装置が、前記1変数多項式μ(t)を前記有限体Fp上で因数分解することにより、第1の因子を取得するステップと、
前記復号装置が、前記第1の因子を組み合わせて、前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つ複数個の平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)の積である平文多項式の因子に前記零点uが代入された第2の因子を求めるステップと、
前記復号装置が、前記第2の因子と、前記零点uとを用いて連立1次方程式を導き、前記連立1次方程式を解くことにより前記平文多項式因子mi(x1,・・・,xl)を復元するステップと、
前記復号装置が、前記平文多項式因子mi(x1,・・・,xl)から平文ベクトルを抽出し、前記平文ベクトルの要素の積を計算してメッセージmを復号するステップと、
前記復号装置が、前記メッセージmから認証子を抽出し、前記認証子を検証するステップと、
前記復号装置が、前記認証子の検証が成功したメッセージmを復号結果として出力するステップと、
を含む復号方法。 - コンピュータを、
環Fp[t]/g(t)(Fp[t]は、有限体Fp上の1変数多項式環、g(t)は法多項式)の元を係数に持つ多変数不定方程式X(x1,・・・,xl)と、識別多項式f(t)とを含む公開鍵を取得する公開鍵取得部と、
メッセージmを、前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つ複数個の平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)の係数として分散して埋め込む平文埋め込み部と、
前記平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)を掛け合わせた平文多項式M(x1,・・・,xl)を生成する多項式演算部と、
前記環Fp[t]/g(t)の元を係数に持つランダム多項式r(x1,・・・,xl)をランダムに生成する第1の多項式生成部と、
前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つノイズ多項式e(x1,・・・,xl)をランダムに生成する第2の多項式生成部と、
前記平文多項式M(x1,・・・,xl)に対し、前記識別多項式f(t)と,前記ランダム多項式r(x1,・・・,xl)と,前記ノイズ多項式e(x1,・・・,xl)と、前記多変数不定方程式X(x1,・・・,xl)とを用いて、
として機能させるための暗号化プログラム。 - コンピュータを、
環Fp[t]/g(t)(Fp[t]は、有限体Fp上の1変数多項式環、g(t)は法多項式)の元を係数に持つ多変数不定方程式X(x1,・・・,xl)と、識別多項式f(t)とを含む公開鍵を取得し、秘密鍵として、前記多変数不定方程式X(x1,・・・,xl)の零点u(x1,・・・,xl)=(ux1(t),・・・,uxl(t))を取得する取得部と、
暗号文c(x1,・・・,xl)に対し、前記零点uを代入して1変数多項式h(t)を生成する零点代入部と、
前記1変数多項式h(t)に対し、前記識別多項式f(t)で割った余りとして、1変数多項式μ(t)を得る多項式演算部と、
前記1変数多項式μ(t)を前記有限体Fp上で因数分解することにより、第1の因子を取得する因数分解部と、
前記第1の因子を組み合わせて、前記環Fp[t]/g(t)の元のうち次数が制限された多項式を係数に持つ複数個の平文多項式因子mi(x1,・・・,xl)(i=1,・・・,k)の積である平文多項式の因子に前記零点uが代入された第2の因子を求める組合せ計算部と、
前記第2の因子と、前記零点uとを用いて連立1次方程式を導き、前記連立1次方程式を解くことにより前記平文多項式因子mi(x1,・・・,xl)を復元する平文多項式因子復元部と、
前記平文多項式因子mi(x1,・・・,xl)から平文ベクトルを抽出し、前記平文ベクトルの要素の積を計算してメッセージmを復号する復号部と、
前記メッセージmから認証子を抽出し、前記認証子を検証する平文検査部と、
前記認証子の検証が成功したメッセージmを復号結果として出力する平文出力部、
として機能させるための復号プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020019948A JP7273742B2 (ja) | 2020-02-07 | 2020-02-07 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
US17/004,211 US11288985B2 (en) | 2020-02-07 | 2020-08-27 | Encryption device, decryption device, encryption method, decryption method, encryption program product, and decryption program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020019948A JP7273742B2 (ja) | 2020-02-07 | 2020-02-07 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021124679A JP2021124679A (ja) | 2021-08-30 |
JP7273742B2 true JP7273742B2 (ja) | 2023-05-15 |
Family
ID=77177234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020019948A Active JP7273742B2 (ja) | 2020-02-07 | 2020-02-07 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11288985B2 (ja) |
JP (1) | JP7273742B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220014366A1 (en) * | 2020-07-13 | 2022-01-13 | Synopsys, Inc. | Key protection using a noising and de-noising scheme |
CN115879552B (zh) * | 2021-09-28 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子模数乘逆运算方法、装置、电子装置及模数算术组件 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001255814A (ja) * | 2000-03-10 | 2001-09-21 | Murata Mach Ltd | 復号方法、復号装置、及び復号プログラムの記録媒体 |
JP4774492B2 (ja) * | 2003-10-28 | 2011-09-14 | 財団法人生産技術研究奨励会 | 認証システム及び遠隔分散保存システム |
JP4575283B2 (ja) * | 2005-11-15 | 2010-11-04 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
JP4664850B2 (ja) * | 2006-03-30 | 2011-04-06 | 株式会社東芝 | 鍵生成装置、プログラム及び方法 |
JP4197710B2 (ja) * | 2006-07-19 | 2008-12-17 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
JP2009116183A (ja) * | 2007-11-08 | 2009-05-28 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
JP2009175197A (ja) * | 2008-01-21 | 2009-08-06 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
US8520854B2 (en) * | 2008-08-28 | 2013-08-27 | Red Hat, Inc. | Sharing a secret using polynomials over polynomials |
JP2010204466A (ja) | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
JP5736816B2 (ja) * | 2010-05-31 | 2015-06-17 | ソニー株式会社 | 認証装置、認証方法、プログラム、及び署名生成装置 |
JP5594034B2 (ja) * | 2010-07-30 | 2014-09-24 | ソニー株式会社 | 認証装置、認証方法、及びプログラム |
JP6173904B2 (ja) * | 2013-12-13 | 2017-08-02 | 株式会社東芝 | 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム |
CN105337737B (zh) * | 2014-07-03 | 2018-11-20 | 华为技术有限公司 | 公钥加密通信方法和装置 |
NL2013520B1 (en) * | 2014-09-24 | 2016-09-29 | Koninklijke Philips Nv | Public-key encryption system. |
DE102018108313A1 (de) * | 2018-04-09 | 2019-10-10 | Infineon Technologies Ag | Verfahren und Verarbeitungsvorrichtung zum Ausführen einer kryptografischen Operation auf Gitterbasis |
-
2020
- 2020-02-07 JP JP2020019948A patent/JP7273742B2/ja active Active
- 2020-08-27 US US17/004,211 patent/US11288985B2/en active Active
Non-Patent Citations (4)
Title |
---|
AKIYAMA, K. et al.,A Public-key Encryption Scheme Based on Non-linear Indeterminate Equations (Giophantus),Cryptology ePrint Archive,Paper 2017/1241 ver:20180730:082044,[online],2018年07月30日,pp.1-52,<URL:https://eprint.iarc.org/archive/2017/20180730:082044> |
秋山浩一郎 他,一方向性を仮定した不定方程式暗号のバリエーションに関する考察,2020年 暗号と情報セキュリティシンポジウム予稿集,2020年01月,pp.1-8 |
秋山浩一郎 他,不定方程式暗号における鍵復元攻撃の改良及びパラメータの考察,2018年 暗号と情報セキュリティシンポジウム予稿集,pp.1-8 |
秋山浩一郎 他,不定方程式暗号のバリエーションに対する鍵復元攻撃に関する考察,2019年 暗号と情報セキュリティシンポジウム予稿集 ,2019年01月,pp.1-8 |
Also Published As
Publication number | Publication date |
---|---|
JP2021124679A (ja) | 2021-08-30 |
US20210248928A1 (en) | 2021-08-12 |
US11288985B2 (en) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363030B (zh) | 用于执行基于格的密码操作的方法和处理设备 | |
EP1467512B1 (en) | Encryption process employing chaotic maps and digital signature process | |
US7688973B2 (en) | Encryption apparatus, decryption apparatus, key generation apparatus, program, and method | |
JP2008252299A (ja) | 暗号処理システム及び暗号処理方法 | |
JPH08504962A (ja) | 暗号化方法 | |
JP7328969B2 (ja) | 暗号システムおよび方法 | |
JP7273742B2 (ja) | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム | |
US11838431B2 (en) | Cryptographic operation | |
Lin et al. | Effective generalized equations of secure hyperelliptic curve digital signature algorithms | |
US6480606B1 (en) | Elliptic curve encryption method and system | |
Muhammad et al. | Loop-based RSA key generation algorithm using string identity | |
Gaithuru et al. | Insight into the operation of NTRU and a comparative study of NTRU, RSA and ECC public key cryptosystems | |
JP2007187908A (ja) | サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法 | |
US20220150064A1 (en) | Encryption device, decryption device, encryption method, decryption method, and computer program products | |
Petzoldt et al. | Eliminating decryption failures from the simple matrix encryption scheme | |
JP2003255831A (ja) | 楕円曲線スカラー倍計算方法及び装置 | |
Ahirwal et al. | Signcryption scheme that utilizes elliptic curve for both encryption and signature generation | |
Encinas et al. | Maple implementation of the Chor-Rivest cryptosystem | |
Koç et al. | Development of Cryptography since Shannon | |
Priyatharsan et al. | A new elliptic curve cryptographic system over the finite fields | |
Mohapatra | Signcryption schemes with forward secrecy based on elliptic curve cryptography | |
US20240205006A1 (en) | Encryption device, decryption device, key generation device, encryption method, decryption method, key generation method, computer program product for encryption, computer program product for decryption, and computer program product for key generation | |
WO2003013052A1 (en) | Cryptosystems based on non-commutatity | |
US20240195607A1 (en) | Encryption device, key generation device, and computer program product for encryption | |
Faraoun | A novel verifiable and unconditionally secure (m, t, n)-threshold multi-secret sharing scheme using overdetermined systems of linear equations over finite Galois fields |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230320 |
|
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: 20230404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230428 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7273742 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |