コンテンツにスキップ

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

18:59, 2 March 2009版から

Blum-Goldwasser (BG) 暗号は, Manuel BlumとShafi Goldwasserによって1984年に提案された公開鍵暗号方式である. BG暗号は確率的暗号であり, ...安全である. また, 暗号文と平文の比は定数である. ?BBS擬似乱数生成器を用いて鍵ストリームを生成し, その鍵ストリームと平文のXORを取ることで暗号化される. 復号は, BBS擬似乱数生成器の最終状態を秘密鍵を用いて操作することで行われる. これにより, 初期状態が計算でき鍵ストリームを再構成できる.

The Blum-Goldwasser (BG) cryptosystem is an asymmetric key encryption algorithm proposed by Manuel Blum and Shafi Goldwasser in 1984. Blum-Goldwasser is a probabilistic, semantically secure cryptosystem with a constant-size ciphertext expansion. The encryption algorithm implements an XOR-based stream cipher using the Blum Blum Shub (BBS) pseudo-random number generator to generate the keystream. Decryption is accomplished by manipulating the final state of the BBS generator using the secret key, in order to find the initial seed and reconstruct the keystream.

BG暗号は, 素因数分解の不可能性を仮定することで強秘匿性および識別不可能性を証明できる. 具体的には, が十分大きな素数であるような合成数の素因数分解である. BG暗号には, Goldwasser-Micali暗号のような初期の確立的暗号に比べいくつかの利点がある. 第一にその安全性は素因数分解にのみ帰着され, 他の仮定 (QR仮定やRSA仮定) を必要としない. 第二に, BG暗号は効率が良い... また, BG暗号は計算の効率もRSA暗号と比較可能であるほど良い (ただしBG暗号のメッセージの長さおよびRSAの指数の長さによる). 以上の利点はあるが, BG暗号は適応的選択暗号文攻撃に非常に弱い (下記を参照のこと).

The BG cryptosystem is semantically secure based on the assumed intractability of integer factorization; specifically, factoring a composite value where are large primes. BG has multiple advantages over earlier probabilistic encryption schemes such as the Goldwasser-Micali cryptosystem. First, its semantic security reduces solely to integer factorization, without requiring any additional assumptions (e.g., hardness of the quadratic residuosity problem or the RSA problem). Secondly, BG is efficient in terms of storage, inducing a constant-size ciphertext expansion regardless of message length. BG is also relatively efficient in terms of computation, and fairs well even in comparison with cryptosystems such as RSA (depending on message length and exponent choices). However, BG is highly vulnerable to adaptive chosen ciphertext attacks (see below).

暗号化が確率的に行われるため, 入力である平文を固定しても暗号化の度に異なった暗号文が生成される. これは, 敵が辞書攻撃を行うこと (すなわち既知の暗号文と平文のペアと比べることによって盗聴した暗号文を解読すること) を防ぐという点で, 非常に重要である.

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.

暗号方式[編集]

おっとダメなのか. Note that the following description is a draft, and may contain errors!

Blum-Goldwasser暗号は3つ組のアルゴリズムからなる. 公開鍵と秘密鍵のペアを確率的に生成する鍵生成アルゴリズム, 確率的な暗号化アルゴリズム, および決定性の復号アルゴリズムである.

Blum-Goldwasser 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.

鍵生成[編集]

Blum-Goldwasser暗号では, Blum数が用いられる. これは復号のためである. Blum数はRSAモジュールと同様に生成されるが, 素数は法4の下で3と合同でなければならない.

  1. アリスは2つの大きな素数を独立にランダムに選ぶ. ただし, かつでなければならない.
  2. アリスはを計算する.

公開鍵は, 秘密鍵はその素因数分解である.

To allow for decryption, the modulus used in Blum-Goldwasser encryption should be a Blum integer. This value is generated in the same manner as an RSA modulus, except that the prime factors must be congruent to 3 mod 4. (See RSA, key generation for details.)

  1. Alice generates two large prime numbers and such that , randomly and independently of each other, where mod .
  2. Alice computes .

The public key is . The secret key is the factorization .

暗号化[編集]

ボブがビットの平文を暗号化してアリスに送りたいとする. Suppose Bob wishes to send a message m to Alice:

  1. ボブはをランダムにの範囲から選び, とする.
  2. ボブはBBS擬似乱数生成器を用い, ビットの鍵ストリームを得る.
    1. について以下を繰り返す.
    2. の最下位ビットとする.
    3. を1増やす.
    4. を計算する.
  3. 鍵ストリームと平文のXORを取ることで暗号分を得る. すなわち, を計算する.
  4. さらに, を計算する.
  1. Bob first encodes as a string of bits .
  2. Bob selects a random element , where , and computes .
  3. Bob uses the BBS pseudo-random number generator to generate random bits (the keystream), as follows:
    1. For to :
    2. Set equal to the least-significant bit of .
    3. Increment .
    4. Compute .
  4. Compute the ciphertext by XORing the plaintext bits with the keystream: .


ボブは暗号文としてを送信する.

Bob sends the ciphertext .


To improve performance, the BBS generator can securely output up to of the least-significant bits of during each round. See Blum Blum Shub for details.

復号[編集]

アリスが暗号文を受け取ったとする. 以下の手続きによりアリスはを復元する.

Alice receives . She can recover using the following procedure:

  1. アリスはの法の下での乗根を求める.
    1. を計算する.
    2. 中国式剰余定理よりを求める.
      1. ...?
  2. からをBBS擬似乱数生成器を用いて求める.
  3. 暗号文と鍵ストリームのXORを取ることで平文を求める. すなわち, .
  1. Using the prime factorization , Alice computes and .
  2. Compute the initial seed
  3. From , recompute the bit-vector using the BBS generator, as in the encryption algorithm.
  4. Compute the plaintext by XORing the keystream with the ciphertext: .

Alice recovers the plaintext .

安全性および効率[編集]

BG暗号の強秘匿性は, BBS擬似乱数生成器の最終状態と公開鍵を用いたとしても鍵ストリームと一様乱数の区別がつかないことにもとづく. しかし, という暗号文は適応的選択暗号文攻撃に弱い. 適応的選択暗号文攻撃では, 敵は復号オラクルにクエリすることでという暗号文の平文を求めることが出来る. この場合, 元々の暗号文の平文として求められる.

The Blum-Goldwasser scheme is semantically-secure based on the hardness of predicting the keystream bits given only the final BBS state and the public key . However, ciphertexts of the form are vulnerable to an adaptive chosen ciphertext attack in which the adversary requests the decryption of a chosen ciphertext . The decryption of the original ciphertext can be computed as .

BG暗号は平文のサイズによって効率が変化する. RSA暗号では, ...

Depending on plaintext size, BG may be more or less computationally expensive than RSA. Because most RSA deployments use a fixed encryption exponent optimized to minimize encryption time, RSA encryption will typically outperform BG for all but the shortest messages. However, as the RSA decryption exponent is randomly distributed, modular exponentiation may require a comparable number of squarings/multiplications to BG decryption for a ciphertext of the same length. BG has the advantage of scaling more efficiently to longer ciphertexts, where RSA requires multiple separate encryptions. In these cases, BG may be significantly more efficient.

References[編集]

  1. M. Blum, S. Goldwasser, "An Efficient Probabilistic Public Key Encryption Scheme which Hides All Partial Information", Proceedings of Advances in Cryptology - CRYPTO '84, pp. 289-299, Springer Verlag, 1985.
  2. Menezes, Alfred; van Oorschot, Paul C.; and Vanstone, Scott A. Handbook of Applied Cryptography. CRC Press, October 1996. ISBN 0-8493-8523-7

External links[編集]