> 일반적인 문제 > 세계에서 가장 주류를 이루는 암호화 알고리즘

세계에서 가장 주류를 이루는 암호화 알고리즘

(*-*)浩
풀어 주다: 2019-09-02 15:05:14
원래의
12334명이 탐색했습니다.

경이로운 획기적인 알고리즘, 컴퓨팅 능력으로만 해독할 수 있는 암호화 알고리즘

세계에서 가장 주류를 이루는 암호화 알고리즘

RSA 알고리즘역사의 무대를 벗어납니다. (추천 학습: 웹 프론트엔드 비디오 튜토리얼)

2000년, 두 명의 미국 컴퓨터 과학자인 Whitfield Diffie와 Martin Hellman이 키를 직접 전달하지 않고도 암호 해독이 완료될 수 있음을 처음으로 시연했습니다. 이를 "Diffie-Hellman 키 교환 알고리즘"이라고 합니다.

DH 알고리즘의 출현은 획기적인 의미를 갖습니다. 이 순간부터 규칙 간에 특정 대응이 있는 한 암호화 및 암호 해독에 서로 다른 규칙을 사용할 수 있다는 점을 사람들에게 알려줍니다.

이 새로운 모드는 "비대칭 암호화 알고리즘"이라고도 합니다.

(1) 당사자 B는 공개 키와 개인 키라는 두 개의 키를 생성합니다. 공개키는 공개되어 누구나 얻을 수 있지만, 개인키는 비밀로 유지됩니다.

(2) 당사자 A는 당사자 B의 공개 키를 획득하고 이를 사용하여 정보를 암호화합니다.

(3) B측은 암호화된 정보를 획득하고 개인키로 복호화합니다.

공개키로 암호화된 정보는 개인키로만 복호화가 가능하므로, 개인키가 유출되지 않는 한 통신은 안전합니다.

DH 알고리즘이 발명된 지 불과 1년 후인 1977년, Ron Rivest, Adi Shamir 및 Leonard Adleman이 MIT에 있었습니다. 대학에서 RSA 알고리즘은 세 사람의 성의 첫 글자로 구성되었습니다. 함께 철자됩니다.

새로 탄생한 RSA 알고리즘은 DH 알고리즘이 키 분배에만 사용되는 반면, RSA 알고리즘은 정보 암호화 및 디지털 서명에 사용할 수 있기 때문에 DH 알고리즘보다 강력합니다. 또한 RSA 알고리즘의 키가 길어질수록 크래킹 난이도는 기하급수적으로 증가합니다.

강력한 성능 때문에 컴퓨터 네트워크가 있는 곳에는 RSA 알고리즘이 있다고 해도 과언이 아닙니다.

RSA 알고리즘은 이렇게 작동합니다

RSA 알고리즘은 전 세계적으로 유명한데 어떻게 작동하나요?

첫 번째 단계는 서로 다른 두 소수 p와 q를 무작위로 선택하는 것입니다.

두 번째 단계는 p와 q의 곱 n을 계산하는 것입니다. n의 길이는 키 길이로 일반적으로 이진수로 표시되며 일반적인 길이는 2048비트입니다. 자릿수가 길수록 해독하기가 더 어려워집니다.

세 번째 단계는 n의 오일러 함수 ψ(n)을 계산하는 것입니다.

네 번째 단계는 정수 e를 무작위로 선택하는 것입니다. 여기서 1< e < ψ(n)이고 e와 ψ(n)은 상대적으로 소수입니다.

다섯 번째 단계는 Φ(n)에 대해 e의 모듈러 역원 요소 d를 계산하는 것입니다. 소위 "모듈형 역원소"는 ed를 ψ(n)으로 나눈 나머지를 1과 동일하게 만들 수 있는 정수 d가 있음을 의미합니다.

6번째 단계는 n과 e를 공개 키(n,e)로, n과 d를 개인 키(n,d)로 캡슐화하는 것입니다.

사용자 A가 암호화된 정보 m을 사용자 B에게 보내고 싶어하고 공개 키(n,e)를 사용하여 m을 암호화하려고 한다고 가정합니다. 암호화 프로세스는 실제로 다음과 같은 공식입니다.

사용자 B가 정보 c를 받은 후 개인 키(n, d)를 사용하여 이를 해독합니다. 복호화 과정도 다음과 같은 공식입니다.

이런 식으로 사용자 B는 사용자 A가 보낸 메시지가 m이라는 것을 알 수 있습니다.

사용자 B가 d 번호를 비밀로 유지하고 공개하지 않는 한, 다른 사람은 전송된 정보 c를 기반으로 암호화된 정보 m을 얻을 수 없습니다.

RSA 알고리즘은 (n, e)를 공개키로 사용하는데, n과 e를 알면 d를 추론할 수 있나요?

(1)ed=1(mod Φ(n)). e와 Φ(n)을 아는 것만으로 d를 계산할 수 있습니다.

(2)Φ(n)=(p-1)(q-1). p와 q를 알아야만 Φ(n)을 계산할 수 있습니다.

(3)n=pq. n을 인수분해해야만 p와 q를 계산할 수 있습니다.

그래서 n을 아주 간단하게 분해할 수 있다면 d를 계산하기 쉽다는 뜻이고, 이는 정보가 깨졌다는 뜻입니다.

하지만 현재 큰 정수의 인수분해는 매우 어려운 일입니다. 현재 무차별 대입 크래킹 외에 다른 효과적인 방법은 발견되지 않았습니다. 즉, 키 길이가 충분히 길면 RSA로 암호화된 정보를 실제로 해독할 수 없습니다.

RSA 알고리즘은 점차 인간의 모든 측면에 적용되고 있습니다

RSA 알고리즘의 신뢰성으로 인해 이 기술은 이제 많은 곳에 적용되고 있습니다.

가장 중요한 응용 프로그램은 인터넷상의 정보 전송을 보호하는 것입니다. RSA 알고리즘을 사용하면 전송 과정에서 가로채더라도 해독이 어려워 정보 전송의 보안이 보장됩니다. 개인 키를 가진 사람만이 정보를 해석할 수 있습니다.

은행 거래용 U-Shield는 사용자 신원을 증명하는 유일한 증거입니다. USB 쉴드를 처음 사용하는 경우 RSA 알고리즘을 사용하여 개인 키를 생성하고 이를 USB 쉴드에 저장합니다. 향후 사용 시, 후속 거래 작업을 수행하고 사용자의 이익을 보호하기 위해 개인 키를 사용하여 거래 정보를 해독해야 합니다.

요즘 가짜 제품이 많아 기업에서는 위조 방지 조치를 취해야 합니다. 현재 가장 일반적인 것은 QR 코드 위조 방지 기능으로 소비자가 간단한 스캔 작업을 통해 제품을 확인할 수 있도록 합니다. 그러나 QR 코드가 일반 텍스트로 표시되면 범죄자가 쉽게 악용할 수 있습니다. 현재 일부 사람들은 소비자의 이익을 보호하기 위해 RSA 알고리즘을 사용하여 QR 코드의 일반 텍스트를 암호화하고 있습니다.

위 내용은 세계에서 가장 주류를 이루는 암호화 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿