나카체-스테인 배낭 암호체계

Naccache–Stern knapsack cryptosystem

나카체-스테인 배낭 암호체계는 데이비드 나카체자크 스턴이 1997년 개발한 비정형 공개키 암호체계.이 암호 체계는 결정론적이므로 의미론적으로 안전하지 않다.이 시스템은 현재까지 유지되고 있지만, 입증 가능한 보안도 부족하다.

시스템 개요

이 시스템은 배낭 문제의 한 종류에 기초하고 있다.구체적으로, 근본적인 문제는 다음과 같다: 정수 c,n,pv0,...,vn, 벡터 1} x

여기서의 생각은 vi 비교적 원초적이고 계수 p보다 훨씬 작을 때 이 문제는 쉽게 해결될 수 있다는 것이다.암호 해독이 가능한 것은 이 관찰이다.

키 생성

공용/개인 키 쌍을 생성하려면 다음과 같이 하십시오.

  • 소수 p를 골라라.
  • 0에서 n까지의 i에 대해 양의 정수 n을 선택하고 p0 = 2로 시작하는 pi ih prime으로 설정하십시오. = < i=0}^{
  • gcd(p-1,s) = 1과 같은 비밀 정수 s < p-1>을 선택한다.
  • = 을(를) 설정하십시오

공용 키는 p,n,v0,...,vn 입니다. 개인 는 s 입니다.

암호화

n비트 긴 메시지 m을 암호화하려면, 계산한다.

여기서 mi 메시지 m의 ith 비트다.

암호 해독

메시지 c의 암호를 해독하려면

이것은 분수령이 떨어지기 때문에 효과가 있다.

pi cs mod p를 나누는지에 따라 0 또는 1이다.

참고 항목

참조