본문 바로가기
study/security

[Crypto] 암호학

by 림나 2026. 4. 13.

01. 암호학 (Cryptography)

암호학은 데이터의 기밀성, 무결성, 인증을 보호하기 위한 이론과 기술의 총칭.
핵심은 제 3자가 메시지를 가로채더라도 내용을 알 수 없도록 만드는 것!!

 

 

▶ 암호 시스템(Cryptosystem)의 구성 요소

🔤 평문 (Plaintext)
암호화 되지 않은 원본 데이터
→ 보호해야 할 실제 정보이며, 누구나 읽을 수 있는 형태
🔒 암호문 (Ciphertext)
평문을 암호화하여 만든 데이터
→ 제3자가 읽어도 내용을 알 수 없는 형태로 변환됨
⚙️ 암호화 알고리즘
평문을 암호문으로 변환하는 알고리즘. 
→ 송신자가 수행하며, 암호화 키를 사용
🔓 복호화 알고리즘
암호문을 평문으로 복원하는 알고리즘
→ 수신자가 수행하며, 복호화 키를 사용

 

키(Key)는 암복호화 과정에서 사용되는 핵심 값
but, 암호화 키와 복호화 키는 암호 시스템의 종류에 따라 같을 수도(대칭키), 다를 수도(공개키) 있음

 

 

▶ 암호 시스템 관련 관계자

  • 송신자/수신자 : 정당한 통신 당사자. 사전에 합의된 암호화 방식과 키를 공유
  • 도청자 : 통신에 직접 관여하지 않고 네트워크 상의 정보를 관찰하는 소극적 공격자. (ex: 패킷 스니핑)
  • 악의적 공격자 : 데이터 위/변조, 재전송 등 적극적으로 개입하는 공격자. (단순 도청을 넘어 통신 자체를 방해하거나 조작)
  • 신뢰할 수 있는 중재자 : 송신자와 무관한 중립적 제3자. 키 분배, 인증서 발급 등의 역할을 담당 (ex : CA, KDC)

 

▶ 암호 시스템 안전성

절대 안전성 (Unconditionally Secure)
- 암호문이 아무리 많아도 평문을 추론하기에 충분한 정보를 제공하지 않는 수준
- 이론적으로 완전한 안전성이지만 현실적으로 구현이 어려움
- ex : OTP(일회용 패드)
계산상 안전성 (Computationally Secure)
- 현재 컴퓨팅 기술로는 해독에 수천~수억 년이 걸려 사실상 안전한 수준
- AES, RSA 등 현대 암호 시스템이 목표로 하는 안전성

 

 

▶ 암호 공격

COA : 암호문 단독 공격 (Ciphertext Only Attack)

- 공격자가 암호문만 가진 상황
- 통계적 분석, 문자 빈도 분석 등을 이용해 평문이나 키 추측
가장 제약이 많지만 현실에서 흔한 상황
KPA : 알려진 평문 공격 (Known Plaintext Attack)

공격자가 일부 (평문, 암호문) 쌍을 가진 상황
이 쌍을 이용해 키나 암호화 알고리즘의 패턴을 분석
COA보다 강력한 공격
CPA : 선택 평문 공격 (Chosen Plaintext Attack)

공격자가 원하는 평문을 자유롭게 암호화하여 결과를 얻을 수 있는 상황
암호화 오라클에 접근 가능한 경우 해당

CCA : 선택 암호문 공격 (Chosen Ciphertext Attack)

공격자가 원하는 암호문을 자유롭게 복호화하여 결과를 얻을 수 있는 상황
공개키 암호 시스템에서 특히 위협적
- 현대 암호 시스템은 CCA에 대한 안전성을 목표로 설계됨

 

 

▶ 암호 해독 기술 (암호 시스템 공격 기술)

  • 전수/무차별 공격 : 가능한 모든 키 조합을 시도하는 방법
    → 키 길이가 길수록 경우의 수가 기하급수적으로 증가하여 현실적으로 불가능해짐
  • 수학적 공격 : 암호화 알고리즘의 수학적 구조와 약점을 분석하여 키를 파악하는 방법
    → 대수적 공격, 격자 기반 공격 등이 포함됨
  • 통계적 분석 공격 : 암호문의 문자/비트 빈도, 패턴 분포 등 암호문에 대한 통계적 데이터를 이용해 해독하는 방법
    → 고전 암호(시저 암호 등)에 효과적
  • 차분 암호 분석 공격: 입력 간의 '차분(difference)'과 그에 따른 출력 차분을 분석하여 키를 추론
    → 블록 암호의 S-박스 분석에 활용됨
  • 선형 암호 분석 공격 : 암호화 알고리즘을 선형 방정식으로 근사화하여 키 비트를 추론
    → 차분 분석과 함께 블록 암호 해독의 양대 기법

 

02. 대칭키 암호 기술

▶ 고전 vs 현대 암호 기술

대치 암호 (Substitution Cipher)
- 비트, 문자, 또는 블록을 다른 값으로 대체하는 방식
 빈도 분석에 취약
시저 암호(알파벳을 n칸 밀기)가 대표적
전치 암호 (Transposition Cipher)
평문의 문자를 재배열하여 암호문을 생성
문자 자체는 바뀌지 않고 위치만 변경
레일 펜스 암호가 대표적

 

 

▶ 현대 암호의 핵심 구성 요소

S-박스 (Substitution-Box)
  • 입력된 비트열을 다양한 연산을 통해 전혀 다른 비트열로 변환하는 함수
  • 암호화의 혼돈(Confusion)을 담당함
  • 암호문과 키 사이의 관계를 복잡하게 만들어 키 추론을 어렵게 함
  • S-박스 내부에서는 5가지 연산이 조합되어 사용됨
치환(Substitution)
- 입력 비트열을 작은 조각으로 분할한 뒤, 사전에 정의된 치환 테이블을 참조하여 다른 값으로 교체하는 연산
ex : 0011 → 1101
XOR 연산
두 비트열 간의 배타적 논리합(Exclusive OR)을 계산하는 연산
같은 비트는 0, 다른 비트는 1을 반환함
ex : 1010 ⊕ 1100 = 0110
시프트 (Shift)
비트열을 좌측 또는 우측으로 일정 칸만큼 이동시키는 연산
논리 시프트 : 빈 자리를 0으로 채움
순환 시프트(rotate) : 밀려난 비트를 반대쪽으로 순환
ex : 10110010 ← 2칸 이동 → 11001000
교환 (Swap)
두 변수 또는 두 비트열의 값을 서로 맞바꾸는 연산
Feistel 구조에서 매 라운드 끝에 좌(L)·우(R) 블록을 교환하는 것
단순하지만 구조적 복잡성을 높이는 데 기여
ex : A=1010, B=0101 → A=0101, B=1010
분할 (Split) / 결합 (Combine)
-  분할 = 하나의 비트열을 두 개 이상의 작은 비트열로 나누는 연산
-  결합 = 반대로 여러 작은 비트열을 하나의 큰 비트열로 합치는 연산
S-박스 내부 처리의 시작과 끝
Feistel 구조에서 평문을 L/R로 나누는 것이 분할의 대표적 예
분할과 결합은 항상 쌍으로 이루어짐
ex : 분할: 11001010 → [1100] + [1010] | 결합: [1100] + [1010] → 11001010

 

P-박스 (Permutation-Box)
  • 입력된 비트열의 위치를 재비치하여 출력하는 전치(Transposition) 함수
  • 암호화의 확산(Diffusion)을 담당
  • S-박스가 값을 바꾼다면, P-박스는 위치를 바꿈
  • 평문의 통계적 패턴이 암호문 전체로 고르게 퍼지도록 만들어 빈도 분석 등의 통계적 공격을 어렵게 함
단순 P-박스
-  입력과 출력의 비트 수가 동일 (입력 4비트 → 출력 4비트)
-  비트의 위치(순서)만 재배열하며, 정보의 손실이나 추가 없이 순수하게 위치만 바꿈
-  가장 기본적인 형태
축소 P-박스
-  출력 비트 수가 입력보다 작음 (입력 8비트 → 출력 6비트)
-  일부 비트를 선택/제거하여 더 짧은 비트열로 변환
-  DES의 PC-1, PC-2 키 스케줄에서 56비트 키를 생성할 때 활용됨
확장 P-박스
-  출력 비트 수가 입력보다 큼 (입력 32비트 → 출력 48비트)
-  일부 비트를 복제하여 더 긴 비트열로 확장
-  DES의 E-함수(32비트 →  48비트 확장)가 대표적
-  서브키와의 XOR 연산 폭을 맞출 때 사용

 

혼돈(Confusion)
암호문과 키 사이의 관계를 최대한 복잡하고 불규칙하게 만듦
→ 비선형 치환을 통해 입력과 출력 사이의 수학적 관계를 숨겨, 키 비트를 추론하기 어렵게 만드는 것이 목표

확산 (Diffusion)
평문의 통계적 성질을 암호문 전반에 퍼뜨림
→ 평문의 1비트가 바뀌면 암호문의 절반 이상이 바뀌는 눈사태 효과를 만들어 통계적 분석 공격을 방어

 

 

▶ 합성 암호 구조

Feistel 암호 구조
- 평문을 L/R 두 블록으로 나누어 라운드 함수를 반복 적용
- 암호화와 복호화가 거의 동일한 구조로 이루어짐
-  ex : DES
SPN (Substitution-Permutation Network) 구조
- S-박스와 P-박스를 라운드마다 연속 적용
- Feistel보다 구조가 유연하지만, 역변환 함수에 제약이 있음
- ex : AES
라운드(Round)
-  암호화 알고리즘에서 S-박스, P-박스, 키 혼합 등의 연산을 묶어 반복하는 단위

-  라운드가 많을 수록 안전성이 높아지지만, 암복호화 속도는 느려짐

 

 

03. 대칭키 암호 시스템

대칭키 암호 시스템은 암호화와 복호화에 동일한 키를 사용하는 방식
키를 사전에 안전하게 공유해야 한다는 전제가 필요하지만, 공개키 암호 방식보다 훨씬 빠른 연산 속도를 제공함

 

 

▶ 블록 암호 vs 스트림 암호

구분 블록 암호(Block Cipher) 스트림 암호(Stream Cipher)
처리 단위 고정 크기의 블록 (예 : 128비트) 비트/바이트 단위
암호화 방식 블록 단위로 라운드 연산 반복 (동일한 키) 평문과 키 스트림을 XOR 연산
속도 상대적으로 느림 빠름 (하드웨어 구현 시 특히 유리)
에러 전파 블록 내 에러가 전파될 수 있음 해당 비트만 손상 (에러 전파 없음)
확산 높음 낮음
대표 알고리즘 AES, DES, 3DES, IDEA RC4, Salsa20, ChaCha20
주요 활용 파일 암호화, 디스크 암호화, VPN 무선 통신(Wifi/TLS), 실시간 스트리밍

 

 

▶ 블록 암호화 운영 모드

블록 암호 자체는 고정 크기 블록 하나를 암호화하는 원시 연산임
실제 메시지(여러 블록)를 암호화하려면 각 블록을 어떤 방식으로 연결할지 정의한 운영 모드(Mode of Operation) 필요

 

모드 핵심 원리 암호화 병렬 복호화 병렬 에러 전파 패딩 필요 초기 벡터
(IV)
특이사항/취약점
ECB 각 블록을 독립적으로
암호화
O O 해당 블록만 O X 같은 평문 블록 → 같은 암호문 블록. 패턴이 노출되어 보안에 매우 취약.
실사용 비권장
CBC 이전 암호문 블록과
XOR 후 암호화
X O 2개 블록에 영향 O O 가장 널리 사용된 기본 모드.
IV가 예측 가능하면 재전송 공격에 취약 (BEAST 공격)
CFB 이전 암호문을 암호화한 값과 평문을 XOR X O 2개 블록에 영향 X O 스트림 암호처럼 동작.
블록 크기보다 작은 단위로도 암호화 가능. (재전송 공격 가능)
OFB 키 스트림을 미리
생성하여 평문과 XOR
X X 해당 비트만 X O 암/복호화 구조 동일.
키 스트림을 사전 생성 가능.
동기식 스트림 암호와 유사
CTR 카운터 값 암호화 후
평문과 XOR
O O 해당 비트만 X Nonce 사용 병렬 처리에 가장 유리.
임의 접근(random access) 가능.
Nonce 재사용 시 보안 완전 붕괴

 

 

▶ 각 운영 모드 상세 정리

ECB (Electronic Codebook)

- 가장 단순한 모드
각 블록이 독립적으로 같은 키로 암호화되므로 병렬 처리가 가능하지만, 같은 평문 블록은 항상 같은 암호문 블록을 생성함
실무에서는 거의 사용하지 않음
CBC (Cipher Block Chaining)

현재 가장 많이 사용된 모드
각 블록 암호화 전에 이전 블록의 암호문과 XOR 연산을 수행하므로, 같은 평문이라도 이전 블록에 따라 다른 암호문이 생성됨
첫 번째 블록은 초기 벡터(IV)를 사용
암호화는 순차적으로만 가능하지만, 복호화는 병렬로 처리할 수 있음
암호문 블록 하나가 손상되면 해당 블록과 다음 블록의 평문, 총 2개 블록이 영향을 받음
CFB (Cipher Feedback)

이전 암호문 블록을 블록 암호의 입력으로 사용하고, 그 출력값을 현재 평문과 XOR
스트림 암호와 유사하게 동작하며, 패딩 불필요
암호화는 순차적이지만 복호화는 병렬화 가능
에러가 발생하면 해당 블록과 다음 블록 두 개에 영향을 미침
OFB (Output Feedback)

블록 암호의 출력값 자체를 피드백하여 키 스트림을 생성하고, 이를 평문과 XOR
키 스트림이 평문과 독립적으로 생성되므로, 암호화 전에 미리 키 스트림을 계산해 둘 수 있음
암/복호화 구조가 동일하며, 에러가 발생해도 해당 비트만 영향을 받음
단, 암/복호화 모두 병렬 처리 불가능
CTR (Counter Mode)

Nonce + 카운터 값을 블록 암호로 암호화하여 키 스트림을 생성하고, 이를 평문과 XOR
각 블록이 독립적인 카운터 값을 가지므로 암/복호화 모두 완전한 병렬 처리가 가능
임의 위치(random access)의 블록을 바로 복호화할 수 있음
현대 암호화(예: AES-CTR)에서 널리 쓰이지만, Nonce를 절대로 재사용해선 안 됨
   → 재사용 시 두 암호문을 XOR하면 평문 정보가 누출됨

 

4. 블록 암호 기반 대칭키 암호 방식

▶ 페이스텔(Feistel) 기반의 대칭키 암호 방식

페이스텔 구조란?
평문 블록을 반으로 나누어 한쪽에 라운드 함수를 적용한 결과를 다른 쪽과 XOR 연산한느 방식을 반복하는 구조
→ 암호화와 복호화가 동일한 구조(키 순서만 역전)로 수행됨

 

DES (Data Encryption Standard)

 

① 개념

  • 평문을 64비트로 나눈 후 56비트의 키를 이용하여 64비트의 암호문을 생성하는 알고리즘
  • 1977년 미국 국립 표준 기술 연구소(NIST)에서 표준으로 채택
  • 키 길이가 56비트로 키 공간이 2⁵⁶으로 매우 작음 → 무차별 공격(Brute Force Attack)에 취약
  • 선형 암호 분석 공격(Linear Cryptanalysis Attack)에도 취약하여 현재 국내에서 권고하지 않는 알고리즘

 

② 암호화 절차

순서 절차 설명
1 초기 치환
(IP, Initial Permutation)
- 입력 블록인 평문이 주어지면, 64비트 블록을 초기 순열에 적용하여 치환
- 비트 위치를 규칙에 따라 재배열하는 단계
- 보안에 직접적인 기여는 없으나 하드웨어 구현을 용이하게 해줌
2 페이스텔 구조 라운드
(16회 반복)
페이스텔 구조를 사용하여 암호화
64비트를 32비트씩 L(왼쪽), R(오른쪽)으로 나누고 아래 공식으로 16 라운드 진행

라운드 함수 공식
Li+1 = Ri    (오른쪽 데이터를 가공 없이 다음 라운드 왼쪽으로 이동)
Ri+1 = Li ⊕ F(Ri, Ki)    (왼쪽과 F함수 결과를 XOR)

F 함수(라운드 함수)는 R(32비트)을 48비트로 확장하고,
라운드 키 K
i(48비트)와 XOR 후 S-Box와 P-Box를 거쳐 32비트 출력

키 생성기: 56비트 원본 키에서 각 라운드별 48비트 라운드 키(K₁~K₁₆)를 생성
3 역 초기 치환 (IP⁻¹,
Inverse Initial Permutation)
초기 치환(Initial Permutation)의 역순으로 데이터를 재배열하여 최종 암호문 생성

 

③ 복호화 절차

순서 절차 설명
1 초기 치환 (IP) - 입력 블록인 암호문이 주어지면, 64비트 블록을 초기 순열에 적용하여 치환
2 페이스텔 구조 라운드
(16회 반복, 키 역순)
암호와와 동일한 구조이나 라운드 키를 역순( K₁₆ → K₁ )으로 적용
Ri= Li+1
Li= Ri+1⊕ F(Li+1, Ki)
3 역 초기 치환 (IP⁻¹) 역초기 치환의 역순으로 데이터를 재배열하여 원래 평문 생성

 

3DES (Triple Data Encryption Standard)

 

① 개념

  • DES가 더이상 안전하지 않다는 것이 증명되어 DES를 보완하기 위해 고안된 알고리즘
  • DES를 3번 반복 적용하여 보안 강도를 높임
  • 키 길이 증가 : 키 2개 → 112비트(56 × 2), 키 3개 → 168비트(56 × 3)
  • 라운드 수 증가 : 총 48라운드 (16 ×3)
  • 단점 : 3번의 DES 과정을 거치므로 약 3배 느림

 

② 3DES의 암호화 방식 (3가지)

1개의 키를 사용하는 방식 

C = E(D(E(P, K₁), K₁), K₁)

- K₁ 하나로 암호화 → 복호화 → 암호화
- 상대방이 단일 DES만 제공하는 경우 호환성 유지를 위해 사용하는 방식
- (K₁=K₂=K₃이면 사실상 단순 DES와 동일)
2개의 키를 사용하는 방식

C = E(D(E(P, K₁), K₂), K₁)

- K₁로 암호화 → K₂로 복호화 → K₁로 암호화
- 유효 키 길이: 112비트
- 2개의 서로 다른 키 사용
3개의 키를 사용하는 방식

C = E(D(E(P, K₁), K₂), K₃)

- K₁로 암호화 → K₂로 복호화 → K₃로 암호화
- 유효 키 길이: 168비트
- 가장 강력한 보안 강도

 

Blowfish
  • 가변적인 키 길이를 가지고, 구현이 간단한 1993년에 개발한 대칭키 암호 알고리즘
  • Bruce Schneier가 설계, 특허가 없어 자유롭게 사용 가능
  • 빠른 암호화 속도가 장점이나 키 설정 시간이 느린 것이 단점

 

RC5/RC6 (Rivest Cipher)

 

① 개념

  • RC6은 RC5에서 개선된 블록 암호 알고리즘으로, 우수한 성능과 보안 요구를 충족하기 위해 개발됨
  • AES 공모전 최종 후보 알고리즘 중 하나

 

② RC5 vs RC6

항목 RC5 RC6
블록 크기 32, 64, 128비트 128비트
키 크기 최대 2040 바이트 128, 192, 256비트 (최대 2040 비트)
라운드 최대 255회 20회

 

SEED
  • 1999년 2월 KISA와 국내 암호전문가들이 순수 국내 기술로 개발한 128 비트 블록 암호 알고리즘
  • 전자상거래, 금융, 무선통신등에서 전송되는 개인정보와 같은 중요한 정보 보호 목적

 

HIGHT
  • KISA, ETRI 부설 연구소, 고려대가 공동으로 개발한 64비트 블록 암호 알고리즘
  • RFID, USN 등과 같이 저전력/경량화를 요구하는 컴퓨팅 환경에서 기밀성 제공

 

LEA(Lightweight Encryption Algorithm)
  • 국가보안기술연구소가 개발한 128비트 블록 암호 알고리즘
  • 빅데이터, 클라우드 등 고속 환경 및 모바일 기기 등 경량 환경에서 기밀성 제공
  • 다양한 소프트웨어 환경에서 AES 대비 1.5~2배 빠름

 

▶ SPN 구조 기반의 대칭키 암호 방식

SPN(Substitution-Permutation Network) 구조란?
- 치환(Substitution)과 순열(Permutation)을 반복적으로 적용하는 구조
- 라운드마다 S-Box(치환)와 P-Box(순열)를 사용
- Feistel 구조와 달리 라운드마다 전체 블록을 변환하며, 암호화와 복호화가 서로 다른 과정(역연산 필요)을 사용

 

AES (Advanced Encryption Standard)

 

① 개념

  • DES의 안전성 문제가 제기됨에 따라 2000년 새로운 미국 표준 블록 암호롸 채택된 128 비트 블록 암호
  • 벨기에 암호학자 Daemen과 Rijmen이 개발한 Rijndael 알고리즘이 채택됨
  • 키 길이에 따라 AES-128, AES-192, AES-256 세 가지 버전 존재
  • 현재 전 세계적으로 가장 널리 사용되는 대칭키 암호 알고리즘

 

② AES 알고리즘 절차

순서 절차 설명
1 0 라운드 - 평문을 키 스케줄에 의해 생성된 라운드 키와 XOR연산 수행
- 암호화 시작 전 초기 화이트닝(Whitenig) 역할 수행
2 라운드 반복
(1 ~ N-1 라운드)
라운드마다 SubBytes → ShiftRows → MixColumns → AddRoundKey 4가지 연산을 반복

SubBytes (바이트 치환 변환)
- 상태 행렬의 각 바이트를 S-박스(S-Box)에서 대응되는 바이트로 치환
- 비선형 변환으로 혼돈(Confusion)을 제공

ShiftRows (행 이동)
- 상태 행렬의 행을 이동하는 연산
- 각 행은 그 행의 인덱스만큼 왼쪽으로 순환 이동
- 0행: 이동 없음, 1행: 1칸, 2행: 2칸, 3행: 3칸 이동


MixColumns (열 혼합)
- 상태 행렬의 각 열을 선형 변환하는 연산
- 각 열은 특정 고정 행렬과의 행렬 곱셈을 수행
- 확산(Diffusion) 효과 제공


AddRoundKey (라운드 키 더하기)
- 상태 행렬과 라운드 키에 대해 XOR 수행
- XOR 연산의 특성상 동일한 키로 다시 XOR하면 원래의 값을 복원할 수 있음
- 별도의 역변환이 필요하지 않음
3 N 라운드
(마지막 라운드)
MixColumns를 제외하고 SubBytes, ShiftRows, AddRoundKey만 수행
- 생략 이유: 복호화 시 역연산을 단순화하기 위함

 

ARIA (Academy, Research Insitute, Agency)

 

① 개념

  • 경량 환경 및 하드웨어 구현을 위해 최적화된 Involutional SPN 구조를 갖는 블록 암호 알고리즘
  • 우리나라의 국가보안기술연구소(NSRI)에서 개발한 범용 블록 암호 알고리즘
  • 표준 번호 : KSTS KS X 1231-1
Involutional SPN 구조
연산을 두 번 적용하면 원래의 입력 값으로 돌아오는 성질을 가진 블록 암호화 구조 (SPN 구조의 변형)

 

② 비트별 라운드 수

ARIA-128
블록 크기 : 128 비트
키 크기 : 128 비트
라운드 : 12회
ARIA-192
블록 크기 : 128 비트
키 크기 : 192 비트
라운드 : 14회
ARIA-256
블록 크기 : 128 비트
키 크기 : 256 비트
라운드 : 16회

 

IDEA (International Data Encryption Algorithm)

 

① 개념

  • 국제 데이터 암호화 알고리즘으로, DES를 대체하기 위해 스위스 연방 기술 기관(ETH Zurich)에서 개발한 암호 알고리즘
  • 덧셈, 곱셈, XOR의 세 가지 연산을 혼합하여 사용하는 것이 특징
  • PGP(Pretty Good Privacy) 암호화 소프트웨어에서 사용

 

▶ 국내 표준 블록 암호 알고리즘

🌱 SEED

개발 KISA+국내 암호전문가, 1999년 2월
블록 128비트
키 크기 128비트
라운드 16회
표준 TTAS.KO-12.0004/R1, TTAS.KO-12.0025 (운영 모드)
특징 순수 국내 기술로 개발한 128비트 블록 암호 알고리즘 전자상거래, 금융, 무선통신 등 전송되는 개인정보 보호 목적
⚡HIGHT (HIgh security and light weigHT)

개발 KISA, ETRI, 고려대학교 공동 개발
블록 64비트
키 크기 128비트
라운드 32회
표준 TTAS.KO-12.0040/R1
특징 RFID, USN 등 저전력·경량화를 요구하는 컴퓨팅 환경에서 기밀성 제공을 위한 64비트 경량 블록 암호
🚀 LEA (Lightweight Encryption Algorithm)

개발 국가보안기술연구소(NSRI)
블록 128비트
키 크기 128 / 192 / 256비트
라운드 24 / 28 / 32회
표준 TTAK.KO-12.0223 (LEA), TTAK.KO-12.0246 (운영 모드)
특징 빅데이터, 클라우드 등 고속 환경 및 모바일기기 경량 환경에서 기밀성 제공. AES 대비 1.5~2배 빠름. 다양한 소프트웨어 환경에 최적화
🏛️ ARIA

개발 국가보안기술연구소(NSRI), 학계, 정부기관 공동
블록 128비트
키 크기 128 / 192 / 256비트
라운드 12 / 14 / 16회
표준 KATS KS X 1213-1
특징 Involutional SPN 구조. 경량 환경 및 하드웨어 구현 최적화. 국내 범용 블록 암호 표준
d

 

 

▶ 전체 블록 암호 알고리즘 비교표

알고리즘 구조 블록 크기 키 크기 라운드 특징 / 비고
DES Feistel 64 비트 56 비트 16회 현재 취약, 국내 권고 안 함. 무차별·선형 암호 분석 취약
3DES Feistel 64 비트 112 / 168 비트 48회 (16 x 3) DES 3회 반복, 느림. 3가지 키 방식(1키/2키/3키)
Blowfish Feistel 64 비트 32~448 비트 16회 가변 키 길이, 간단한 구현, 특허 없음
RC5 Feistel 변형 32/64/128 비트 최대 2040 비트 최대 255회 가변 블록/키/라운드
RC6 Feistel 변형 128 비트 128 / 192 / 256 비트 20회 RC5 개선, AES 최종 후보
AES SPN 128 비트 128 / 192 / 256 비트 10 / 12 / 14회 현재 미국 표준, 가장 널리 사용. Rijndael 알고리즘
IDEA SPN 변형 64 비트 128 비트 8회 스위스 ETH 개발. DES 대체 목적. PGP에 사용
SEED Feistel 128 비트 128 비트 16회 국내 표준. 전자상거래·금융·통신 분야. TTAS.KO-12.0004/R1
HIGHT Feistel 변형 64 비트 128 비트 32회 국내 표준. RFID/USN 경량 환경. KISA+ETRI+고려대. TTAS.KO-12.0040/R1
LEA ARX 128 비트 128 / 192 / 256 비트 24 / 28 / 32회 국내 표준. 빅데이터·모바일. AES보다 1.5~2배 빠름. TTAK.KO-12.0223
ARIA Involutional SPN 128 비트 128 / 192 / 256 비트 12 / 14 / 16회 국내 표준. 국가보안기술연구소. KATS KS X 1213-1

 

'study > security' 카테고리의 다른 글

[Windows 보안] 로컬 인증 시스템  (2) 2026.04.16