Goldwasser-Micali 암호 시스템

Goldwasser–Micali cryptosystem

Goldwasser-Micali(GM) 암호 시스템은 1982년 Shafi GoldwasserSilvio Micali의해 개발된 비대칭암호화 알고리즘입니다.GM은 표준 암호 가정 하에서 입증 가능한 안전한 최초확률론적 공개 키 암호화 스킴이라는 특징을 가지고 있습니다.그러나 암호문은 초기 일반 텍스트보다 수백 배 클 수 있으므로 효율적인 암호 시스템은 아닙니다.암호 시스템의 보안 특성을 증명하기 위해 Goldwasser와 Micali는 널리 사용되는 의미 보안의 정의를 제안했습니다.

근거

GM 암호 시스템은 복합 N = pq에 대한 2차 잔차성 문제 모듈의 난치성을 바탕으로 의미론적으로 안전하다. 여기서 p, q는 큰 소수이다. 가정은 x에 대한 야코비 기호가 +1일 (x, N) x가 2차 잔차 모듈로 N(일부 y2 경우 x = y mod N)인지 여부를 판단하기 어렵다는 것이다.2차 잔차 문제는 N의 인수분해로 쉽게 해결되는 반면, 새로운 2차 잔차는 이러한 인수분해에 대한 지식이 없어도 모든 당사자에 의해 생성될 수 있다.GM 암호 시스템은 개별 평문 비트를 랜덤 2차 잔기 또는 비잔기 모듈로 N으로 암호화하여 이 비대칭을 활용하며, 모두 2차 잔기 기호 +1을 사용합니다.수신자는 개인키로서 N의 인수분해를 사용하여 수신한 암호문 값의 2차 잔존성을 테스트하여 메시지를 복호화합니다.

Goldwasser-Micali는 보통 텍스트의 모든 비트를 암호화하기 위해 약N 사이즈의 값을 생성하기 때문에 GM 암호화를 통해 암호문이 대폭 확장됩니다.인수분해 공격을 방지하려면 N을 수백 비트 이상으로 하는 것이 좋습니다.따라서, 이 계획은 주로 개념 증명 역할을 하며, ElGamal과 같은 보다 효율적인 입증 가능한 보안 체계가 그 이후로 개발되었다.

암호화는 확률론적 알고리즘을 사용하여 실행되므로 암호화될 때마다 특정 평문이 매우 다른 암호문을 생성할 수 있습니다.이것은, 수신한 메시지를 기존의 암호 텍스트의 사전과 비교하는 것으로써, 상대방이 그것을 인식할 수 없게 하기 때문에, 큰 메리트가 있습니다.

스킴 정의

Goldwasser-Micali는 공개 키와 개인 키를 생성하는 확률적 키 생성 알고리즘, 확률론적 암호화 알고리즘 및 결정론적 복호화 알고리즘의 3가지 알고리즘으로 구성됩니다.

스킴은 N의 인수분해(p, q)가 주어졌을 때 주어진 값 x제곱모드 N인지 아닌지에 따라 결정됩니다.이것은, 다음의 순서에 따라서 실시할 수 있습니다.

  1. x = x mod p, xq = x mod q를 계산합니다p.
  2. p ( - )/ 1( p ( p - 1( p - 1 ) / )\ 1 { \ pmod {} 및 x ) / ( ( mod q )\ equiv 1 \ {q}의 경우, restersecondary 입니다.

키 생성

GM 암호화에 사용되는 계수는 RSA 암호 시스템과 동일한 방법으로 생성됩니다.(자세한 것에 대하여는, RSA, 키 생성을 참조해 주세요).

  1. 앨리스는 서로 독립적으로 랜덤으로 두 개의 뚜렷한 큰 소수 p와 q를 생성합니다.
  2. Alice는 N = p q를 계산합니다.
  3. 그런 다음 Legendre 기호가(p ) (q ) - ( \ { } { } \ ) = \ style \ { x { x } \ right ) - - the hence hence hence\\\\\\\ ( N (\ \ \ \ \ \ \ \ \ \ \ \ frac { right } { right } { right ( ( ( ( ( ( ( ( ( ( ( ( ( ( (를 들어 값 x는 랜덤 값을 선택하고 두 개의 Legendre 기호를 테스트하여 찾을 수 있습니다.p, q = 3 mod 4(즉, NBlum 정수)일 경우, N - 1 은 필수 특성을 가집니다.

공개 키는 (x, N)로 구성됩니다.비밀키는 인수분해(p, q)입니다.

메시지 암호화

Bob이 Alice에게 m 메시지를 보내고 싶다고 가정합니다.

  1. Bob은 먼저 m을 비트 문자열(m1, ..., mn)로 인코딩합니다.
  2. Bob은 마다 단위 모듈 N 또는 (\N) \ n)에서 임의의 생성합니다

Bob은 암호문(c1, ..., cn)을 전송합니다.

메시지 복호화

Alice는 (c1, ..., cn)를 수신합니다.다음 절차를 사용하여 m을 회복할 수 있습니다.

  1. i에 대해 Alice는 소인수 분해(p, q)를 사용하여 i c가 2차 잔차인지 여부를 결정합니다. 그렇다면 mi = 0이고, 그렇지i 않으면 m = 1입니다.

Alice는 m = (m1, ..., mn) 메시지를 출력합니다.

보안 속성

이 암호 시스템을 해제하는 것에서 Jacobi 기호 +1을 가진 랜덤 값 모듈로 N이 2차 잔차인지 여부를 결정하는 문제로 단순하게 감소합니다.알고리즘 A가 암호 시스템을 파괴한 경우, 주어진 x가 2차 잔차 모듈로 N인지 아닌지를 판단하기 위해 공개 키로 (x, N)를 사용하여 암호 시스템을 파괴할 수 있는지 여부를 A에 테스트한다.x 가 잔존하지 않는 경우는, A 가 정상적으로 동작합니다.그러나 x가 잔차라면, 모든 "암호문"은 단순히 랜덤 2차 잔차이기 때문에, A는 시간의 절반 이상을 보정할 수 없습니다.또, 이 문제는 랜덤으로 자기 리듀케이블이 가능하기 때문에, 특정의 N 에 대해서, 모든 공개 키가 다른 공개 키와 같이 시큐어인 것을 확인할 수 있습니다.

GM 암호 시스템은 c, c1 비트0 m, m1 암호화일 경우001 cc mod N은 m 1의 (\ m_1라는 점에서 동형 속성을 가지고 있습니다.이 때문에 GM 암호 시스템은 보다 복잡한 암호 원형에 사용되는 경우가 있습니다.

레퍼런스

  • S. Goldwasser, S. Micali (1982). "Probabilistic encryption and how to play mental poker keeping secret all partial information". Proc. 14th Symposium on Theory of Computing: 365–377. doi:10.1145/800070.802212.
  • S. Goldwasser, S. Micali (1984). "Probabilistic encryption". Journal of Computer and System Sciences. 28 (2): 270–299. doi:10.1016/0022-0000(84)90070-9.

「 」를 참조해 주세요.