패딩 평문에 데이터를 붙여서 평문의 크기가 블록 크기의 배수가 되도록 만드는 과정. 비트 패딩 : 마지막 블록에서 평문이 채우지 못하는 비트 중 최상위 비트를 1로 설정하고, 나머지는 모두 0으로 채우는 패딩 기법입니다. 바이트 패딩 : 바이트 단위로 패딩을 수행하는 패딩 기법. 바이트 패딩(PKCS#7) : PKCS는 공개키 암호의 표준 문서로서, 그 중 7번쨰 문서인 PKCS#7은 AES와 같은 블록 암호의 패딩 기법을 제시하고 있다. 이 PKCS#7에 소개된 패딩 기법은 PKCS#7으로 마지막 블록에 4바이트를 패딩한 것이다. [ 운영모드 ] > ECB 모드 가장 간단한 운영모드로, 블록들은 모두 같은 키로 암호화 된다. ECB 모드에서는 각 블록이 독립적으로 암호화되므로 여러 블록을 병렬적으로 암..
DES 구조 8바이트(64비트)를 한 블록으로 하는 블록 암호 전체 구조는 초기 순열, 최종 순열, 페이스텔 구조의 16라운드, 각 라운드에 사용되는 48비트의 키를 생성하는 키 생성 함수로 구성됨 DES에 입력되는 키의 길이는 64비트인데, 패리티 비트를 제거하면 실제로 사용되는 키의 길이는 56비트다. 백도어 : 컴퓨터 보안에서는 시스템을 쉽게 장악할 수 있도록 만들어진 비밀 통로를 백도어라고 한다. DES 원리 DES는 혼돈 성질을 만족하기 위해 치환을, 확산 성질을 만족하기 위해 순열을 사용한다. 곱 암호 : 치환이나 순열 같은 단순한 연산들로 한 라운드로 구성하고, 각 라운드를 여러 번 반복하여 암호학적 안전성을 확보하는 암호다. 페이스텔 암호 특징 : 페이스텔 구조를 사용하면 역함수가 존재하지..
SPN 곱 암호의 일종으로, S-Box를 사용하는 치환과 P-Box를 사용하는 순열을 여러 라운드에 걸쳐 반복한다. 페이스텔 구조와 달리 라운드마다 입력 전체에 라운드 함수를 적용하므로, 같은 수의 라운드를 사용할 때 SPN이 페이스텔 구조에 비해 두 배의 암호학적 안전성을 갖는다고 한다. AES 구조 AES는 DES가 취약해진 뒤, NIST가 새로 공모한 블록 암호의 표준 알고리즘으로 SubBytes, ShiftRows, MixColumns, AddAroundKey로 암호화 및 복호화가 이루어짐. AES는 라운드마다 128비트 크기의 블록을 암호화하는 블록 암호다. 키의 길이는 128, 192, 256 비트 중 하나 선택 가능. 라운드 수는 키의 길이에 따라 10, 12, 14로 결정. AES는 암호화..