대칭 암호화

대칭 암호화

단일 키로 암호화·복호화 — 대칭키/관용/비밀키 암호화

개요

암호 기법 분류

기준 종류
연산 유형 대체(Substitution), 전치(Permutation)
키 수 대칭 (송수신자 동일키), 비대칭 (각기 다른키)
처리 방식 블록 암호 (블록 단위), 스트림 암호 (연속 처리)

DES / 3DES / AES 비교

DES 3DES AES
평문 블록 크기 64bit 64bit 128bit
암호문 블록 크기 64bit 64bit 128bit
키 크기 56bit 112 or 168bit 128/192/256bit

DES (Data Encryption Standard)


3DES (Triple DES)


AES (Advanced Encryption Standard)

AES 라운드 구조

입력 128bit → 8bit×16 행렬(State)
→ [AddRoundKey]
→ 10회 반복:
    1. SubstituteBytes  (S-Box 치환)
    2. ShiftRows        (행 순환 이동)
    3. MixColumns       (열 혼합, 마지막 라운드 제외)
    4. AddRoundKey      (라운드 키와 XOR)
→ 암호문 출력
단계 역할
SubstituteBytes S-Box로 각 바이트 비선형 치환
ShiftRows 각 행을 좌측으로 순환 이동 (0,1,2,3바이트)
MixColumns 열의 4바이트를 유한체 연산으로 혼합
AddRoundKey 확장된 라운드 키와 State XOR

블록 암호 vs 스트림 암호

구분 블록 암호 스트림 암호
처리 단위 블록 (64/128bit) 연속적 (1바이트씩)
키 재사용 가능 매번 키스트림 생성
속도 상대적 느림 빠름
대표 DES, AES RC4

무차별 대입 공격 (Brute-force)

계산상 안전한 암호화 조건

암호 푸는 비용 > 정보의 가치
암호 푸는 시간 > 정보 이용 주기

관련 개념