중국시가넷 - 개인 서명 - 일반적으로 사용되는 암호화 알고리즘은 무엇입니까?

일반적으로 사용되는 암호화 알고리즘은 무엇입니까?

대칭 키 암호화

대칭 키 암호화 대칭 키 알고리즘은 대칭 암호화, 개인 키 암호화, 공유 키 암호화라고도 합니다. 이 유형의 알고리즘은 암호화 및 암호 해독에 사용됩니다. 대칭 암호화는 일반적으로 동일한 키를 사용하거나 서로 쉽게 추론할 수 있는 두 개의 키를 사용하여 매우 빠릅니다.

블록 암호

"블록 암호화" 또는 "블록 암호화"라고도 알려진 블록 암호는 특정 알고리즘과 대칭 키 쌍을 사용하여 일반 텍스트를 동일한 길이의 여러 모듈로 나눕니다. 별도로 암호화 및 복호화됩니다. 즉, 블록 암호의 한 가지 장점은 각 그룹이 상대적으로 독립적일 수 있기 때문에 동시 암호화를 달성할 수 있다는 것입니다.

이에 대응하는 것이 스트림 암호입니다. 일반 텍스트 문자열을 암호화하기 위해 키 스트림 생성기에 의해 키 스트림이 생성됩니다. 블록 암호와의 차이점은 암호화된 출력의 결과가 단일 일반 텍스트뿐만 아니라 일반 텍스트 그룹과도 관련된다는 점입니다.

DES, 3DES

데이터 암호화 표준 DES 데이터 암호화 표준은 미국 국가안보국(NSA)의 승인을 받아 IBM이 개발한 56비트 키를 사용하는 블록 암호화 알고리즘입니다. 1977년 NBS(National Bureau of Standards)에서 미국 상업용 암호화 표준으로 발표했습니다. 그러나 DES의 고정된 키 길이로 인해 점차 더 이상 개방형 네트워크의 보안 요구 사항을 충족하지 못합니다. 1998년에 상용 암호화 표준에서 제거되고 보다 안전한 AES 표준으로 대체되었습니다.

DES가 사용하는 Feistel 네트워크는 대칭형 암호화 구조를 가지고 있어 정보를 암호화하고 복호화하는 과정이 매우 유사하거나 수렴되어 해당 인코딩 양과 회선 전송 요구 사항이 절반으로 줄어듭니다.

DES는 메시지를 64비트로 나누어서 16개의 16진수를 그룹으로 암호화한 후 수학적으로 동일한 크기의 암호 블록을 반환하는 알고리즘입니다. 즉, 64 비트 0 또는 1의 가능한 조합은 2^64개입니다. DES 키의 길이도 64비트이지만 암호화 알고리즘에서는 8비트마다 해당 비트가 패리티 검사에 사용되고 알고리즘에 의해 폐기되므로 DES의 키 강도는 실제로 56비트입니다.

3DES Triple DES는 서로 다른 키를 사용하여 DES 암호화를 3번 반복합니다. 암호화 강도는 높지만 그에 따라 속도는 줄어듭니다.

AES

고급 암호화 표준 AES 고급 암호화 표준은 빠른 속도와 높은 보안 수준을 갖춘 차세대 데이터 암호화 표준입니다. Rijndael은 2000년 미국 국립표준기술연구소(NIST)에서 차세대 데이터 암호화 표준으로 선정되었습니다.

AES의 블록 길이는 128비트로 고정되어 있으며, 키 길이는 128비트, 192비트 또는 256비트일 수 있습니다. AES 알고리즘은 일반 텍스트 블록과 키 블록을 입력으로 사용하고 인터리브된 대체 "대체" 및 대체 "순열" 작업의 여러 라운드를 통해 암호문 블록을 생성하는 대체 순열 네트워크를 기반으로 합니다.

AES 암호화 프로세스는 4*4바이트 행렬(또는 본문 상태)에서 작동하며, 암호화 시 한 요소의 크기는 일반 텍스트 블록에서 1바이트입니다. , 기본적으로 암호화 주기의 각 라운드에는 다음 네 단계가 포함됩니다. 병합(AddRoundKey): 매트릭스의 각 바이트는 라운드 키와 XOR됩니다. 여기서 라운드 키는 Rijndael을 통해 마스터 키에 의해 결정됩니다. 키 생성 방식이 생성됩니다. 키 크기는 원래 행렬과 동일합니다. 대체(SubBytes): 매트릭스의 각 바이트는 8비트 조회 테이블에 해당하는 특정 바이트로 대체됩니다. 여기서 8비트 룩업 테이블은 S-box(Substitution-box)로 키와 암호문의 관계를 모호하게 하고 입력과 출력의 비선형 특성을 구현하는 데 사용됩니다.

행 혼동(ShiftRows): 행렬의 각 행의 각 바이트가 주기적으로 왼쪽으로 이동하며, 행 개수에 따라 변위가 증가합니다. 열 혼동(MixColumns): 각 열의 4바이트를 선형 변환, 즉 고정된 다항식과의 곱셈을 통해 서로 결합합니다.

보안

AES에 대해 알려진 유일한 성공적인 공격은 부채널 공격입니다. 2005년에는 OpenSSL AES 암호화가 로드된 클라이언트 서버를 크랙하는 데 캐시 타이밍 공격 방법이 사용되었습니다. 시스템.

블록 암호화 시스템을 표적으로 삼는 가장 일반적인 방법은 암호화 주기가 적은 버전을 공격한 후 알고리즘을 개선하고 계속해서 고급 버전을 공격하는 것입니다. 현재 이러한 크래킹 방법은 그렇지 않습니다. 매우 실용적입니다.

또한, AES의 데이터 구조는 질서정연한 대수적 구조를 갖고 있기 때문에 관련 대수적 공격에 대한 우려가 있으며, 현재 이를 기반으로 한 효과적인 공격 방법은 아직까지 등장하지 않았다.

비대칭 키 암호화

비대칭 키 암호화는 공개 키 암호화라고도 합니다. 공개 키 암호화: 공개 키와 개인 키로 나누어진 두 개의 키가 필요하며, 하나는 암호화에 사용됩니다. 다른 하나는 암호 해독에만 사용할 수 있으며 암호화된 키는 암호 해독에 사용할 수 없습니다.

이 기능에 따르면 암호화 및 복호화 적용 외에도 디지털 서명 기능도 보장할 수 있습니다. 사용자는 개인 키를 사용하여 일반 텍스트를 암호화하고 누구나 사용자의 정보를 사용할 수 있습니다. 암호문을 해독하기 위한 공개 키.

대칭 키는 고유 키를 교환하기 위해 보안 채널이 필요한 반면, 비대칭 키는 암호화된 공개 키를 공개적으로 해제할 수 있습니다. 그러나 공개 키 암호화는 계산이 복잡하고 대칭 암호화보다 성능이 훨씬 낮습니다. 따라서 공개 키 암호화는 일반적으로 대칭 키를 교환하는 데 사용되며 대칭 키는 특정 정보를 전송하는 데 사용됩니다.

RSA

RSA는 1977년 MIT에서 Ron Rivest, Adi Shamir 및 Leonard Adleman이 제안하고 1987년에 발표되었습니다. 현재 가장 일반적으로 사용되는 공개 키 암호화 알고리즘입니다. .

RSA 알고리즘의 핵심은 매우 큰 정수의 인수분해이다. 이론적 근거는 두 개의 큰 소수의 곱을 계산하는 것은 쉽지만 두 소수의 곱을 계산하는 것은 매우 어렵다는 것이다. 매우 큰 정수를 인수분해한 큰 소수입니다.

ECC

ECC는 Elliptic Curve Cryptography의 약자로 타원 곡선 수학을 기반으로 공개 키 암호화를 설정하는 알고리즘입니다. ECC의 가장 큰 장점은 비슷한 수준의 보안을 제공하면서도 키 길이가 더 짧다는 것입니다.

ECC의 원리는 유한체 위 타원곡선의 점군에 있는 이산대수 문제 ECDLP를 기반으로 하며, ECDLP는 지수적으로 어려운 인수분해 문제보다 어려운 문제이다. ECDLP는 다음과 같이 정의됩니다. 소수 p와 타원 곡선 E가 주어지면 Q = kP에 대해 P와 Q를 알 때 p보다 작은 양의 정수 k를 찾습니다. k와 P로부터 Q를 계산하는 것은 더 쉽지만, Q와 P로부터 k를 계산하는 것은 더 어렵다는 것을 알 수 있습니다.

디지털 서명

공개 키 디지털 서명이라고도 하는 디지털 서명은 디지털 메시지나 문서의 신뢰성을 보장하는 데 사용되는 수학적 체계입니다. 유효한 디지털 서명은 수신자에게 메시지의 신뢰할 수 있는 소스를 신뢰할 수 있는 충분한 이유를 제공해야 하며, 발신자는 서명을 거부할 수 없으며, 메시지는 전송 중에 변경되어서는 안 됩니다.

전자 서명의 원리는 공개 키 암호화 기술을 사용하는 것입니다. 서명자는 개인 키로 메시지를 암호화한 후 공개 키를 공개합니다. 메시지. 일반적으로 메시지의 해시 값이 서명 개체로 사용됩니다.