라빈 암호 체계
Rabin cryptosystemRabin 암호 시스템은 RSA와 마찬가지로 정수 인수 분해의 어려움과 관련이 있는 비대칭 암호화 기술입니다.그러나 Rabin 암호 시스템은 공격자가 정수를 효율적으로 인수할 수 없는 한 선택된 일반 텍스트 공격에 대해 계산적으로 안전하다는 것이 수학적으로 입증되었지만 [1]: 145 RSA에 대해 알려진 증거는 없습니다.Rabin 함수의 각 출력이 4개의 가능한 입력 중 하나에 의해 생성될 수 있다는 단점이 있습니다. 각 출력이 암호문인 경우, 4개의 가능한 입력 중 어느 것이 진정한 평문인지 식별하기 위해 복호화 시 추가적인 복잡성이 요구됩니다.
역사
이 알고리즘은 마이클 O. 라빈에 [2]의해 1979년 1월에 출판되었다.Rabin 암호 시스템은 암호 텍스트에서 평문을 복구하는 것이 팩터링만큼 어렵다는 것을 증명할 수 있는 최초의 비대칭 암호 시스템이었습니다.
암호화 알고리즘
모든 비대칭 암호 시스템과 마찬가지로 Rabin 시스템은 암호화에 대한 공개 키와 암호 해독에 대한 개인 키라는 키 쌍을 사용합니다.공용 키는 모든 사용자가 사용할 수 있도록 게시되지만 개인 키는 메시지의 수신인만 알 수 있습니다.
키 생성
Rabin 암호 시스템의 키는 다음과 같이 생성됩니다.
- p 4 { \ p \ 3 { \ { 4} 3 mod 4 display 3 3 3 3 q 3 mod 4 { \ q \ 3 \ { large2개의 큰 되는 소수p\ 를 합니다 .
- n q \ n }
n이 공개키이고 쌍 ,q 이 개인키입니다.
암호화
M M을 암호화하려면 먼저 가역 매핑을 사용하여 메시지 M(\ m을 mdisplaystyle m)으로 변환한 다음 c n(\ c을 합니다.은 cc입니다
복호화
m m은 암호문 c{ c에서 다음과 같이 제곱근 modulo{ n을 취함으로써 복구할 수 있습니다.
- 다음 공식을 사용하여 c c p의 을 계산합니다.
- 확장 유클리드 알고리즘을 사용하여 p 및 q {를 ( + ) { \ p \ 。
- 중국어 나머지 정리를 사용하여 c c의4제곱근을 구합니다.
이 4개의 값 중1개는 원래의 mm입니다.다만, 4개의 값 중 어느 것이 올바른 것인지, 추가 정보가 없으면 판별할 수 없습니다.
제곱근 계산
위의 1단계 공식은 실제로 의 제곱근을 산출하는 것을 다음과 같이 나타낼 수식은 cc의 제곱근입니다.첫 번째 공식에서는 2 c p {\bmod p 이므로 p 3의 지수(+1 ) an { { an { + p}입니다.c p \ c \ 0 \ {} c p \ c \ m^ { \ b { p {\ {\ c 2 q 2 c\ m^ { p } } { p } } that that that that that that that that that that that that that that that that that that that that that that that that that that that that that2 c 。즉, c는 2차 잔차 로p(\ style p그리고나서
마지막 단계는 오일러의 기준에 의해 정당화된다.
예
예를 들어 p { p q { q을 한 {77을(를) 사용합니다. m { m20}을 사용합니다.따라서 암호문은 c n mod 77 {\ cn}} = bmod } = 입니다.
복호화는 다음과 같이 진행됩니다.
- p 4( +) p 7 { { \ m _ { p } = { \ { {\ {7 }{ \ { 7 \ 9 = 3 mod
- 확장 유클리드 알고리즘을 사용하여 p -3(\{p}=- q }=2}를 합니다. y p + y ( - 7)+ ( 11) { yp _ p _ { p _ { p _ } } { p _ cd + cd + cd + cd _ cd } { } { cd } { } { cd } {
- 4개의 평문 후보를 계산합니다.
3이 평문임을 알 수 있습니다.4개의 후보 모두 15 mod 77의 제곱근입니다.즉, 각 후보별로 77 {\}=이므로 한 값 15로 암호화됩니다.
디지털 서명 알고리즘
Rabin 암호 시스템을 사용하여 디지털 서명을 만들고 확인할 수 있습니다.시그니처를 작성하려면 개인키 ,q) { ) 이 필요합니다.시그니처를 확인하려면 n { n} 이 필요합니다.
서명
m < \ m < >는 다음과 같이 개인 키 , ){ ( )로 서명할 수 있습니다.
- 임의의 u\u
- 암호화 H(\H)를 사용하여 c { c를 합니다.여기서 막대는 연결을 나타냅니다.c는 nn보다 정수여야 합니다.
- c를 Rabin 암호화 값으로 간주하고 개인 키displaystyle (2},를 사용하여 복호화를 시도합니다.
- 를 암호화하면c(\ c가 될 것으로 예상할 수 있지만, 이는 c c가 2차 잔차 로p(\ p 및q(\ q일 에만 해당됩니다. 이 경우 첫 번째 복호화를 암호화합니다. r c\c로 되지 않으면 새로운 u를 사용하여이 알고리즘을 반복합니다. cc를 찾기 전에 이 알고리즘을 반복해야 하는 예상 횟수는 4입니다.
- c c 로 암호화되는 1 { } 이 검출되면 시그니처는( 1,u) { 입니다.
시그니처 확인
m {\m의 시그니처는 다음과 같이 n {\ n을 사용하여 확인할 수 있습니다.
- c ( { c ( } 를 합니다.
- n ndisplaystylen\ n n
- 시그니처는 rr의 가 cc와 한 경우에만 유효합니다.
알고리즘 평가
효과
복호화에서는 올바른 결과 외에 3개의 잘못된 결과가 생성되므로 올바른 결과를 추측해야 합니다.이것은 Rabin 암호 시스템의 주요 단점이며, 광범위한 실용화를 방해하는 요인 중 하나입니다.
일반 텍스트가 텍스트메시지를 나타내는 것이라면 추측은 어렵지 않습니다.단, 일반 텍스트가 수치를 나타내는 것이라면 이 문제는 모종의 명확화 스킴에 의해 해결되어야 하는 문제가 됩니다.특수 구조를 가진 일반 텍스트를 선택하거나 패딩을 추가하여 이 문제를 제거할 수 있습니다.반전의 모호성을 제거하는 방법은 Blum과 Williams에 의해 제안되었다. 사용된 두 개의 소수는 3 모듈로 4와 일치하는 소수점으로 제한되고 제곱의 영역은 2차 잔기의 집합으로 제한된다.이러한 제한에 의해 스쿼링 함수는 트랩도어 순열로 바뀌어 [3]모호성이 해소됩니다.
효율성.
암호화의 경우 제곱모듈로를 계산해야 합니다.이 방법은 큐브 이상의 계산이 필요한 RSA보다 효율적입니다.
복호화를 위해 두 개의 모듈식 인수분해와 함께 중국어 나머지 정리가 적용된다.이 경우 효율성은 RSA에 필적합니다.
명확화는 추가적인 계산 비용을 초래하며, Rabin 암호 시스템이 광범위한 실용성을 [citation needed]찾지 못하게 합니다.
보안.
Rabin 암호화 값을 복호화하는 알고리즘은 n(\ n에 사용할 수 있는 것으로 증명되었습니다.따라서 Rabin 복호화는 적어도 RSA에서 증명되지 않은 정수 인수분해 문제만큼 어렵습니다.일반적으로 팩터링을 위한 다항식 시간 알고리즘은 존재하지 않는 것으로 알려져 있습니다.이는 개인 키 , (p q )\displaystyle (p , q 이 없으면 Rabin 암호화 값을 복호화하는 효율적인 알고리즘이 없음을 의미합니다.
Rabin 암호 시스템은 암호화 프로세스가 결정론적이기 때문에 선택된 일반 텍스트 공격에 대해 구별을 할 수 없습니다.암호문 및 후보 메시지를 부여받은 상대는 암호문이 후보 메시지를 부호화하는지 여부를 쉽게 판단할 수 있다(후보 메시지를 암호화하는 것이 소정의 암호문을 산출하는지 여부를 확인하는 것).
Rabin 암호 시스템은 선택된 암호문 공격에 대해 안전하지 않습니다(메시지 [1]: 150 공간에서 챌린지 메시지가 랜덤으로 선택되는 경우에도 마찬가지).예를 들어 마지막 64비트의 반복과 같은 용장성을 추가함으로써 시스템은 단일 루트를 생성할 수 있습니다.복호화 알고리즘은 공격자가 이미 알고 있는 루트만 생성하기 때문에 이 특정 선택된 암호문 공격을 중지합니다.이 기법을 적용하면 인수분해 문제와의 동등성 증명에 실패하기 때문에 이 변종이 안전한지는 2004년 현재 불확실합니다.Menezes, Oorschot 및 Vanstone의 응용암호화 핸드북에서는 이러한 등가성이 있을 가능성이 높다고 간주하고 있지만, 루트의 발견이 두 부분으로 이루어진 프로세스(1. mod p\ {p와 {q 및 2. 중국어 잔여정리의 적용)로 이루어진다고 간주하고 있습니다.
「 」를 참조해 주세요.
메모들
레퍼런스
- 부크만, 요하네스크립토그래피의 아인푸엉.제2판베를린: Springer, 2001.ISBN 3-540-41283-2
- 메네제스, 알프레드, 반 우르쇼트, 폴 C, 반스톤, 스콧 A.응용 암호 핸드북CRC Press, 1996년 10월ISBN 0-8493-8523-7
- 라빈, 마이클디지털 서명 및 공개 키 기능은 인수분해만큼 다루기 어렵습니다(PDF).MIT 컴퓨터 과학 연구소, 1979년 1월.
- Scott Lindhurst 유한장에서의 제곱근 계산을 위한 Shank 알고리즘 분석.R Gupta 및 K S Williams, Proc 5th Conf Can Nr Theo Assoc, 1999, vol 19 CRM Proc & Lec Notes, AMS, 1999년 8월
- R Kumanduri and C Romero, 컴퓨터 어플리케이션 포함 수론, Alg 9.2.9, 프렌티스 홀, 1997.소수 2차 잔차 모듈의 제곱근에 대한 확률론적.