알려진 NP-Hard 문제를 기반으로하는 암호화 알고리즘이없는 이유는 무엇입니까?


109

RSA와 같은 오늘날의 암호화의 대부분은 정수 인수 분해에 의존하는데, 이는 NP 하드 문제는 아니지만 BQP에 속하므로 양자 컴퓨터에 취약합니다. 알려진 NP 하드 문제에 기반한 암호화 알고리즘이없는 이유가 궁금합니다. NP-hard로 입증되지 않은 알고리즘보다 더 나은 암호화 알고리즘을 만드는 것처럼 들립니다 (적어도 이론적으로는).

답변:


76

NP- 완전 문제의 최악의 경도는 암호화에 충분하지 않습니다. NP- 완전 문제가 최악의 경우 ( ) 에서 어려운 경우 에도 여전히 평균적인 경우에 효과적으로 해결할 수 있습니다. 암호화는 NP에 평균 사례 다루기 힘든 문제가 있다고 가정합니다. 또한, 가정을 사용하여 NP에서 평균에 어려운 문제의 존재를 증명하는 것이 주요한 열린 문제입니다.P N P

1995 년 의 평균 사례 복잡성에 대한 개인적인 견해 인 Russell Impagliazzo의 고전은 훌륭한 글입니다 .

훌륭한 조사는 평균의 경우 복잡성 이론 컴퓨터 과학 집에서 보그와 Trevisan, 기초 및 동향에 의해. 2, No 1 (2006) 1–106


1
최상의 경우에도 경도가 필요하지 않습니까? 결국, 우리의 모든 키는 안전해야합니다. 아니면 최상의 경우가 발생하는 것을 효과적으로 (그리고 효율적으로) 막을 수 있습니까?
Raphael

7
또한 합리적인 시간에 하드 인스턴스를 생성 할 수 있어야합니다. 즉, 우리는 단지보다 훨씬 더 필요 다움을. -h에이아르 자형
Kaveh

@Raphael, 바람직하지 않은 "좋은"사례를 얻을 확률이 충분히 작 으면 충분해야합니다. 바람직한 "나쁜"사례의 정확한 키를 추측 할 확률보다 작 으면이 위험을 수용 가능한 IMHO로 간주해야합니다.
quazgar

49

가 있었다.

하나의 그러한 예는 선형 코드를 디코딩하는 경도에 기초한 McEliece 암호화 시스템 이다.

두 번째 예는 NTRUEncrypt 로 NP-Hard라고 알려진 가장 짧은 벡터 문제를 기반으로합니다.

또 다른 하나는 Merkle-Hellman 배낭 암호 시스템 입니다.

참고 : 처음 두 개가 깨 졌거나 얼마나 좋은지 모르겠습니다. 내가 아는 것은 그것들이 존재한다는 것입니다. 웹 검색을 통해 사람들을 얻었습니다.


6
암호화 분석의 목적으로 McEliece는 아마도 하나의 암호화 시스템으로 간주되어서는 안됩니다. 효율적으로 디코딩 가능한 선형 코드의 각 클래스에 대해 반드시이를 깨기위한 다른 전략을 세워야합니다. McEliece의 원래 제안 인 Goppa 코드가 아닌 일부 코드 클래스에서는 깨졌습니다 (Wikipedia 기사에서 알 수 있듯이).
피터 쇼어

이 목록에서 NTRU가 가장 유망 해 보인다고 말했지만, 지금까지 읽은 내용을 기반으로 RSA를 테스트 한 방식에 대해서는 아직 광범위하게 테스트되지 않았습니다.
Ken Li

Merkle-Hellman 암호 시스템은 적절한 예가 아닙니다. Merkle-Hellman 배낭 정점은 모든 배낭 벡터의 일부일 뿐이므로 Merkle-Hellman 배낭 문제는 NP 하드가 아닐 수 있습니다. 나는 그것이 NP-hard라고 생각하지 않습니다. 적어도 이것을 보여주는 종이를 알지 못합니다.
miracle173

25

나는 완전히 독립적이지 않은 네 가지 주요 장애물을 생각할 수 있습니다.

  • NP- 경도 는 한계의 복잡성 대한 정보 만 제공합니다 . 많은 NP- 완전 문제의 경우, 특정 시나리오에서 모든 관심 대상 인스턴스를 합리적으로 빠르게 해결하는 알고리즘이 존재합니다. 다시 말해, 고정 된 문제 크기 (예 : 주어진 "키")에 대해 NP 문제이기 때문에 문제가 반드시 어려운 것은 아닙니다.
  • NP 경도는 최악의 경우 만 고려합니다. 기존 알고리즘을 사용하면 대부분의 인스턴스까지도 쉽게 해결할 수 있습니다. 하드 인스턴스 (faik, 우리는 그렇지 않음)를 어떻게 특성화하는지 알고 있었더라도 여전히 찾아야합니다.
  • 2(1)
  • 가역성이 필요합니다. 예를 들어, 모든 정수는 소인수 분해로 고유하게 설명됩니다. 이미지 TSP를 암호화 방법으로 사용하려고합니다. 가장 짧은 여행이 주어지면 자신이 만든 그래프를 독창적으로 만들 수 있습니까?

암호화에 대한 전문 지식이 없습니다. 이것들은 단지 알고리즘적인 표현입니다. 복잡성 이론 이의 제기.


훌륭한 요약. 그러나 BQP 경도는 처음 두 지점과 동일한 경고가 있습니다.
Mitch

14

오늘날 우리가 알고있는 공개 키 암호화는 단방향 트랩 도어 순열을 기반으로 하며 트랩 도어는 필수적입니다.

프로토콜을 공개적으로 보호하려면 누구나 사용할 수있는 키와이 키를 사용하여 메시지를 암호화하는 방법이 필요합니다. 분명히 암호화 된 후에는 암호와 공개 키만 알고있는 원본 메시지를 복구하기 어려워 야합니다. 암호는 일부 추가 정보, 즉 개인 키로 만 해독 할 수 있어야합니다.

이를 염두에두고 단방향 트랩 도어 순열을 기반으로 기본 암호화 시스템을 쉽게 구축 할 수 있습니다.

  1. 앨리스는 대중에게 단방향 순열을 제공하고 함정을 자신에게 유지합니다.
  2. Bob은 입력을 순열에 넣고 출력을 Alice로 전송합니다.
  3. Alice는 trapdoor를 사용하여 Bob의 출력으로 순열을 반전시킵니다.

나는나는


RSA, 그렇습니다. 트랩 도어 기능입니다. dlog가 TDF인지 확실하지 않습니다 (단방향)
111

NP- 중간 문제가 NP-hard라면 NP-complete, 모순입니다.
미리 아

0

실제 경험을 바탕으로 휴리스틱 논증을 제공하기 위해.

거의 모든 NP-complete 문제의 거의 모든 인스턴스는 쉽게 해결할 수 있습니다. 이것이 사실이 아닌 문제가 있지만, 찾기가 어렵고, 그런 수업을 들으면 긍정적이라고 말하기가 어렵습니다.

사람들이 제약 프로그래밍, SAT 또는 Traveling Salesman과 같은 유명한 NP 완료 클래스에 대해 무작위 문제 생성기를 작성하려고 할 때 실제로 여러 번 나타납니다. 나중에 누군가 무작위 생성기가 사소하게 생성하는 거의 모든 인스턴스를 해결하는 방법을 찾습니다. 물론, 이것이 암호화 시스템의 경우라면 우리는 심각한 어려움에 처하게 될 것입니다!


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.