BigInteger.js를 사용하는 자바 스크립트의 작업 예제입니다. 이 코드는 프로덕션 환경에서 사용할 수 없습니다. [21] 이 예제에서는 개념이 실제로 약간 다르지만 공개 키 암호화뒤에 있는 아이디어를 보여 줍니다. 공개 키 암호화에서. Alice는 Bob의 개인 키로만 디코딩할 수 있는 Bob의 공개 키를 사용하여 메시지를 암호화합니다. 이것은 RSA에 대한 두 개의 블로그 게시물 시리즈의 1 부입니다 (2L1 부는 RSA가 작동하는 이유를 설명합니다). 이 게시물에서는 RSA 공개 키 암호화가 어떻게 작동하는지 정확히 설명할 것입니다. 20 세기의 암호화L2에서 3 개의 정액 이벤트 중 하나인 RSA는 다양한 암호화 프로토콜 (디지털 서명, 암호화 투표 등)의 호스트에 세계를 열어줍니다. 이 주제에 대한 모든 토론 (이 주제 포함)은 매우 수학적이지만 차이점은 구체적인 예제로 각 개념을 설명하기 위해 내 방식에서 벗어나야한다는 것입니다. 만 수학 지식의 초보자 수준을 가지고 독자는 예제와 함께이 게시물을 읽은 후 RSA가 작동하는 방법을 정확하게 이해할 수 있어야합니다. 위의 경우 가장 큰 공통 제수 1인 경우에만 역이 존재한다고 말합니다. 예를 들어 물건을 똑바로 설정해야합니다 …

암호 해독의 역 프로세스는 숫자를 다른 숫자로 올리고 나머지 조절자를 다시 복용하여 달성됩니다 : 암호 해독 프로세스는 그러나 다른 기준으로 작동합니다. 나는 오류를 만들거나 D에 제공하는 값에 문제가 있습니까. 나는 n과 e가 이전 예제 “실제 예”에서와 동일하지만 (이 두 번째 예에서 헥사에서)하지만 d는 다르다는 것을 언급한다. 따라서 동일한 q및 p. 이 예제는 매우 안전하지 않은 암호화 방법이므로 실제로 사용해서는 안된다고 가정합니다. 우리는 쉽게 계수를 고려하여 암호를 깰 수 있습니다. RSA 암호화에 정말 유용한 튜토리얼 – 환호! 메신저 는 ed = 1 % 피에서 d를 계산하는 것에 대해 조금 혼란스러워합니다. 예제 phi = 20 및 e = 3그래서 나는 1 %20 = 1, 따라서 3d = 1, 따라서 d = 1 /3 을 생각했을 것이다. 나는 이것이 작동하지 않기 때문에 메신저 가 틀렸다는 것을 알고 있지만, 나는 그것을 이해할 수없는 것 같다. 나는 다른 수식 d =(e^-1)%phi를 시도하면 d =(3^-1)%20 = (1/3)%20 = 0??? 메신저 조금 붙어! RSA의 VB6/VBA 코드와 비주얼 베이직의 디피 헬만(Diffie-Hellman)의 예가 있습니다.

수신기는 암호 해독 키 인덱스를 소유한 유일한 사람입니다. 그 또는 그녀는 지금 간단한 시저 대체 코드를 해독 할 수있는 사람들을 위해 인생을 약간 덜 쉽게 하기 위해, 이번에는 컴퓨팅하여 메시지를 해독, 우리는 세 블록으로 문자를 그룹화하고 각 블록에 대한 메시지 대표 정수를 계산합니다. 이 방법은 어떤 식으로든 안전하지 않습니다. 그것은 단지 작은 숫자와 RSA의 메커니즘의 또 다른 예를 보여줍니다. N, e 및 d를 생성 한 후 d및 e의 사용을 교환 할 수 있습니까? 암호화에 (n, d)를 사용하고 암호 해독에 사용할 수 있습니까? 디지털 서명 할 때 이 작업이 수행된다는 것을 알고 있지만 알고리즘의 보안을 약화하지 않고 일반 암호화 / 암호 해독에 사용할 수 있습니까? 암호화 인덱스는 다음과 같은 공동 프라임이어야 하므로 작은 소수 값을 선택합니다. 이제 까다로운 비트를 온다 : 암호 해독 인덱스는 modulo의 곱셈 역해야합니다 : 이것은 당신이 포켓 계산기에서 운동 할 수있는 숫자를 사용하여 매우 간단한 예입니다 (35 45 55의 나이에 당신의 사람들은 아마 손으로 그것을 할 수 있습니다). 그러나 암호 해독 지수 $d $의 비트는 그렇게 편리하지 않으므로 모듈 식 지수의 표준 방법을 사용하여 암호 해독이 암호화보다 오래 걸릴 수 있습니다.

Scroll Up