나카체-스테인 배낭 암호체계
Naccache–Stern knapsack cryptosystem나카체-스테인 배낭 암호체계는 데이비드 나카체와 자크 스턴이 1997년 개발한 비정형 공개키 암호체계다.이 암호 체계는 결정론적이므로 의미론적으로 안전하지 않다.이 시스템은 현재까지 유지되고 있지만, 입증 가능한 보안도 부족하다.
시스템 개요
이 시스템은 배낭 문제의 한 종류에 기초하고 있다.구체적으로, 근본적인 문제는 다음과 같다: 정수 c,n,p 및 v0,...,vn, 벡터 1} x
여기서의 생각은 v가i 비교적 원초적이고 계수 p보다 훨씬 작을 때 이 문제는 쉽게 해결될 수 있다는 것이다.암호 해독이 가능한 것은 이 관찰이다.
키 생성
공용/개인 키 쌍을 생성하려면 다음과 같이 하십시오.
- 큰 소수 p를 골라라.
- 0에서 n까지의 i에 대해 양의 정수 n을 선택하고 p0 = 2로 시작하는 p를i ih prime으로 설정하십시오. = < i=0}^{
- gcd(p-1,s) = 1과 같은 비밀 정수 s < p-1>을 선택한다.
- = 을(를) 설정하십시오
공용 키는 p,n,v0,...,vn 입니다. 개인 키는 s 입니다.
암호화
n비트 긴 메시지 m을 암호화하려면, 계산한다.
여기서 m은i 메시지 m의 ith 비트다.
암호 해독
메시지 c의 암호를 해독하려면
이것은 분수령이 떨어지기 때문에 효과가 있다.
p가i cs mod p를 나누는지에 따라 0 또는 1이다.