블럼-골드와세르 암호체계

Blum–Goldwasser cryptosystem

블럼-골드와서(BG) 암호체계는 1984년 마누엘 블럼샤피 골드와서가 제안한 비대칭암호화 알고리즘이다.Blum-Goldwasser는 일정한 크기의 암호문을 확장확률론적이고 의미론적으로 안전한 암호체계다.암호화 알고리즘은 키스트림을 생성하기 위해 BBS(Blum-Blum-Shub) 사이비 무작위 숫자 생성기를 사용하여 XOR 기반 스트림 암호를 구현한다.암호 해독은 초기 시드를 찾아 키스트림을 재구성하기 위해 개인 키를 사용하여 BBS 발전기의 최종 상태를 조작함으로써 이루어진다.

BG 암호 체계는 정수 인자화의 가정된 난해성에 기초하여 의미론적으로 안전하다. 특히 복합 N = N=을(를) 인수하면 ,q {\}이(가) 큰 primes이다.BG는 Goldwasser-Mecali 암호체계와 같은 이전의 확률론적 암호화 체계보다 여러 가지 장점을 가지고 있다.첫째, 그것의 의미적 보안은 추가적인 가정(예: 2차 잔류성 문제의 경도 또는 RSA 문제)을 요구하지 않고 정수 인자화만으로 감소한다.둘째, BG는 저장 측면에서 효율적이어서 메시지 길이에 상관없이 일정한 크기의 암호문 확장을 유도한다.BG는 계산 측면에서도 비교적 효율적이며, RSA와 같은 암호 시스템과 비교해도 요금이 잘 나온다(메시지 길이와 지수 선택에 따라 다름).그러나 BG는 적응형 선택 암호문 공격에 매우 취약하다(아래 참조).

암호화는 확률론적 알고리즘을 사용하여 수행되기 때문에, 주어진 일반 텍스트는 암호화될 때마다 매우 다른 암호문을 생성할 수 있다.이것은 적수가 가로채는 메시지를 알려진 암호문자의 사전과 비교함으로써 인식하지 못하게 하기 때문에 상당한 이점을 가지고 있다.

작전

Blum-Goldwasser 암호 체계는 세 가지 알고리즘, 즉 공용 키와 개인 키를 생성하는 확률론적 키 생성 알고리즘, 확률론적 암호화 알고리즘, 결정론적 암호 해독 알고리즘으로 구성된다.

키 생성

공용 및 개인 키는 다음과 같이 생성된다.

  1. 고유 소수 (q {\ 3(와) 3 과(와) 같은 두 개의 큰 고유 소수 p {\을 선택하십시오
  2. 계산 = [1].

그런 n{\}이(가) 공개 키이고 , ){\(가) 개인 키입니다.

암호화

메시지 은(는) 다음과 같이 공개 키 을(를) 사용하여 암호화된다.

  1. 블록 크기를 비트로 한다. h= ( 2 (n )⌋ {\ h)\rfloor
  2. 을(를) t m ,2, {\t로 변환하십시오
  3. 임의 정수 < 을(를) 선택하십시오
  4. 계산 =
  5. 경우 1 ~ t
    1. 계산 =
    2. 계산 = h 비트
    3. 계산 =
  6. 마지막으로 + = x 을(를) 계산하십시오

The encryption of the message is then all the values plus the final value: .

암호 해독

암호화된 메시지 , 2,, , x) 은(는) 개인, ) 을(으)로 해독할 수 있다.

  1. d =(( + 1)/ ) t+ (p- ) ).
  2. 계산 =( (+ )/ 4) + (- ) )
  3. 계산 p=
  4. 계산 =
  5. 유클리드 알고리즘을 사용하여 및 r q p}(를) 계산하십시오
  6. 계산 = + 이 값은 암호화에 사용된 값과 동일하다(아래 증명 참조). x0 {\0}}을(를) 사용하여 암호화에 사용된 것과 동일한 값을 다음과 같이 계산할 수 있다.
  7. 경우 1 ~ t
    1. 계산 =
    2. 계산 = h 비트
    3. 계산 = i
  8. 마지막으로 값 , 2 …, m t ){\m_{1},\을(를) M {\ 다시 조립하십시오

Let and . Then and . To encrypt the six-bit message , we break it into two 3-bit blocks , so . We select a random and compute .이제 c 값을 다음과 같이 계산한다.

따라서 암호화는( = 2,c = x = ) 입니다

암호를 해독하기 위해 우리는 계산한다.

이(가) 암호화 알고리즘과 동일한 값을 가지고 있음을 알 수 있다.따라서 암호 해독은 암호화와 동일하게 진행된다.

정확성 증명

암호 해독 알고리즘의 6단계에서 계산한 0 이 암호화 알고리즘의 4단계에서 계산한 값과 같다는 것을 보여줘야 한다.

암호화 알고리즘에서, 0{\에 의한 2차 잔류물 n{\ 따라서 다른 {\ 값도 모두 스퀴어링에 의해 얻어진 2차 잔류 modulo p dulo p이다따라서 오일러의 기준으로 - )/ 그러면

마찬가지로

번째 방정식을 검정력으로(+ 1) / p+1

t 반복하면

비슷한 논거로 t+ u q x 0 스타일 q}}\0}\라는 것을 알 수 있다

마지막으로 + = 1 이므로 x 을 곱하여 얻을 수 있다

from which , modulo both and , and therefore .

보안 및 효율성

Blum-Goldwasser 체계는 최종 BBS 상태 (와) 키 N {\만 주어진 키스트림 비트를 예측하는 경도에 기초하여 의미론적으로 하지만, {\ 형식의 암호문자는 적응형 선택한 암호문서에 취약하다k: 적수가 선택한 암호문 → , 암호 해독 m을(를) 요청하는 경우원본 암호문의 암호 해독 은(는) c }\oplus 로 계산할 수 있다

일반 텍스트 크기에 따라 BG는 RSA보다 계산적으로 다소 비쌀 수 있다.대부분의 RSA 배포는 암호화 시간을 최소화하도록 최적화된 고정 암호화 지수를 사용하기 때문에 일반적으로 RSA 암호화는 가장 짧은 메시지를 제외한 모든 메시지에서 BG를 능가한다.그러나 RSA 암호 해독 지수가 무작위로 분포하기 때문에 모듈형 지수화는 동일한 길이의 암호문에 대해 BG 암호 해독에 대해 비슷한 수의 스쿼링/다중화가 필요할 수 있다.BG는 RSA가 여러 개의 개별 암호화를 필요로 하는 긴 암호문까지 보다 효율적으로 확장할 수 있다는 장점이 있다.이 경우 BG는 훨씬 더 효율적일 수 있다.

참조

  1. ^ RFC4086 섹션 "6.2.2.블럼 블럼 슈브 시퀀스 제너레이터"
  1. M. Blum, S. Goldwasser, "모든 부분 정보를 숨기는 효율적인 확률론적 공개 키 암호화 체계", CRIPTO '84, 페이지 289–299, Springer Verlag, 1985.
  2. 메네제스, 알프레드, 반 우르쇼트, 폴 C, 그리고 반스톤, 스콧 A.응용 암호학 핸드북.1996년 10월 CRC 프레스.ISBN 0-8493-8523-7

외부 링크