3

알고리즘이 공개 키를 사용하여 일반 텍스트를 암호화하고 동일한 키를 사용하여이를 해독 할 수없는 방법을 이해하지 못합니다. 누군가가 수학적 용어를 정의하면서 가능한 가장 간단한 형태로이 과정을 설명 할 수 있습니까?비대칭 키 암호화 알고리즘은 단방향 암호 해독 및 암호화 기능을 어떻게 유지합니까?

+0

[RSA] (http://en.wikipedia.org/wiki/RSA) 위키피디아 기사에는 필요한 정보가 있습니다 – momo

+0

본능은 훌륭합니다. 실제로 놀랍습니다. 정말로 이해하고 싶다면 자신을 위해 몇 가지 예를 들어 봐야 할 것입니다. –

+0

암호화에 대한 자매 사이트의 [비대칭 암호화는 어떻게 작동합니까?] (http://crypto.stackexchange.com/questions/292/how-does-asymmetric-encryption-work)를 참조하십시오. –

답변

4

이렇게 생각하십시오. 일부 수학 연산은 역변환 가능합니다. 예를 들어 "0이 아닌 실수로 곱셈"연산을 생각해보십시오. 유효하지 않은 숫자 s을 수정하고 작업 f(x)x -> x * s으로 정의하십시오. 그러면이 연산은 역변환이됩니다. 실제로, t = 1/s을 취하면 g(x) = x * t에 의해 정의 된 작업 g(x)g(f(x)) = x이라는 속성을 가지므로 f은 반전 가능합니다. x을 메시지로 사용하고 공개 키는 s, 암호화 알고리즘은 f, 개인 키는 t, 해독 알고리즘은 g입니다. 물론 이것은 끔찍한 알고리즘이지만 비대칭 암호화에 대한 모든 것입니다 : 매개 변수화 된 역행렬 수학 연산을 찾으십시오. 매개 변수는 공개 키를 제공하고 "역 매개 변수"는 개인 키를 제공합니다.

물론 암호화를 사용하면 역함수를 찾는 것이 더 어려워지기를 바랍니다. 사실, 비대칭 키 알고리즘 중 가장 잘 알려진 the mathematics of RSA은 매우 정교합니다.certain mathematical problem은 매우 어렵다고 생각합니다.

2

공개 키 암호화 here에 대한 설명이 있습니다. 간단하게 설명하기가 매우 복잡하고 불가능하기 때문에 수학에 대한 자세한 내용은 다루지 않습니다. 또한이 관련 질문에 대한 답변을 살펴 할 수 있습니다 :

4

을 비대칭 키의 중심부에서 계산하기 어려운 일부 수학 정체성은 항상있다. 고전적인 예는 RSA 알고리즘입니다. 그 수학적 기초는 b, m, n과 같은 숫자가 (b^m)^n = b (모듈러 산술)입니다. 즉, b이 내 메시지이고 mn이 비대칭 키의 두 부분 인 경우 하나의 키는 다른 키가 암호화 한 것을 해독 할 수 있습니다. 즉, b^m 및 또한 b^n암호문으로 사용되며, 다른 암호로 올리면 해독 할 수 있습니다. 이들이 안전한 암호 인 이유는 b^m (m*n을 알고 있더라도 b)을 얻는 것이 계산적으로 실행 불가능하다는 것입니다.이 값은 공개되어야 할 필요가 있습니다. 따라서 (m, mn)(n, mn) 쌍이 비대칭 키 쌍을 구성합니다.

개인 비밀을 알고하지만 여전히 두 당사자 사이에 또 ​​다른 비밀을 공유하지 않는 또 다른 예로서

, 디피 - 헬만에게 키 교환을 고려 : 여기에 앨리스와 밥은 각각 비밀 번호 xy을 유지 아무도 다른 알고. 그런 다음 앨리스는 Bob c^x에게 알리고 Bob은 앨리스에게 c^y에게 일부 공용 값 c을 알립니다. 이제 양측은 c^xy 값을 계산할 수 있지만 어느 쪽도 상대방의 암호를 알지 못하며 어떤 도청자도 c^xy 값을 알지 못합니다. 수학적 기초는 이더라도 c^x에서 x을 얻는 것이 계산 상으로 불가능하다는 것입니다.

관련 문제