コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:Roget/試訳/Goldwasser-Micali暗号

Goldwasser-Micali暗号en:Shafi Goldwasseren:Silvio Micaliによって1982年に提案された公開鍵暗号方式である。 この暗号方式は標準的な仮定の下安全性が示された初の確率的公開鍵暗号方式である。 しかし、効率は悪く、暗号文のサイズは平文のサイズの数百倍になる。 暗号方式の安全性を示すために彼女らは、現在では広く使われることになった強秘匿性を定義した。

The Goldwasser-Micali cryptosystem (GM) is an asymmetric key encryption algorithm developed by Shafi Goldwasser and Silvio Micali in 1982. GM has the distinction of being the first probabilistic public-key encryption scheme which is provably secure under standard cryptographic assumptions. However, it is not an efficient cryptosystem, as ciphertexts may be several hundred times larger than the initial plaintext. To prove the security properties of the cryptosystem, Goldwasser and Micali proposed the widely-used definition of semantic security.

 

[編集]

N=pq型の平方剰余判定問題の不可能性を仮定するとGM暗号は強秘匿性を持つ. pqを大きな素数とし, N=pqとする. この仮定は, xの法Nでのヤコビ記号が+1であるとき, (x, N)を与えられ, xが法Nでの平方剰余かどうか決定することが難しいという仮定である (すなわち, x=なるyが存在するかどうか). Nの素因数分解を知っていれば, 平方剰余判定問題は簡単である. 一方, 平方剰余自体はNの素因数分解を知らなくても誰でも生成できる. GM暗号はこの非対称性を用いて, 暗号化を行っている. すなわち, 平文の各ビットをランダムなヤコビ記号が+1の法Nでの平方剰余か平方非剰余として暗号化する. 受信者はNの素因数を秘密鍵とし, 受け取った暗号文の平方剰余性を確かめることで元の平文に復号する.

GM暗号の暗号文のサイズは, 平文のビット数の|N|倍になる. よって, ciphertext expansionは相当大きい. 素因数分解を用いた攻撃を防ぐためには, |N|は数百ビット以上が推奨される. したがって, この暗号方式は安全性の証明を提供したが, ElGamal暗号のように安全性が証明可能かつ効率のよい暗号方式が提案されている.

暗号化で確率的アルゴリズムを用いるため, 1つの平文に対し非常に沢山の暗号文が生成されうる. これは, たとえば攻撃者が既知の暗号文と比べて平文を推測することを防ぐといったような重要な利点を持つ.

The GM cryptosystem is semantically secure based on the assumed intractability of the quadratic residuosity problem modulo a composite N = pq where p, q are large primes. This assumption states that given (x, N) it is difficult to determine whether x is a quadratic residue modulo N (i.e., x = y2 mod N for some y), when the Jacobi symbol for x is +1. The quadratic residue problem is easily solved given the factorization of N, while new quadratic residues may be generated by any party, even without knowledge of this factorization. The GM cryptosystem leverages this asymmetry by encrypting individual plaintext bits as either random quadratic residues or non-residues modulo N, all with quadratic residue symbol +1. Recipients use the factorization of N as a secret key, and decrypt the message by testing the quadratic residuosity of the received ciphertext values.

Because Goldwasser-Micali produces a value of size approximately |N| to encrypt every single bit of a plaintext, GM encryption results in substantial ciphertext expansion. To prevent factorization attacks, it is recommended that |N| be several hundred bits or more. Thus, the scheme serves mainly as a proof of concept, and more efficient provably-secure schemes such as Elgamal have been developed since.

Because encryption is performed using a probabilistic algorithm, a given plaintext may produce very different ciphertexts each time it is encrypted. This has significant advantages, as it prevents an adversary from recognizing intercepted messages by comparing them to a dictionary of known ciphertexts.

方式

[編集]

Goldwasser-Micali暗号は3つのアルゴリズムからなる. 確率的な鍵生成アルゴリズム, 確率的な暗号化アルゴリズム, 決定性の復号アルゴリズムである.

この方式は, Nの素因数分解 (p, q) からxが法Nの元で平方かどうかを決定できることに拠っている. 具体的には以下の手順で決定できる.

  1. を計算する.
  2. かつならば, xは法Nの下, 平方剰余である.

Goldwasser-Micali consists of three algorithms: a probabilistic key generation algorithm which produces a public and a private key, a probabilistic encryption algorithm, and a deterministic decryption algorithm.

The scheme relies on deciding whether a given value x is a square mod N, given the factorization (p, q) of N. This can be accomplished using the following procedure:

  1. Compute xp = x mod p, xq = x mod q.
  2. If and , then x is a quadratic residue mod N.

鍵生成

[編集]

GM暗号が用いる法は, RSA暗号と同じ方法で構成される.

  1. アリスは2つの大きな素数 p, qを独立にランダムに選ぶ.
  2. アリスはN=p qを計算する.
  3. アリスはルジャンドル記号がとなる平方非剰余 x を計算する. このときヤコビ記号である. このxはランダムな値を選び2つのルジャンドル記号をテストすることで得られる. もしpqも4を法として3と合同ならば (すなわちNがブラム数ならば), N-1はこの性質を満たしている.

公開鍵は(x,N)である. 秘密鍵は(p,q)である.

The modulus used in GM encryption is generated in the same manner as in the RSA cryptosystem. (See RSA, key generation for details.)

  1. Alice generates two distinct large prime numbers p and q, randomly and independently of each other.
  2. Alice computes N = p q.
  3. She then finds some non-residue x such that the Legendre symbols satisfy and hence the Jacobi symbol is +1. The value x can for example be found by selecting random values and testing the two Legendre symbols. If (p, q) = 3 mod 4 (i.e., N is a Blum integer), then the value N-1 is guaranteed to have the required property.

The public key consists of (x, N). The secret key is the factorization (p, q).

暗号化

[編集]

ボブがmをアリスに送るとする.

  1. ボブはmをビット列 に符号化する.
  2. 各ビットについて, ランダムな値yから生成し, を計算する.

暗号文はである.

Suppose Bob wishes to send a message m to Alice:

  1. Bob first encodes m as a string of bits (m1, ..., mn).
  2. For every bit mi, Bob generates a random value y less than N. He outputs the value mod N.

Bob sends the ciphertext (c1, ... , cn).

復号

[編集]

アリスがを受け取ったとする.

  1. iについて, 素因数(p,q)を用いて, が平方剰余かどうかを決定する. もし平方剰余ならば, とし, そうでないならば, とする.

復号された平文はである.

Alice receives (c1, ... , cn). She can recover m using the following procedure:

  1. For each i, using the prime factorization (p, q), Alice determines whether the value ci is a quadratic residue; if so, mi = 0, otherwise mi = 1.

Alice outputs the message m = (m1, ... , mn).

安全性

[編集]

帰着はシンプルである. 暗号方式を破る敵が存在するならば法Nの下でヤコビ記号が+1のランダムな整数を平方剰余かどうか判定できる. アルゴリズムA0の暗号文と1の暗号文を識別できるとする. 与えられたxが法Nの下で平方剰余かどうか判定するには, Aが公開鍵(x,N)を用いた暗号方式を破れるかどうかを調べる. もし, xが平方非剰余ならば, Aは正しく動作し, 暗号方式を破る. しかし, xが平方剰余ならば, 任意の"暗号文"はランダムな平方剰余になる. したがって, Aは確率1/2でのみ正しく動作する (?). さらに, ランダム自己帰着性から, 与えられたNについて...

GM暗号は準同型性を持つ. もしの暗号文ならば, は, の暗号文である. この性質により, GM暗号は他の複雑な暗号方式を構成するのに用いられる.


There is a simple reduction from breaking this cryptosystem to the problem of determining whether a random value modulo N with Jacobi symbol +1 is a quadratic residue. If an algorithm A breaks the cryptosystem, then to determine if a given value x is a quadratic residue modulo N, we test A to see if it can break the cryptosystem using (x,N) as a public key. If x is a non-residue, then A should work properly. However, if x is a residue, then every "ciphertext" will simply be a random quadratic residue, so A cannot be correct more than half of the time. Furthermore, this problem is random self-reducible, which ensures that for a given N, every public key is just as secure as every other public key.

The GM cryptosystem has homomorphic properties, in the sense that if c0, c1 are the encryptions of bits m0, m1, then c0c1 mod N will be an encryption of . For this reason, the GM cryptosystem is sometimes used in more complex cryptographic primitives.

参考文献

[編集]
  • Shafi Goldwasser and Silvio Micali. Probabilistic Encryption. Journal of Computer and System Sciences (JCSS), 28(2):270-299, April 1984. Preliminary version in: 14th Annual ACM Symposium on Theory of Computing (STOC)

関連

[編集]

Category:Asymmetric-key cryptosystems Category:Electronic commerce

fr:Cryptosystème de Goldwasser-Micali fi:Goldwasser-Micali