• 検索結果がありません。

JST CREST at JST CREST 1

N/A
N/A
Protected

Academic year: 2021

シェア "JST CREST at JST CREST 1"

Copied!
27
0
0

読み込み中.... (全文を見る)

全文

(1)

現代の産業社会とグレブナー基底の調和

JST CREST

公開研究集会

at

鹿児島大学理学部

多変数公開鍵暗号を強化する持駒方式と

グレブナー基底計算

辻井重男

只木孝太郎

藤田亮

情報セキュリティ大学院大学

中央大学研究開発機構・

JST CREST

(2)

概要

多変数公開鍵暗号は、連立代数方程式の求解というNP完全問題に安全性の根拠を求めよ うとする公開鍵暗号方式であり、耐量子コンピュータ公開鍵暗号の候補として、近年盛ん に研究が進められている。 本発表では、はじめに多変数公開鍵暗号の基本事項について説明する。 そして、我々が研究を進めている、任意の多変数公開鍵暗号の安全性の強化を目指す汎用 的手法である、持駒方式について説明する。 多変数公開鍵暗号に対する攻撃法として、その汎用性と有効性から、近年、注目を集めて いるのが、公開鍵のグレブナー基底計算に基づく攻撃法である。 この攻撃法に対し、持駒方式は実際に安全性を強化していることを、計算機実験に基づい て示す。

(3)
(4)

多変数公開鍵暗号の一般的形式

I

Fq: q個の元からなる有限体 Fq[x1, . . . , xk]: 係数を有限体Fqに持つ、変数x1, . . . , xkの多項式全体の集合 多くの多変数公開鍵暗号は、次の共通形式を持っている。 平文: k次元列ベクトルp = (p1, . . . , pk)T Fkq 暗号文: n次元列ベクトルc = (c1, . . . , cn)T Fnq ここでT は行列の転置を表す。 公開鍵: 変数x1, . . . , xkn次元多項式列ベクトルE(x) Fq[x1, . . . , xk]n 暗号化: 平文pから暗号文cへの次の変換により行われる。 c = E(p) (1) 秘密鍵: 任意に与えられた暗号文c Fnq について、(x1, . . . , xk)に関する連立代数方程E(x) = cを解き、式(1)を満たすpを見出す効率的な方法を与えるものである。

(5)

多変数公開鍵暗号の一般的形式

II

正規受信者Bobはこの暗号系の秘密鍵を持ち、送信者Aliceは平文pをこの暗号系を用い てBobに送る、という状況を考えよう。 Aliceは公開鍵を用いて平文pを暗号化し、得られた暗号文c := E(p)Bobに送る。 Bobは、Aliceからの暗号文cを受信すると、秘密鍵を用いて効率よく復号を行い、平文 pを復元することができる。ここで、この暗号系が公開鍵暗号系として正しく機能するた めには、盗聴者は暗号文cを自由に入手することが出来るという前提の下で、次の要請が 満たされる必要がある。 要請: 秘密鍵についての知識がない場合、公開鍵Eと暗号文cから平文pを復元 するのは計算量的に困難である。 一般に、E(x)cが与えられたとき、連立代数方程式E(x) = cを解くことは、NP 全問題である。 このことを踏まえ、多変数公開鍵暗号を設計する際には、公開鍵Eの多項式ベクトルの構 成に工夫を施し、上記の要請の成立を目指すのである。

(6)

多変数公開鍵暗号の一般的形式

III

ほとんどの多変数公開鍵暗号では、公開鍵E(x) Fq[x1, . . . , xk]nは次の形を持つ。 E(x) = B G(Ax + a) + b. (2) ここで、 • xは多項式列ベクトル(x1, . . . , xk)T Fq[x1, . . . , xk]k を表している。 ABは、それぞれk × kn × nの正則行列である。 • abは、それぞれFkqFnq に属する列ベクトルである。 • Gは、Fq[x1, . . . , xk]nに属する多項式列ベクトルである。 なお、G(Ax+a)は、Gの各変数x1, . . . , xkに、多項式列ベクトルAx+a Fq[x1, . . . , xk]k の対応する各成分を代入したものを表している。 x 7→ Ax + a 7→ G(Ax + a) 7→ B G(Ax + a) + b = E(x) Bobは、A, B, a, bを(ある多変数公開鍵暗号ではGも)他の誰にも秘密にしながら、 式(2)の右辺を展開整理した形で公開鍵E を公開する。

(7)

多変数公開鍵暗号の一般的形式

IV

復号は次のように行われる: [1] Bobは暗号文c = E(p) = B G(Ap+a)+bを受け取ると、まずw := B−1(cb) を計算する。 [2] このときw = G(Ap+a)なので、次にw = G(v)を満たすvを計算する。Bobは、 Gの具体的な形や、その逆変換を求めるアルゴリズムを秘密鍵として知っているので、w から効率的にvを計算することができる。 [3] このときv = Ap + aなので、次にA−1(v a)を計算することにより、Bobは平pを得る。 多くの場合、多項式列ベクトルGは、そのどの成分も高々2次の多項式となるように設計 される。これは、公開鍵Eの記述サイズの爆発を避けるためである。そのような多変数公 開鍵暗号は、特に、2次多変数公開鍵暗号と呼ばれる。 以下では、上記形式に従い公開鍵がE(x) = B G(Ax + a) + bの形で与えられる多変 数公開鍵暗号について、その具体例を見る。

(8)

多変数公開鍵暗号の具体的実現方式

(9)

松本

-

今井暗号

I

多変数公開鍵暗号が、情報を伝える暗号として機能するためには、多項式列ベクトルGは、 v FkqG(v) Fnq に対応させる変換として見たとき、単射でなければならない。 松本勉と今井秀樹は、有限体の理論に基づく巧妙な方法で、これを実現するGを構成し、現 在、松本-今井暗号と呼ばれる2次多変数公開鍵暗号を提案した。松本-今井暗号は、1988 年開催の国際会議EUROCRYPTで発表され、多変数公開鍵暗号の起源の一つとみなさ れている。 k = n(平文のサイズと暗号文のサイズは等しい) q = 2m Kを、Fqn次拡大体とする。 β1, β2, . . . , βn Kを、Kを体Fq上のベクトル空間として見たときのKの基底とする。 Fq上のベクトル空間Fnq の各元と、やはりFq上のベクトル空間Kの各元とは、対応 Fnq 3 (u1, . . . , un) ←→ u1β1 + u2β2 + · · · + unβn K により、11に対応し、これら2つの空間は同一視することができる。

(10)

松本

-

今井暗号

II

Fq上のベクトル空間Kの各元と、やはりFq上のベクトル空間Fnq の各元とは、変換 Fnq 3 (u1, . . . , un) 7→ u1β1 + u2β2 + · · · + unβn K により、11に対応し、これら2つの空間は同一視することができる。 ゆえに、本来Fnq からFnq への変換であるGは、KからKへの変換とみなすことが出来る。 松本-今井暗号では、単射で2次の多項式変換G Fq[u1, . . . , un]nを得るために、この Gに対応するものとして、次のようなKからKへの変換Gを導入した。 G(u) = uh ここで、hh = qθ+1の形を持つ整数(0 < h < qn)であり、更に、gcd(h, qn−1) = 1 を満たすように選ばれる。従って、qn − 1を法とするhの逆元h0が存在し、任意のu K に対し、 G(u)h0 = uhh0 = u1+k(qn−1) = u が成り立つ。このことにより、変換G(u)は単射であることがわかる。 復号のときはh0乗を行う。

(11)

松本

-

今井暗号

III

Fq上のベクトル空間Kの各元と、やはりFq上のベクトル空間Fnq の各元とは、変換 Fnq 3 (u1, . . . , un) 7→ u1β1 + u2β2 + · · · + unβn K により、11に対応し、これら2つの空間は同一視することができる。 hh = qθ + 1の形を持つ整数なので、Gは2次の多項式列ベクトルとなることを次の ように確かめることができる。 G(u1β1 + · · · + unβn) = (u1β1 + · · · + unβn)qθ(u1β1 + · · · + unβn) = (u1β1 + · · · + unβnqθ)(u1β1 + · · · + unβn) = ∑ i,j uiujβiqθβj = ∑ i,j uiuj(∑ k cijkβk) = ∑ k (∑ i,j cijkuiuj)βk 従って、Gの第k成分は∑i,j cijkuiuj となり、確かに2次多項式になっている。 このような巧妙な方法により、松本と今井は、2次多変数公開鍵暗号を実現した。

(12)

HFE

松本-今井暗号の変換Gが持つ簡明な構造は、公開鍵Eのランダム性を低下させるもので ある。実際、1995年、Patarinは、変換Gの持つ単純な構造G(u) = uhに着目し、松 本-今井暗号の解読方法を提示した。Pararinは、翌1996年、松本-今井暗号が持ってい た強い代数的な構造G(u) = uhを壊すことを通じて、幾つかの暗号系を提案した。

HFE (Hidden Field Equation)は、そのような暗号系の中で、最も長命だったもの。

HFEでは、松本-今井暗号の変換G(u)を、より一般的な次の変換で置き換える。

G(u) =i,j

βi,ju2θi,ju2ϕi,j + ∑

k

αku2²k + µ

ここで、θi,j, ϕi,j, ²kは正整数であり、βi,j, αk, µはKに属する定数である。変換G(u)

は、そのuの指数の選び方から、Fnq の変換Gとして見た場合、松本-今井暗号の場合と同 様に、2次の多項式列ベクトルとなっている。

このように提案されたHFEは、松本-今井暗号の変形版として最後まで生き残ったが、2003 年、Faug`ereJouxによって、効率的なグレブナ基底計算アルゴリズムを用いた計算に より破られた。その手法一般、即ち、グレブナ基底計算に基づく攻撃法については、後ほ ど述べる。

(13)

持駒行列方式

(14)

持駒行列方式

持駒行列方式は、任意の多変数公開鍵暗号に適用可能で、その安全性の強化を目指す、汎 用的手法(処方)である。 持駒行列方式では、安全性を強化する目的で、任意の多変数公開鍵暗号Kから、新しい多 変数公開鍵暗号Ke が次のように構成される。 e Kの公開鍵Ee(x) Fq[x1, . . . , xk]lは、Kの公開鍵E(x) Fq[x1, . . . , xk]nから、次の 変換により構成される。 e E(x) := SE(x) + RX ここで、SRは行列である。X は多項式列ベクトルであり、2次以下の全ての単項式を 並べた列ベクトルである。項RXEe(x)をランダム化する役割を持つ。 持駒行列方式では、項RX を通じて、任意の個数の付加変数を公開鍵Ee(x)に導入するこ とができる。このような変数の増加により、1つの暗号文に対応する、付加変数まで含め た“広義の平文の個数を、本来の平文(狭義の平文)のサイズkの指数個程度にする ことも可能であり、盗聴者の解読の手間を大きく増やすことができる。実際、この持駒行 列方式をHFEに適用した場合には、後述のグレブナ基底計算による攻撃に対して安全性 が高まっていることが、計算機実験で認められている。

(15)

Linear Piece In Hand (PH, for short) Matrix Method (1)

Specifically, this general prescription originally has the following form, and is called a linear PH matrix method [Tsujii, Tadaki, and Fujita 2004].

Let K be an arbitrary quadratic multivariate public key cryptosystem whose public key is given by E Fq[x1, . . . , xk]n.

In the linear PH matrix method, we construct a new quadratic multivariate public key cryptosystem K from K as follows:e

A public key Ee Fq[x1, . . . , xk]l of K is constructed from the original publice

key E of K by the transformation: e

E := SE + RX.

Here,

• X: a polynomial column vector whose components are all monomials in

Fq[x1, . . . , xk] of total degree at most two, enumerated in any one

order, such as

(16)

Linear PH Matrix Method (2)

Public Key of K:e Ee ≡ SE + RX.

S: a matrix in Fql×n with l > n.

R: a matrix in Fql×t, where t is the number of components of X. The term RX plays a role in randomizing Ee.

In addition to S and R, the PH matrix M ∈ Fqn×l is introduced

as a secret key of Ke.

In the key-generation stage, the matrices R, M , and S are chosen in se-quence so as to satisfy the following three conditions.

Condition 1. l ≥ n + rank R.

Condition 2. M R = 0 and rank M = n.

Condition 3. M S = In, where In is the identity matrix in Fqn×n.

This choice can be efficiently possible.

MEe = E (by the above Conditions).

This is a crucial property of the PH matrix in the PH matrix methods in general.

(17)

Linear PH Matrix Method (3)

A plain text of K: a column vectore p Fqk (the same as in K).

A cipher text of K: a column vectore ce Fql calculated by ce = Ee(p).

Public Key of K:e Ee.

Secret Key of K: The PH matrix M, together with the secret key of Ke corresponding to the public key E of K.

The decryption of K proceeds as follows:e

[1] Based on the relation MEe = E, on receiving the cipher text ce := Ee(p) for a plain text p, Bob can efficiently calculate the cipher text c (= E(p) = Mce) of the original public key cryptosystem K by the multiplication of ce by M from the left.

[2] According to the decryption procedure of K, Bob can recover the plain text p using the secret key of K.

(18)

Gr¨

obner Basis Attack

In 2003 Faug`ere and Joux showed in an experimental manner that com-puting a Gr¨obner basis of the public key is likely to be an efficient attack to HFE, which is one of the major variants of multivariate public key cryp-tosystem.

The attack is simply to compute a Gr¨obner basis for the ideal generated by polynomial components in E c, where E is a public key and c is a cipher text vector.

Because of the simplicity of this attack, it may be a threat to the linear PH matrix method described above as well.

In particular, from the point of view of Gr¨obner basis,

the secret invertible matrix B may be useless in a multivariate public key cryptosystem whose public key E has the form

E = B G(Ax).

This is because any ideal I generated by polynomials remains unchanged under the transformation of the generators of I by an invertible matrix.

(19)

Gr¨

obner Basis Attack against the PH matrix method

The PH matrix method might be also useless to the Gr¨obner basis attack in its original implementation described above.

This is because, based on MEe = E, the following theorem can be shown:

Theorem [Ars 2004, private communication] There exist linear combina-tions g1, . . . , gl−n, with coefficients in Fq, of ee1 ce1, . . . , eel cel such that

hee1 ce1, . . . ,eel celi = he1 − c1, . . . , en − cn, g1, . . . , gl−ni.

Here (ce1, . . . ,cel)T := Ee(p) and (c1, . . . , cn)T := E(p) are cipher text vectors of K and K, respectively. (e ee1, . . . , eel)T = Ee and (e1, . . . , en)T := E are the public keys of K and K, respectively.e

From the point of view of Gr¨obner basis,

the system Ee ec = 0 of polynomial equations on (x1, . . . , xk) might not be necessarily more difficult to solve than the system E c = 0 of polynomial equations on (x1, . . . , xk) due to the existence of the additional polynomial equations g1 = 0, . . . , gl−n = 0 for the former.

(20)

Countermeasure against the Gr¨

obner Basis Attack

The polynomials e1, . . . , en are assumed to be in Fq[x1, . . . , xk] implicitly so

far, and therefore the weakness of the original linear PH matrix method is of concern.

A countermeasure against the weakness is to introduce additional variables

xk+1, . . . , xm to the public key Ee of K.e

Under this countermeasure, the gi’s are no longer polynomials in Fq[x1, . . . , xk],

but in Fq[x1, . . . , xm], and therefore solving the system Ee ec = 0 of polyno-mial equations on (x1, . . . , xm) seems to be more difficult than solving the system E c = 0 of polynomial equations on (x1, . . . , xk).

In what follows, we show that this idea can be implemented properly by presenting a new PH matrix method, called a linear PH matrix method with random variables.

(21)

Linear PH Matrix Method with Random Variables (1)

Let K be an arbitrary quadratic multivariate public key cryptosystem whose public key is given by E Fq[x1, . . . , xk]n. Then a new quadratic multivariate

public key cryptosystem K is constructed from K as follows.e Assume that p < k < m.

A public key Ee Fq[x1, . . . , xm]l of K is constructed frome E by

e E := SE ( x Az ) + RZ. Here, x = (x1, . . . , xp)T Fq[x1, . . . , xp]p and z = (x1, . . . , xm)T Fq[x1, . . . , xm]m.

• Z: a polynomial column vector whose components are all monomials in

Fq[x1, . . . , xm] of total degree at most two, enumerated in any one order, such as Z := (x1x1, x1x2, . . . , xm−1xm, xmxm, x1, x2, . . . , xm, 1)T.

The additional variables xk+1, . . . , xm are introduced in this manner.

A: a randomly chosen matrix in Fq(k−p)×m (Note that k − p < m).

The vector Az Fq[x1, . . . , xm]k−p is substituted for the variables xp+1, . . . , xk

in the original public key E while keeping the variables x1, . . . , xp in E un-changed. Note that this Az is needed to prevent an eavesdropper from forging the PH matrix through the elimination of the variables

(22)

Linear PH Matrix Method with Random Variables (2)

Public Key of K:e Ee := SE ( x Az ) + RZ. S: a matrix in Fql×n with l > n.

R: a matrix in Fql×s, where s is the number of components of Z.

In addition to S and R, the PH matrix M ∈ Fqn×l is introduced

as a secret key of Ke.

In the key-generation stage, the matrices R, M , and S are chosen in se-quence so as to satisfy Condition 1, 2, and 3 presented above.

Public Key of K:e Ee.

Secret Key of K: The PH matrix M, together with the secret key of Ke corresponding to the public key E of K.

(23)

Linear PH Matrix Method with Random Variables (3)

A plain text of K: a column vectore p Fqp.

A cipher text of K: a column vectore ce Fql.

Encryption: A cipher text ec of K is calculated by Alice throughe ec := Ee ( p r ) ,

where r Fqm−p is chosen randomly by Alice on the encryption of p. Decryption: Note here that MEe = E

(

x Az

)

holds.

[1] On receiving the cipher text ec, Bob can efficiently obtain the value E

(

p d

)

from the multiplication of ce by M , where d is a certain column vector in

Fqk−p which comes from Az.

[2] According to the decryption procedure of K, Bob can recover the plain text p using the secret key of K, where d is discarded after the decryption.

(24)

Strength against the Gr¨

obner Basis Attack (1)

In the linear PH matrix method with random variables described above, for any cipher text vector ec, the corresponding plain text vector p is unique in the equation: ec = Ee ( p r ) .

On the other hand, r is not necessarily unique, since A is not invertible and

R is chosen randomly. The nonuniqueness of r might provide substantial robustness against the Gr¨obner attack, as is suggested by experimental results shown below.

(25)

グレブナ基底計算による多変数公開鍵暗号の解読

:

理論的工夫

I

一般に、多変数公開鍵暗号では、公開鍵E = (e1, . . . , en)T Fq[x1, . . . , xk]n と暗号

c = (c1, . . . , cn)T Fnq に対し、対応する平文p = (p1, . . . , pk)T Fkq は唯一つで ある。このような暗号解析に特有の場合には、次の定理が有用である。

Theorem [field equationsの効果]

f1, . . . , fn Fq[x1, . . . , xk]に対し、I = hf1, . . . , fn, xq1 − x1, . . . , xqk − xki とする。 このとき、任意の(a1, . . . , ak) Fkq に対し、次の二つの条件(i)(ii)は同値である。 (i) V (f1, . . . , fn) = {(a1, . . . , ak)}. (ii) {x1 − a1, . . . , xk − ak}Iの簡約グレブナ基底である. (解き易い形) 多変数公開鍵暗号ではV (e1 − c1, . . . , en − cn) = {(p1, . . . , pk)} となるので、上記定 理に基づいて、次の方法で解読が行われる。 入力: {e1 − cn, . . . , en − cn, xq1 − x1, . . . , xqk − xk} 任意のグレブナ基底計算アルゴリズム走らせる。 出力: {x1 − p1, . . . , xk − pk} (簡約グレブナ基底) このようにして、暗号文p = (p1, . . . , pk)T Fkq が得られる。

(26)

グレブナ基底計算による多変数公開鍵暗号の解読

:

理論的工夫

II

Theorem [field equationsの効果] (再掲)

f1, . . . , fn Fq[x1, . . . , xk]に対し、I = hf1, . . . , fn, xq1 − x1, . . . , xqk − xki とする。 このとき、任意の(a1, . . . , ak) Fkq に対し、次の二つの条件(i)(ii)は同値である。 (i) V (f1, . . . , fn) = {(a1, . . . , ak)}. (ii) {x1 − a1, . . . , xk − ak}Iの簡約グレブナ基底である. (解き易い形) なお、 xqi − xi = 0 (i = 1, . . . , k)は、Fkq の元が必ず満たす方程式であり、field equations 呼ばれる。 公開鍵のグレブナ基底計算の入力にfield equationsを付け加えることは、計算途中や出 力の多項式の次数を下げるのに役立ち、計算効率を向上させる。 松本-今井暗号、HFE、そして持駒方式が適用されたHFEの場合、q = 2であり、2次の 多項式 x2i − xi = 0 (i = 1, . . . , k)となる。

(27)

Strength against the Gr¨

obner Basis Attack (2)

Comparison between running-times for HFE and the enhanced HFE by the PH method in the Gr¨obner bases computation.

Cryptosystems p k(= n) m l Running-times in second HFE (q = 2) 10 < 10−3

(128 < d ≤ 512) 20 8

25 184

K 28 959

The enhanced HFE 10 20 35 25 1000 by the PH method 10 20 37 25 2424 (128 < d ≤ 512) 10 20 38 25 5288 10 20 32 28 665 e K 10 20 36 28 2290 10 20 38 28 4460 rank R = l − n 10 20 39 28 5963

d: The degree of the univariate polynomial in the HFE scheme.

HP workstation with Alpha EV68 processor at 1.25 GHz and 32GB of RAM.

F4 in Magma V2.12-14.

The table suggests that the increase of the number m − k of ad-ditional random variables xk+1, . . . , xm increases the running-time of the Gr¨obner bases.

参照

関連したドキュメント

Theorem 4.8 shows that the addition of the nonlocal term to local diffusion pro- duces similar early pattern results when compared to the pure local case considered in [33].. Lemma

In the last part of Section 3 we review the basics of Gr¨ obner bases,and show how Gr¨ obner bases can also be used to eliminate znz-patterns as being potentially nilpotent (see

Going back to the packing property or more gener- ally to the λ-packing property, it is of interest to answer the following question: Given a graph embedding G and a positive number

As we saw before, the first important object for computing the Gr¨ obner region is the convex hull of a set of n &gt; 2 points, which is the frontier of N ew(f ).. The basic

If C is a stable model category, then the action of the stable ho- motopy category on Ho(C) passes to an action of the E -local stable homotopy category if and only if the

7.1. Deconvolution in sequence spaces. Subsequently, we present some numerical results on the reconstruction of a function from convolution data. The example is taken from [38],

In the section we investigate the connection between DF-valued holomorphic mappings of uniformly bounded type on DF-spaces and the linear topological invariants (LB ∞ ) and (DN ).

We will study the spreading of a charged microdroplet using the lubrication approximation which assumes that the fluid spreads over a solid surface and that the droplet is thin so