DES(Data Encryption Standard)
Feistel 구조의 블록 대칭키 암호화 방식 중 하나
*Feistel: 대칭 블록 암호 알고리즘, 라운드 함수를 활용
L₁ = R₀
R₁ = L₀ ⊕ F(R₀, K₀)
64bit 평문 → 64bit 암호문
key 길이는 56bit + 8bit(parity bit(오류 검출용))
16 round
암호화 키는 Round-key generator에 의해 각 라운드마다 48비트의 16개의 서브키가 생성되며 이 서브키가 각 라운드 키로 사용
2개의 전치(P-box), 16개의 Feistel Round 함수로 구성
초기 전치(initial permutation)
최종 전치(final permutation)
AES
DES는 키 길이가 56bit라서 전수조사에 매우 취약함. 따라서 이중 DES, 삼중 DES가 등장
레인달이 개발한 AES 알고리즘이 DES를 대체함 → 안전성, 비용, 구현 효율성
블록 대칭키 암호화 방식
128 bit 평문 → 128 bit 암호화
비페이스텔 알고리즘, SPN(Substitution-Permutation Network) 구조
고정된 라운드 수, 키 길이를 가졌던 DES와 다르게 AES는 10/12/14 라운드 수와 이에 대응되는 128/192/256 bit 키 길이를 가짐(AES-128, AES-192, AES-256)
핵심은 128비트를 4X4 바이트 배열(State)로 처리한다는 점