DES (Data Encryption Standard)와 AES (Advanced Encryption Standard)는 모두 대칭 블록 암호입니다. AES는 DES의 단점을 극복하기 위해 도입되었습니다. DES는이 키를 극복하기에 덜 안전한 키 크기가 더 작기 때문에이 트리플 DES가 도입되었지만 느려지는 것으로 나타났습니다. 따라서 나중에 표준 기술 연구소 (National Institute of Standard and Technology)에서 AES를 도입했습니다. DES와 AES의 기본적인 차이점은 DES 일반 텍스트 블록은 메인 알고리즘이 시작되기 전에 두 개의 절반으로 나뉘어집니다. 반면 AES 에서는 전체 블록이 처리되어 암호문을 얻습니다.
아래의 비교 차트를 사용하여 DES와 AES의 차이점을 좀 더 논의 해 보겠습니다.
비교 차트
비교의 근거 | DES (데이터 암호화 표준) | AES (고급 암호화 표준) |
---|---|---|
기본 | DES에서 데이터 블록은 두 개의 절반으로 나뉩니다. | AES에서 전체 데이터 블록은 단일 행렬로 처리됩니다. |
원리 | DES는 Feistel Cipher 구조체에서 작동합니다. | AES는 대체 및 치환 원리에 대해 연구합니다. |
일반 텍스트 | 평문은 64 비트입니다. | 일반 텍스트는 128, 192 또는 256 비트 일 수 있습니다. |
키 크기 | DES는 AES와 비교하여 키 크기가 작습니다. | AES는 DES에 비해 키 크기가 큽니다. |
라운드 | 16 라운드 | 128 비트 알 고를위한 10 라운드 192 비트 알 고를위한 12 라운드 256 비트 알 고를위한 14 라운드 |
반올림 이름 | 확장 순열, Xor, S-box, P-box, Xor 및 Swap. | Subbytes, Shiftrows, 믹스 열, Addroundkeys. |
보안 | DES에는 덜 안전한 키가 있습니다. | AES는 비교적 큰 비밀 키를 가지고 있기 때문에보다 안전합니다. |
속도 | DES는 비교적 느립니다. | AES가 빠릅니다. |
DES (데이터 암호화 표준)의 정의
데이터 암호화 표준 (DES)은 1977 년 에 국립 표준 기술 연구소 에서 채택한 대칭 키 블록 암호 입니다. DES는 평문을 두 개의 절반으로 나누는 Feistel 구조를 기반으로합니다. DES는 64 비트 일반 텍스트와 56 비트 키로 입력을 받아 64 비트 암호문을 생성합니다.
아래 그림에서 DES를 사용하는 일반 텍스트의 암호화를 볼 수 있습니다. 처음에는 64 비트 plaintext가 64 비트 치환 입력을 얻기 위해 비트를 재정렬하는 초기 순열을 거칩니다. 이제이 64 비트 치환 입력은 32 비트 왼쪽 부분과 32 비트 오른쪽 부분의 두 가지 절반으로 나뉩니다. 이 부분은 모두 16 개의 라운드를 거치며 각 라운드는 동일한 기능을 수행합니다. 16 라운드 완료 후, 최종 순열이 수행되고, 64 비트 암호문이 얻어진다.
- 확장 퍼뮤 테이션 : 여기에서 32 비트 오른쪽 부분이 확장되어 48 비트 오른쪽 부분을 형성합니다.
- Xor : 48 비트 오른쪽 부분은 Xor이고 48 비트 하위 키는 56 비트 키에서 가져와 48 비트 결과를 얻습니다.
- S-box : Xor 단계에서 얻은 48 비트 출력이 다시 32 비트로 감소합니다.
- P-box : S-box에서 얻은 32 비트 결과가 다시 치환되어 32 비트 치환 출력이됩니다.
AES (Advanced Encryption Standard)의 정의
AES (Advanced Encryption Standard)는 대칭 키 블록 암호 이기도합니다. AES는 2001 년 국립 표준 기술 연구소 에서 출간되었습니다. AES는 DES가 매우 작은 암호 키를 사용하고 알고리즘이 상당히 느리기 때문에 DES를 대체하기 위해 도입되었습니다.
- 서브 바이트 : S-box를 사용하여 전체 블록 (행렬)을 바이트 단위로 대체합니다.
- 행 이동 : 행렬의 행이 이동합니다.
- 혼합 열 : 행렬의 열은 오른쪽에서 왼쪽으로 섞습니다.
- 라운드 키 추가 : 여기 에서는 현재 블록의 Xor와 확장 키가 수행됩니다.
마지막 10 번째 라운드에는 서브 바이트, 시프트 행 및 라운드 키 추가 단계 만 포함되며 16 바이트 (128 비트) 암호문이 제공됩니다.
DES와 AES의 주요 차이점
- DES와 AES의 기본적인 차이점은 추가 처리 전에 DES의 블록을 두 개의 절반으로 나누는 반면 AES 전체 블록에서는 암호문을 얻는 것입니다.
- DES 알고리즘은 Feistel Cipher 원칙에 따라 작동하며 AES 알고리즘은 대체 및 순열 원칙에 따라 작동합니다.
- DES의 키 사이즈는 256 비트의 비밀 키를 가진 AES보다 비교적 작은 56 비트입니다.
- DES의 라운드에는 확장 순열, Xor, S-box, P-box, Xor 및 Swap이 포함됩니다. 반면 AES의 라운드에는 Subbytes, Shiftrows, Mix 열, Addroundkeys가 포함됩니다.
- DES는 키 크기가 작기 때문에 AES보다 안전하지 않습니다.
- AES는 DES보다 비교적 빠릅니다.
결론:
DES는 구형 알고리즘이며 AES는 DES보다 빠르고 안전성이 높은 고급 알고리즘입니다.