JP7443217B2 - 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム - Google Patents
暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム Download PDFInfo
- Publication number
- JP7443217B2 JP7443217B2 JP2020188737A JP2020188737A JP7443217B2 JP 7443217 B2 JP7443217 B2 JP 7443217B2 JP 2020188737 A JP2020188737 A JP 2020188737A JP 2020188737 A JP2020188737 A JP 2020188737A JP 7443217 B2 JP7443217 B2 JP 7443217B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- variable
- plaintext
- unit
- factors
- 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
- 238000000034 method Methods 0.000 title claims description 105
- 238000004364 calculation method Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 22
- 238000000354 decomposition reaction Methods 0.000 claims description 20
- 239000000284 extract Substances 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 description 40
- 238000003860 storage Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000006467 substitution reaction Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 241000700124 Octodon degus Species 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 101150027068 DEGS1 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013019 agitation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- 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
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)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Description
はじめに実施形態で利用する代数を定義する。まず、整数の集合をZで表し、自然数pでの整数Zの剰余類をZpと記す。Zpは剰余類なので、通常、
Zp={[0],[1],・・・,[p-1]}
と記す。ここで、Zpの各元は以下のような性質を満たすことから、加減乗算が定義される。
[a]+[b]=[a+b]
[a]-[b]=[a-b]
[a]・[b]=[a・b]
このように加減乗算が定義でき、結合法則が成り立つとともに、加法の単位元0を含み且つ0以外の元xに対して足し合わせると0となる逆元[-x]([x]+[-x]=[0])を有する集合を環という。更に、可換則([a]+[b]=[b]+[a]、[a]・[b]=[b]・[a])が成り立つ環を可換環といい、加えて乗法の単位元[1]を持つとき単位元を持つ可換環という。
[b]・[b-1]=[1]
を満たす逆元[b-1]を[a]に掛ける([a]・[b-1])ことにより計算される。
[0]={・・・,-2p,-p,0,p,2p,・・・}
を意味する。Zpに演算を定義するに際しては、集合[0]の要素のどの元で計算しても答えは一致することから、簡単のために集合[0]に含まれる1つの要素(代表元)で代表させて計算することを考える。この代表元は(その性格から)この集合に含まれている元であれば何でも良いのではあるが、実施形態では簡単のため、0で代表させる。同様に、[1]を1、[2]を2のように最小の正整数で代表させ、Zpを{0,1,・・・,q-1}で代表させることとする。
次に、2変数多項式に関する用語と記号を定義する。まず、環R上の2変数多項式を下記式(1)により記載する。
一変数多項式環Fp[t]上の方程式X(x,y)=0を満たす一変数多項式環Fp[t]上の元の対(ux(t),uy(t))を方程式X(x,y)=0の解という。また、X(x,y)を多項式と見たとき、方程式X(x,y)=0の解をX(x,y)の零点という。
一変数多項式環Fp[t]の多項式f(t),g(t)の最大公約式(GCD:Greatest Common Divisor)をa(t)とすると、a(t)はユークリッド互除法によって求められることは良く知られている事実である。これらf(t),g(t)に小さな次数のノイズe1(t),e2(t)がそれぞれ付加された場合の近似GCD計算について説明する。この近似GCD計算の演算は、実施形態の暗号方式の復号において重要な役割を果たす。
多変数多項式環Fp[t][x,y]におけるイデアルを利用した因数分解(イデアル分解)問題を定義し、その1つの解法アルゴリズムを示す。イデアル分解とはFp[t][x,y]の2つの元Xとf(=Πj=1 nhj+Xr)が与えられたときhj(∈Fp[t][x,y])(j=1,・・・,n)を求める問題である。ここで、rもFp[t][x,y]の元であり、いわば、剰余環Fp[t][x,y]/(X)における多項式f の因数分解問題である。
不定方程式は変数の数が(方程式に含まれる)式の数よりも多い方程式と定義できる。不定方程式はその束縛条件が少ない一方で解の自由度が大きいため、解を持てば複数(場合によっては無数)となることが多い(これが「不定」の意味するところである。)。実際、整数係数の不定方程式の実数解(或いは複素数解)は無数に存在し、その幾つかを近似解として求めることは容易である。一方で、整数係数の不定方程式の整数解など離散的な集合に解を持つ方程式については、通常このような手法は使えない。そこで、何らかの理論的な絞り込みが必要になるが、そのような絞り込みを行っても、一般的には有限回の手段では解の存在、非存在を判定することができないことが知られている(非可解問題)。
1変数多項式環Fp[t]上定義された不定方程式X(x,y)=0が与えられた時、Fp[t]上の一変数多項式解ux(t),uy(t)を求める問題を一変数多項式環Fp[t]上の不定方程式の求解問題、もしくは有限体Fp上定義された代数曲面X(x,y)上の求セクション問題という。
システムパラメータとは、各アルゴリズムで利用されるパラメータで、安全性や復号可能性を保証するためのパラメータである。システムパラメータは任意に設定可能な独立パラメータと、独立パラメータから導出される従属パラメータからなり、以下の通りに定められる。独立パラメータは以下の1~7である。
(例)p=7
実施形態ではds=degux(t)=deguy(t)とする。
(例)d=9
(例)DX=2
(例)Dm=2
(例)Dr=1
(例)Ds=1
(例)De=0
(例)dX=d-1
(例)dm=2
(例)dr=2
(例)ds=2
(例)de=2
公開鍵暗号の鍵は秘密鍵と公開鍵からなる。以下では、実施形態における鍵を具体的に示す。まず秘密鍵は、下記式(29)により表される不定方程式Xの解uである。
秘密鍵及び公開鍵は、上述のシステムパラメータを入力として、以下の処理を行うことで生成される。秘密鍵(多項式ux(t),uy(t)(∈Fp[t]))は、degux(t)=deguy(t)=dの条件で、一様ランダムに生成される。
(例)d=9,p=7の場合、秘密鍵は上述の式(30)により表される。
1.不定方程式の項集合ΓDx,dxから定数項τ00(t)以外の項を一様ランダムに生成
具体的な生成方法は、
(a)X(x,y)=0
(b)ΓDxの各要素(i,j)(但し、(0,0)は除く)に対して以下を実行する。
i.次数dXの多項式τij(t)をFp[t]から一様ランダムに生成。
ii.X(x,y)=X(x,y)+τij(t)xi
(例)p=7,d=9,DX=2のとき、X(x,y)は下記式(32)により表される。
解(ux(t),uy(t))を持つ不定方程式X(x,y)は任意の一変数多項式q(t)に対してX(x,y)+q(t)xiyi-q(t)ux(t)iuy(t)jという変形を施しても同一の解(ux(t),uy(t))を持つ。ここで、iを0≦i≦degX(x,y)なる範囲の整数とし、下記式(36)とする。
上述の公開鍵の生成アルゴリズムから明らかなように、公開鍵となる不定方程式X(x,y)の各項の係数(xi(i=0,・・・DX)の項以外)はランダムに生成される。したがって、この部分は乱数のシードだけを公開して、特定の疑似乱数生成関数やハッシュ関数などを利用して生成することができる。よって、公開するのはこのシードと調整された部分の係数のみとすることにすることができ、公開鍵のサイズが圧縮される。上記式(37)の例では、下記式(38)の部分のみ実際の係数を公開し、その他の項はシード(通常はセキュリティパラメータだけのビット長をもつ)を公開することにより生成できる。
次に、実施形態の暗号化処理について説明する。
実施形態では、平文を埋め込む平文多項式は上述の式(23)のような積構造をしているため、直接埋め込むことができない。そこで、実施形態の暗号化装置は、平文を平文多項式因子mj(x,y)(i=1,・・・,Dm)に分散して埋め込む。平文多項式の因子mj(x,y)は前述の通り、mj(x,y)=mj,x(t)x+mj,y(t)y+mj,1(t)と書ける。係数mj,x(t),mj,y(t)及びmj,1(t)はそれぞれdm次である。実施形態の暗号化装置は、平文Mをp進展開して、下記式(39)によって表す。
1.平文を、上述の方法で次数dm次の平文多項式の因子mj(x,y)(j=1,・・・,Dm)に分散して埋め込む。平文(3,0,1,1,5)(7)を、m1=(2,5,5,2,3)(7),m2=(6,6,5,1,2)(7),m3=(2,3,5,5,0)(7)のように分散する場合、下記のようになる。
m1(x,y)=(2t+1)x+(5t+5)y+2t+3
m2(x,y)=(6t+1)x+(6t+5)y+t+2
m3(x,y)=(2t+1)x+(3t+5)y+5t
dr次以下の係数を持つDr次の2変数ランダム多項式rk(x,y)をランダムに項集合ΓDr、drから生成する。具体的な生成方法は、以下の通りである。
(a)rk(x,y)=0(rkに初期値0を代入)
(b)各(i,j)∈ΓDrに対して以下を実行する。
i.次数drの多項式rij(t)をFp[t]から一様ランダムに生成する。
ii.rk=rk+rij(t)xiyj(rkに右辺の式を代入)
(例)p=7,Dr=2,dr=1のとき、生成されるランダム多項式rkは、例えば下記式(41)により表される。
ds次以下の係数を持つDs次の2変数ランダム多項式sk(x,y)をランダムに項集合ΓDs、dsから生成する。具体的な生成方法は、以下の通りである。
(a)sk(x,y)=0(skに初期値0を代入)
(b)各(i,j)∈ΓDsに対して以下を実行する。
i.次数dsの多項式sij(t)をFp[t]から一様ランダムに生成。
ii.sk=sk+sij(t)xiyj(skに右辺の式を代入)
(例)p=7,Ds=1,ds=1のとき、生成されるランダム多項式skは、例えば下記式(42)により表される。
de次以下の係数を持つノイズ多項式ek(x,y)をノイズ多項式の形式ΓDe,deから生成する。具体的な生成方法は、以下の通りである。
(a)ek(x,y)=0(ekに初期値0を代入)
(b)各(i,j)∈ΓDeに対して以下を実行する。
i.次数deの多項式eij(t)をFp[t]から一様ランダムに生成。
ii.ek=ek+eij(t)xiyj(ekに右辺の式を代入)
(例)p=7,De=0,de=3のとき、生成されるノイズ多項式ekは、例えば下記式(43)により表される。
下記式(44)によって暗号文c(x,y)=Epk(M,si,ri,ei,X)を計算する。
次に、実施形態の1つ目の復号処理について説明する。
復号アルゴリズムは以下の通りである。
解uをck(x,y)に代入して下記式(47)を計算する。
これは、上述の式(13)の条件が成り立つときに成立するが、上述の式(13)の条件は後述の条件(62)によって保証される。本例では、下記式(50)により表される。
本例の場合は下記式(51)に分解される。
本例の場合は、因子(t+2)(t+3)(t8+5t6+3t5+t4+6t3+4t2+t+1)から(2t+1)x+(5t+5)y+2t+3が復元できる。また、因子(t2+t+4)(t8+3t7+6t6+6t5+4t4+t3+4t2+6t+5)から(5t+1)x+(4t+4)y+5t+3が復元できる。また、(t10+4t9+4t7+2t6+5t4+5t3+5t2+t+2)から(2t+1)x+(3t+5)y+5tが復元できる。因子の組み合わせの求め方と平文多項式因子の復元についての詳細は、[平文多項式因子の絞り込み]及び[平文多項式因子の復元]で後述する。
次に、復号アルゴリズムのステップ4で得られた因子の組み合わせから平文多項式の因子mi(x,y)を復元する方法を示す。ここでは記述を簡略化するため、添え字を付けず、m(ux(t),uy(t))から平文多項式の因子m(x,y)を復元するアルゴリズムを示す。
次に、M(ux(t),uy(t))を因数分解したときに得られる因子から、平文多項式の因子に対応する因子m(ux(t),uy(t))の候補を抽出して、絞り込む方法について、実施形態で利用している例に基づいて詳しく説明する。
復号(その1)においては、ステップ2で実行する近似GCD計算を成立させる条件(13)を成立させるため、下記式(60)及び(61)の条件が必要である。
次に、実施形態の2つ目の復号処理について説明する。上述の復号(その1)では暗号文(c1,c2)に秘密鍵である解(ux(t),uy(t))を代入して得られた2つの式の近似GCD計算によってΠj=1 Dmmj(ux(t),uy(t))を求めた。更にこれを因数分解することによって、個々の因子mj(ux(t),uy(t))を求め、対応する因子mj(x,y)を復元している。しかし、この方法では復元するためにd≧(dm+1)なる条件を満たさなければならず、dを固定するとdmが制約を受け、各mj(x,y)の係数の次数を下げる必要がある。
(例)p=7,d=3,DX=2のとき、下記式(64)により表される。
復号(その2)の復号アルゴリズムは以下の通りである。
解uをck(x,y)に代入して下記式(68)を計算する。
これは、上述の式(13)の条件が成り立つときに成立するが、上述の式(13)の条件は上述の条件(62)によって保証される。本例では、M(ux(t),uy(t))は下記式(70)により表される。
ステップ2で計算したM(ux(t),uy(t))から下記式(71)によりek(ux(t),uy(t))を計算し、上述の復号(その1)で述べた復元方法によりek(x,y)を復元する。
ck‐ekを計算することでこれを導出する。本例では、下記式(73)及び(74)となる。
イデアル分解の具体的な方法は、上述のイデアル分解の説明の通りである。本例では、c1‐e1から、下記式(75)に分解され、c2‐e2から、下記式(76)に分解される。
しい平文多項式以外は次のステップ6でほとんど棄却可能である。
rk=(ck‐ek‐Πj=1 Dmmj・sk)/Xにより、rkを復元する。
mj,sk,rk,ekの全てが復元された場合、平文多項式因子mj(x,y)から上述の式(21)によってM(x,y)を復元し、その係数から平文Mを復元する。mj,sk,rk,ekの全てが復元された場合、平文多項式因子から平文Mを復元する。
復号(その2)においてもステップ2で実行する近似GCD計算を成立させる条件(62)は必要だが、多項式を復元するための条件(55)はノイズ多項式復元のための条件d≧2(de+1)に変わる。これと安全性を確保するための条件を合わせると下記式(78)が復号と安全性を両立させるための条件となる。
復号(その1)及び復号(その2)は、共通して近似GCD計算を利用しており、これが成功するための条件(62)がそれぞれパラメータの条件(63)(78)に反映されている。
次に、degΠj=1 Dmmj(ux(t),uy(t))やdegsi(ux(t),uy(t))の各係数の分布がそれぞれ独立の一様分布であると仮定して、条件(60)(61)が成り立たなくなる確率を求める。
本実施形態における暗号文は式(44)で定義されるが、これを下記式(82)としても、同様に、実施形態の暗号化方法及び復号方法は成立し、後述の安全性検証も成り立つ。
上述の実施形態では公開鍵である不定方程式X(x,y)の係数は定数項以外を一様ランダムに取り、一部の項(上述の実施形態ではxi(i=0,・・・,DX)の項)のみを調整した。調整には秘密鍵の情報が必要だが、調整していない項はランダムのままであるので、生成に利用したシードを公開すれば、特定の疑似乱数生成関数やハッシュ関数などを指定して生成することができる。従って、公開するのはこのシードと調整された部分の係数のみとすることにすることができ、公開鍵のサイズが圧縮される。そのようにすると上述の実施形態では、下記式(83)の部分のみ実際の係数を公開し、その他の項はシード(通常はセキュリティパラメータだけのビット長をもつ)を公開することにより、次数2であれば約半分に、次数3であれば約2/5、次数4であれば約1/3に圧縮できる。
実施形態では公開鍵である不定方程式X(x,y)の係数は定数項以外を一様ランダムに取り、一部の項(上述の実施形態ではxi(i=0,・・・,DX)の項)のみを調整した。ここで各係数はFp[t]の元であり、この係数は全て非ゼロとは限らない。仮に非ゼロの係数があった場合は、暗号文のX(x,y)rk(x,y)において一部の項の係数が常にゼロとなる可能性があり、その場合は線形代数攻撃や係数比較攻撃において(全部の情報は洩れなくても)暗号文を構成するランダム多項式の一部の情報が洩れ、そこから平文の情報の一部が漏れる可能性がある。そこで、本バリエーションでは公開鍵X(x,y)の各項の係数τij(t)の係数を非ゼロにする方法について説明する。
上述の実施形態では簡単のために項集合を最大項集合に限定していた。これは未知係数を持つ多項式によって平文を効果的に隠すためには十分ではあるが、暗号文ck(x,y)における平文項Πj=1 Dmmj(x,y)sk(x,y)と公開鍵項X(x,y)r(x,y)が同じ式の形となることが条件となるので、必要とまでは言えない。そこで、これらの式の形を指定するため、パラメータDξ,dξに変えてΔξを定めることができる(ここでξにはs,r,e,Xが入る)。このように設定することで、最大項集合よりも小さな項集合で実現できるため、公開鍵、暗号文などのサイズを抑えることができる。
復号(その1)では復号(その2)のようにsk,rk,ekを求めていないが、平文多項式因子mjを求める方法と同じ方法でsk,ekを復元することが可能であり、rkについても復号(その2)における方法が利用できる。但し、この場合は前者の復元のため、条件(63)に加えて下記式(84)の条件が必要になる。
上述のsk,rk,ekを復元するバリエーションを利用すると、平文情報もしくは平文情報の一部をこれらに埋め込むことができる。このようにすることによって一度に暗号化できるビット長を大きくできるだけでなく、認証子としての情報を加えることで、暗号文を改竄する攻撃にも耐性を有する暗号方式を実現できる。尚、平文多項式に埋め込む場合も含めて、平文を埋め込む際、埋め込む領域を予め決めておくことも可能である。この場合は埋め込まない部分にはランダム値か、解読されても影響がない情報を埋め込むことにより、暗号文としての整合を保つことができる。更に、サイドチャネル攻撃のような実装によって生じた脆弱性によって一部の情報が漏洩する状況にも情報漏洩が起こる可能性がある部分には平文を埋めないことにより対応可能となる。
本実施形態では、平文項を積構造とするため、復号結果から暗号化で埋め込んだ平文の順番が分からなくなる。本実施形態において平文を分散する理由は、安全性を向上させるという理由とともに、平文をどの順番で定義しても正しい復号結果を得るようにするためである。その観点に立って考えると平文多項式因子の一部に順番を示す情報を入れておけば良く、例えば上述の式(65)に示す平文多項式因子の定数項にその情報を入れると下記式(85)のようになる。
本実施形態では平文を平文多項式因子に分散して埋め込んだが、復号(その2)を前提とすると平文多項式因子を前提とせず、平文多項式をm(x,y)として下記式(86)としても同様の構成ができる。
上述の[復号に関する注意]において述べたように近似GCD計算における入力となる近似GCDの次数dGはほとんどの場合はdG=Dm(d+dm)であるが、それよりも小さい場合や逆に大きい場合が存在する。本バリエーションではこれを考慮した実施形態を示す。これを実施するには復号(その1)、復号(その2)のいずれにおいても、近似GCD計算のステップにおいて、Dm(d+dm)よりも小さい値から次数dGを設定して実行し、平文が復元されない場合は当該dGを徐々に上げて、最終的にDm(d+dm)を超える値まで上げて実行する。このようにすることで、dG=Dm(d+dm)として実行した場合に復号失敗となっていた暗号文が復号可能となる。
本実施形態では一貫してFp[t]上の2変数多項式を扱ってきたが、これを一般のn変数としても本実施形態と同様に暗号化アルゴリズム、復号アルゴリズム、鍵生成アルゴリズムが成り立つ。変数の数が3つより多くなっても不定方程式X(x1,・・・,xn)が1つであれば不定方程式であることに変わりはなく、その求解問題は計算困難である。それどころか、変数が増えると多くの場合より計算困難な問題となり、安全性が強化される。そのため鍵サイズが削減可能となるだけでなく、変数が多いため、埋め込める平文のサイズは増える。一方で、復元する係数が増えるためシステムパラメータはds=n(dm+1)に変更しなければならない。
本実施形態ではDe=0に限定して単純化して説明していたが、De>0とすると、復号(その2)においてはe(x,y)を復元するには、e(ux(t),uy(t))から上述の式(54)に基づく線型連立方程式を立てて、これを解くアルゴリズムを適用することになる。この際に一意解を導出するためには方程式の数が変数の数以上であることが必要である。式の数は一変数多項式e(ux(t),uy(t))の次数と一致する。一方で、e(x,y)の高次の項(次数の高い項)はDe=3であればx3,x2y,xy2,y3となるなど、低次の項よりも数が多い。したがって、e(x,y)における係数の次数を高次の項の係数の次数を低くし、低次の項の係数の次数を高くすることで、変数の数を抑えながら式の数を増やすことができる。また、このように構成することで、Deを一律に決めた場合よりも復号条件(61)を満たすように構成しやすくなるという利点もある。
本実施形態では、平文多項式には積構造を持たせていたが、ノイズ多項式には積構造を持たせていなかった。これはDe=0であったことにも起因している。De>0の場合は、上述の[ノイズ多項式の係数eij(t)の次数を項毎に変えるバリエーション]でも示したようにe(x,y)を復元するためにe(ux(t),uy(t))から線型連立方程式を立てて、これを解く必要があった。ここで、積構造を導入するとノイズ多項式は複数のノイズ多項式因子の積となり、暗号文は下記式(87)となる。
本実施形態では平文を平文多項式因子に分散して埋め込んでいたが、上述の[ノイズ多項式の係数e(x,y)に積構造を導入するバリエーション]を踏まえると、平文多項式とノイズ多項式の役割を変更することができる。即ち、暗号文は下記式(88)となる。
次に本実施形態の公開鍵暗号における暗号化装置、復号装置及び鍵生成装置の具体的な構成とその動作方法を示す。
方程式X′(x,y)を生成する(ステップS63)。次に、不定方程式生成部45は、秘密鍵(多項式ux(t),uy(t))をX′(x,y)の変数x,yにそれぞれ代入することで、定数項τ00(t)=-X′(ux(t),uy(t))を計算する(ステップS64)。
次に、上述のバリエーション(変形例)に関する具体的な構成について説明する。
以下では本実施形態で構成した公開鍵暗号の安全性に関して考察する。尚、公開鍵から秘密鍵を復元する鍵復元攻撃に関しては一般的な解法アルゴリズムがない不定方程式の求解問題であるため、総当たり攻撃においてのみ考察する。
係数比較攻撃は暗号文における平文多項式やランダム多項式、ノイズ多項式の未知部分を変数において計算し、実際の暗号文と係数比較することによって生じる連立方程式を解くことにより、平文多項式を他の未知部分とともに導出する攻撃手法である。本方式の場合は既知部分は下記式(94)のみである。
一般には変数の個数が#ΔDm,Dmdm+#ΔDr,dr+#ΓDs,ds+#ΓDe,deであり、式の個数が#ΓDx+Dr,dx+drである。dX、drが大きくなると不定方程式ではなくなるが、NP困難として知られる非線形な多変数連立方程式の求解問題となる。これは、c1,c2ともに考慮に入れた場合でも同様である。
線形代数攻撃は係数比較攻撃において非線形部分を線形化することで、本来非線形連立方程式が導出されるところを、線形連立方程式に変える攻撃手法である。これによって攻撃の計算量を飛躍的に下げることが可能となる。非線形部分を線形化するとは非線形部分(即ち、積となっている部分)をひと塊の多項式としてみて未知部分を設定することを意味する。本方式で言えば、平文が埋め込まれている項(平文項)がΠj=1 Dmmj(x,y)sk(x,y)のように非線形となっているため、この部分をまとめて1つの多項式M(x,y)とおく、即ち、暗号文を下記式(102)とおく。
前節までに述べた各種攻撃への耐性は基本的に連立方程式を解く計算量で評価したが、本節ではこれらを総当たり攻撃の観点で再考する。係数比較攻撃では片側攻撃の場合、ei(x,y)を総当たりすることにより、復号と同じ手段でイデアル分解によりΠj=1mj(x,y)を求めることが可能となる。そのように考えるとei(x,y)の総当たり回数は(有限体の標数pの変数の個数乗なので)pde+1となり、これもまた計算量が指数関数的に増大する。これは線形代数攻撃でも同様である。
図16は実施形態の暗号化装置10、復号装置20、20-2及び鍵生成装置40のハードウェア構成の例を示す図である。
2 公開鍵取得部
3 平文埋め込み部
4 記憶部
5 暗号化部
6 多項式生成部
7 ランダム値生成部
8 多項式演算部
9 暗号文出力部
10 暗号化装置
20 復号装置
21 暗号文取得部
22 鍵取得部
23 復号部
24 零点代入部
25 近似GCD計算部
26 因数分解部
27 記憶部
28 組合せ計算部
29 平文多項式因子復元部
30 平文出力部
31 剰余計算部
32 ノイズ多項式復元部
33 多項式減算部
34 イデアル分解部
40 鍵生成装置
41 システムパラメータ取得部
42 制御部
43 多項式生成部
44 ランダム値生成部
45 不定方程式生成部
46 多項式演算部
47 鍵出力部
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信装置
310 バス
Claims (17)
- 有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)を、公開鍵として取得する公開鍵取得部と、
平文mを前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)の係数に埋め込む平文埋め込み部と、
前記一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)を掛け合わせたn変数平文多項式M(x1,・・・,xn)を生成する多項式演算部と、
前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式sk(x1,・・・,xn)(k=1,2)をランダムに生成し、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式rk(x1,・・・,xn)をランダムに生成し、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つノイズ多項式ek(x1,・・・,xn)をランダムに生成する多項式生成部と、
前記n変数平文多項式M(x1,・・・,xn)に対し、前記n変数多項式sk(x1,・・・,xn)と、前記n変数多項式rk(x1,・・・,xn)と、前記ノイズ多項式ek(x1,・・・,xn)と、前記n変数不定方程式X(x1,・・・,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理によって、暗号文ck(x1,・・・,xn)を生成する暗号化部と、
を備える暗号化装置。 - 前記多項式生成部は、一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)を生成し、前記一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)の積によって前記ノイズ多項式ek(x1,・・・,xn)を生成し、
前記暗号化部は、前記ノイズ多項式ek(x1,・・・,xn)と前記n変数多項式sk(x1,・・・,xn)との積を含む演算を行う暗号化処理によって、暗号文ck(x1,・・・,xn)を生成する、
請求項1に記載の暗号化装置。 - 前記暗号化部は、前記n変数多項式sk(x1,・・・,xn)と前記ノイズ多項式ek(x1,・・・,xn)との積、前記n変数不定方程式X(x1,・・・,xn)と前記n変数多項式rk(x1,・・・,xn)との積、及び、前記n変数平文多項式M(x1,・・・,xn)に、加算及び減算のうち少なくとも一つを含む演算を行う暗号化処理によって、暗号文ck(x1,・・・,xn)を生成する、
請求項1又は2に記載の暗号化装置。 - 有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)の1つ以上の零点uを、秘密鍵として取得する鍵取得部と、
暗号文ck(x1,・・・,xn)(k=1,2)に前記零点uを代入することにより、1変数多項式hk(t)を生成する零点代入部と、
前記1変数多項式hk(t)の近似GCD(Greatest Common Divisor)を計算することにより、n変数平文多項式M(x1,・・・,xn)に前記零点uを代入した1変数多項式M(u)を求める近似GCD計算部と、
前記1変数多項式M(u)を前記有限体Fp上で、複数の第1の因子に因数分解する因数分解部と、
前記第1の因子を組み合わせて、前記零点uが代入された前記n変数平文多項式M(x1,・・・,xn)の複数の第2の因子の組み合わせを求める組合せ計算部と、
前記複数の第2の因子の組み合わせと、前記零点uとから導かれた連立1次方程式を解くことにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)を得る平文多項式因子復元部と、
前記一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)の係数から平文mを復号する復号部と、
を備える復号装置。 - 有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)を、公開鍵として取得し、前記n変数不定方程式X(x1,・・・,xn)の1つ以上の零点uを、秘密鍵として取得する鍵取得部と、
暗号文ck(x1,・・・,xn)(k=1,2)に前記零点uを代入することにより、1変数多項式hk(t)を生成する零点代入部と、
前記1変数多項式hk(t)の近似GCD(Greatest Common Divisor)を計算することにより、n変数平文多項式M(x1,・・・,xn)に前記零点uを代入した1変数多項式M(u)を求める近似GCD計算部と、
前記1変数多項式hk(t)を前記1変数多項式M(u)で割った剰余ek(u)を計算する剰余計算部と、
前記剰余ek(u)と、前記零点uとから導かれた連立1次方程式を解くことにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つノイズ多項式ek(x1,・・・,xn)を復元するノイズ多項式復元部と、
前記ノイズ多項式ek(x1,・・・,xn)を暗号文ck(x1,・・・,xn)から引いて多項式ck-ekを求める多項式減算部と、
前記多項式ck-ekをイデアル分解することにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)と、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式sk(x1,・・・,xn)と、を抽出するイデアル分解部と、
前記多項式ck-ekと、前記n変数平文多項式因子mi(x1,・・・,xn)と、前記n変数多項式sk(x1,・・・,xn)とに基づく多項式を、前記n変数不定方程式X(x1,・・・,xn)で割った余りが0の場合、前記n変数平文多項式因子mi(x1,・・・,xn)の係数から平文mを復元する復号部と、
を備える復号装置。 - 前記暗号文ck(x1,・・・,xn)は、ノイズ多項式ek(x1,・・・,xn)とn変数多項式sk(x1,・・・,xn)との積を含み、
前記ノイズ多項式ek(x1,・・・,xn)は、一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)の積により表され、
前記復号装置は、
前記剰余ek(u)を、一つ以上の因子に因数分解する因数分解部と、
前記一つ以上の因子を組み合わせて、前記一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)を求める組合せ計算部と、を更に備え、
前記復号部は、前記一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)から、前記ノイズ多項式ek(x1,・・・,xn)を復元する、
請求項5に記載の復号装置。 - 前記暗号文ck(x1,・・・,xn)は、前記n変数多項式sk(x1,・・・,xn)と前記ノイズ多項式ek(x1,・・・,xn)との積、前記n変数不定方程式X(x1,・・・,xn)とn変数多項式rk(x1,・・・,xn)との積、及び、前記n変数平文多項式M(x1,・・・,xn)の加算及び減算のうち少なくとも一つを含む演算によって表される、
請求項5又は6に記載の復号装置。 - 暗号化装置が、有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)を、公開鍵として取得するステップと、
前記暗号化装置が、平文mを前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)の係数に埋め込むステップと、
前記暗号化装置が、前記一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)を掛け合わせたn変数平文多項式M(x1,・・・,xn)を生成するステップと、
前記暗号化装置が、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式sk(x1,・・・,xn)(k=1,2)をランダムに生成し、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式rk(x1,・・・,xn)をランダムに生成し、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つノイズ多項式ek(x1,・・・,xn)をランダムに生成するステップと、
前記暗号化装置が、前記n変数平文多項式M(x1,・・・,xn)に対し、前記n変数多項式sk(x1,・・・,xn)と、前記n変数多項式rk(x1,・・・,xn)と、前記ノイズ多項式ek(x1,・・・,xn)と、前記n変数不定方程式X(x1,・・・,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理によって、暗号文ck(x1,・・・,xn)を生成するステップと、
を備える暗号方法。 - 復号装置が、有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)の1つ以上の零点uを、秘密鍵として取得するステップと、
前記復号装置が、暗号文ck(x1,・・・,xn)(k=1,2)に前記零点uを代入することにより、1変数多項式hk(t)を生成するステップと、
前記復号装置が、前記1変数多項式hk(t)の近似GCD(Greatest Common Divisor)を計算することにより、n変数平文多項式M(x1,・・・,xn)に前記零点uを代入した1変数多項式M(u)を求めるステップと、
前記復号装置が、前記1変数多項式M(u)を前記有限体Fp上で、複数の第1の因子に因数分解するステップと、
前記復号装置が、前記第1の因子を組み合わせて、前記零点uが代入された前記n変数平文多項式M(x1,・・・,xn)の複数の第2の因子の組み合わせを求めるステップと、
前記復号装置が、前記複数の第2の因子の組み合わせと、前記零点uとから導かれた連立1次方程式を解くことにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)を得るステップと、
前記復号装置が、前記一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)の係数から平文mを復号するステップと、
を備える復号方法。 - 復号装置が、有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)を、公開鍵として取得し、前記n変数不定方程式X(x1,・・・,xn)の1つ以上の零点uを、秘密鍵として取得するステップと、
前記復号装置が、暗号文ck(x1,・・・,xn)(k=1,2)に前記零点uを代入することにより、1変数多項式hk(t)を生成するステップと、
前記復号装置が、前記1変数多項式hk(t)の近似GCD(Greatest Common Divisor)を計算することにより、n変数平文多項式M(x1,・・・,xn)に前記零点uを代入した1変数多項式M(u)を求めるステップと、
前記復号装置が、前記1変数多項式hk(t)を前記1変数多項式M(u)で割った剰余ek(u)を計算するステップと、
前記復号装置が、前記剰余ek(u)と、前記零点uとから導かれた連立1次方程式を解くことにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つノイズ多項式ek(x1,・・・,xn)を復元するステップと、
前記復号装置が、前記ノイズ多項式ek(x1,・・・,xn)を暗号文ck(x1,・・・,xn)から引いて多項式ck-ekを求めるステップと、
前記復号装置が、前記多項式ck-ekをイデアル分解することにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)と、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式sk(x1,・・・,xn)と、を抽出するステップと、
前記復号装置が、前記多項式ck-ekと、前記n変数平文多項式因子mi(x1,・・・,xn)と、前記n変数多項式sk(x1,・・・,xn)とに基づく多項式を、前記n変数不定方程式X(x1,・・・,xn)で割った余りが0の場合、前記n変数平文多項式因子mi(x1,・・・,xn)の係数から平文mを復元するステップと、
を備える復号方法。 - コンピュータを、
有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)を、公開鍵として取得する公開鍵取得部と、
平文mを前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)の係数に埋め込む平文埋め込み部と、
前記一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)を掛け合わせたn変数平文多項式M(x1,・・・,xn)を生成する多項式演算部と、
前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式sk(x1,・・・,xn)(k=1,2)をランダムに生成し、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式rk(x1,・・・,xn)をランダムに生成し、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つノイズ多項式ek(x1,・・・,xn)をランダムに生成する多項式生成部と、
前記n変数平文多項式M(x1,・・・,xn)に対し、前記n変数多項式sk(x1,・・・,xn)と、前記n変数多項式rk(x1,・・・,xn)と、前記ノイズ多項式ek(x1,・・・,xn)と、前記n変数不定方程式X(x1,・・・,xn)とを加算、減算及び乗算のうち少なくとも一つを含む演算を行う暗号化処理によって、暗号文ck(x1,・・・,xn)を生成する暗号化部、
として機能させるためのプログラム。 - 前記多項式生成部は、一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)を生成し、前記一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)の積によって前記ノイズ多項式ek(x1,・・・,xn)を生成し、
前記暗号化部は、前記ノイズ多項式ek(x1,・・・,xn)と前記n変数多項式sk(x1,・・・,xn)との積を含む演算を行う暗号化処理によって、暗号文ck(x1,・・・,xn)を生成する、
請求項11に記載のプログラム。 - 前記暗号化部は、前記n変数多項式sk(x1,・・・,xn)と前記ノイズ多項式ek(x1,・・・,xn)との積、前記n変数不定方程式X(x1,・・・,xn)と前記n変数多項式rk(x1,・・・,xn)との積、及び、前記n変数平文多項式M(x1,・・・,xn)に、加算及び減算のうち少なくとも一つを含む演算を行う暗号化処理によって、暗号文ck(x1,・・・,xn)を生成する、
請求項11又は12に記載のプログラム。 - コンピュータを、
有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)の1つ以上の零点uを、秘密鍵として取得する鍵取得部と、
暗号文ck(x1,・・・,xn)(k=1,2)に前記零点uを代入することにより、1変数多項式hk(t)を生成する零点代入部と、
前記1変数多項式hk(t)の近似GCD(Greatest Common Divisor)を計算することにより、n変数平文多項式M(x1,・・・,xn)に前記零点uを代入した1変数多項式M(u)を求める近似GCD計算部と、
前記1変数多項式M(u)を前記有限体Fp上で、複数の第1の因子に因数分解する因数分解部と、
前記第1の因子を組み合わせて、前記零点uが代入された前記n変数平文多項式M(x1,・・・,xn)の複数の第2の因子の組み合わせを求める組合せ計算部と、
前記複数の第2の因子の組み合わせと、前記零点uとから導かれた連立1次方程式を解くことにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)を得る平文多項式因子復元部と、
前記一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)の係数から平文mを復号する復号部、
として機能させるためのプログラム。 - コンピュータを、
有限体Fp上の1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数不定方程式X(x1,・・・,xn)を、公開鍵として取得し、前記n変数不定方程式X(x1,・・・,xn)の1つ以上の零点uを、秘密鍵として取得する鍵取得部と、
暗号文ck(x1,・・・,xn)(k=1,2)に前記零点uを代入することにより、1変数多項式hk(t)を生成する零点代入部と、
前記1変数多項式hk(t)の近似GCD(Greatest Common Divisor)を計算することにより、n変数平文多項式M(x1,・・・,xn)に前記零点uを代入した1変数多項式M(u)を求める近似GCD計算部と、
前記1変数多項式hk(t)を前記1変数多項式M(u)で割った剰余ek(u)を計算する剰余計算部と、
前記剰余ek(u)と、前記零点uとから導かれた連立1次方程式を解くことにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つノイズ多項式ek(x1,・・・,xn)を復元するノイズ多項式復元部と、
前記ノイズ多項式ek(x1,・・・,xn)を暗号文ck(x1,・・・,xn)から引いて多項式ck-ekを求める多項式減算部と、
前記多項式ck-ekをイデアル分解することにより、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つ一つ以上m個のn変数平文多項式因子mi(x1,・・・,xn)(i=1,・・・,m)と、前記1変数多項式環Fp[t]の一定次数以下の元を係数に持つn変数多項式sk(x1,・・・,xn)と、を抽出するイデアル分解部と、
前記多項式ck-ekと、前記n変数平文多項式因子mi(x1,・・・,xn)と、前記n変数多項式sk(x1,・・・,xn)とに基づく多項式を、前記n変数不定方程式X(x1,・・・,xn)で割った余りが0の場合、前記n変数平文多項式因子mi(x1,・・・,xn)の係数から平文mを復元する復号部、
として機能させるためのプログラム。 - 前記暗号文ck(x1,・・・,xn)は、ノイズ多項式ek(x1,・・・,xn)とn変数多項式sk(x1,・・・,xn)との積を含み、
前記ノイズ多項式ek(x1,・・・,xn)は、一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)の積により表され、
前記プログラムは、前記コンピュータを、
前記剰余ek(u)を、一つ以上の因子に因数分解する因数分解部と、
前記一つ以上の因子を組み合わせて、前記一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)を求める組合せ計算部、として更に機能させ、
前記復号部は、前記一つ以上d個のノイズ多項式因子ek,j(x1,・・・,xn)(j=1,・・・,d)から、前記ノイズ多項式ek(x1,・・・,xn)を復元する、
請求項15に記載のプログラム。 - 前記暗号文ck(x1,・・・,xn)は、前記n変数多項式sk(x1,・・・,xn)と前記ノイズ多項式ek(x1,・・・,xn)との積、前記n変数不定方程式X(x1,・・・,xn)とn変数多項式rk(x1,・・・,xn)との積、及び、前記n変数平文多項式M(x1,・・・,xn)の加算及び減算のうち少なくとも一つを含む演算によって表される、
請求項15又は16に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020188737A JP7443217B2 (ja) | 2020-11-12 | 2020-11-12 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
US17/459,320 US20220150064A1 (en) | 2020-11-12 | 2021-08-27 | Encryption device, decryption device, encryption method, decryption method, and computer program products |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020188737A JP7443217B2 (ja) | 2020-11-12 | 2020-11-12 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022077754A JP2022077754A (ja) | 2022-05-24 |
JP7443217B2 true JP7443217B2 (ja) | 2024-03-05 |
Family
ID=81453886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020188737A Active JP7443217B2 (ja) | 2020-11-12 | 2020-11-12 | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220150064A1 (ja) |
JP (1) | JP7443217B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022187959A1 (en) * | 2021-03-10 | 2022-09-15 | Quantropi Inc. | Quantum-safe cryptographic methods and systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010204466A (ja) | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
US20160119120A1 (en) | 2014-07-03 | 2016-04-28 | Huawei Technologies Co.,Ltd. | Method and apparatus for public-key encrypted communication |
JP2017532598A (ja) | 2014-09-24 | 2017-11-02 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 公開鍵暗号化システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740250A (en) * | 1995-12-15 | 1998-04-14 | Moh; Tzuong-Tsieng | Tame automorphism public key system |
JP2001255814A (ja) * | 2000-03-10 | 2001-09-21 | Murata Mach Ltd | 復号方法、復号装置、及び復号プログラムの記録媒体 |
US20040151307A1 (en) * | 2003-02-03 | 2004-08-05 | Lih-Chung Wang | Tractable rational map public-key system |
IL207918A0 (en) * | 2010-09-01 | 2011-01-31 | Aviad Kipnis | Attack-resistant multivariate signature scheme |
-
2020
- 2020-11-12 JP JP2020188737A patent/JP7443217B2/ja active Active
-
2021
- 2021-08-27 US US17/459,320 patent/US20220150064A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010204466A (ja) | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
US20160119120A1 (en) | 2014-07-03 | 2016-04-28 | Huawei Technologies Co.,Ltd. | Method and apparatus for public-key encrypted communication |
JP2017532598A (ja) | 2014-09-24 | 2017-11-02 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 公開鍵暗号化システム |
Non-Patent Citations (1)
Title |
---|
駒野 雄一, 他,多項式の近似GCDを利用した代数曲面暗号方式,電子情報通信学会技術研究報告,日本,電子情報通信学会,2016年07月07日,Vol.116, No.132,pp.217-222 |
Also Published As
Publication number | Publication date |
---|---|
JP2022077754A (ja) | 2022-05-24 |
US20220150064A1 (en) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6720424B1 (ja) | 鍵共有デバイス及び方法 | |
EP3566385B1 (en) | Homomorphic white box system and method for using same | |
US9264406B2 (en) | Public key cryptography with reduced computational load | |
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
EP3494663B1 (en) | Methods and systems for enhanced data-centric encryption systems using geometric algebra | |
KR20020025630A (ko) | 비밀 정보의 처리 장치, 프로그램 또는 시스템 | |
EP2742644B1 (en) | Encryption and decryption method | |
JP2008252299A (ja) | 暗号処理システム及び暗号処理方法 | |
JP4282546B2 (ja) | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 | |
US20190044697A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra | |
EP4376350A2 (en) | Computer implemented system and method for distributing shares of digitally signed data | |
Ghazanfaripour et al. | Designing a digital image encryption scheme using chaotic maps with prime modular | |
US20180294951A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
Biksham et al. | A lightweight fully homomorphic encryption scheme for cloud security | |
US20210248928A1 (en) | Encryption device, decryption device, encryption method, decryption method, encryption program product, and decryption program product | |
JP7443217B2 (ja) | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム | |
JP2020053860A (ja) | 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム | |
Dawson et al. | An enhanced RSA algorithm using Gaussian interpolation formula | |
JP6266130B2 (ja) | 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム | |
JP2007187908A (ja) | サイドチャネル攻撃に耐性を有するモジュラーべき乗算計算装置及びモジュラーべき乗算計算方法 | |
JP5323196B2 (ja) | 演算装置、方法およびプログラム | |
Fu et al. | An efficient implementation of RSA digital signature algorithm | |
Ariffin et al. | AA β public key cryptosystem-A comparative analysis against RSA and ECC | |
US20240195607A1 (en) | Encryption device, key generation device, and computer program product for encryption | |
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 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240116 |
|
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: 20240123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240221 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7443217 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |