대칭키 암호
1) 확산과 혼돈
확산(Diffusion) -> 암호문/평문
- 암호문과 평문 사이의 관계를 숨기는 것
- 암호문에 대한 통계 테스트를 통하여 평문을 찾고자 하는 공격자를 좌절시킴
혼돈(Confusion) -> 암호문/키
- 암호문과 키의 관계를 숨기는 것
- 암호문을 이용하여 키를 찾고자 하는 공격자를 좌절시킴
- 키의 단일 비트가 변하면 암호문의 거의 모든 비트가 변함
2) 페이스텔(Feistel)과 SPN 구조 -> 블록 암호 ★5
Feistel (개미와 베짱이 임무 교대)
- 입력을 좌우 블록으로 분할하여 한 블록을 라운드 함수에 적용시킨 후의 출력 값을 다른 블록에 적용하는 과정을 좌우블록에 대해 반복적으로 시행(교대)
- 강도를 결정짓는 요소는 평문 블록의 길이, 키의 길이(무차별공격), 라운드의 수 ★ (DES : 블록64, 키56, 라운드16)
- 복호화 과정 = 암호화 과정
- 3라운드 이상이며, 짝수 라운드로 구성 -> 공정하게
DES, LOKI, CAST, Blowfish, MISTY, RC5, RC6, CAST256, E2, Twofish, Mars
국산 : DES -> SEED
SPN (개미만 있음) -> 효율↑
- Substitution Cipher와 Permutation Cipher 를 중첩하는 형태로 개발한 암호
- S-box의 출력을 P-box로 전치하는 과정을 반복하는 방식
- 병렬성 제공
SAFER, SHARK, Square, CRYPTON, Rijndael(AES의 최종 후보), SAFER+, Serpent, PRESENT
국산 : AES -> ARIA
3) 현대 스트림 암호 (XOR연산)
- 동기식
키는 평문 or 암호문 독립적
One time pad, FSR(Feedback Shift Register), LFSR, NLFSR, OFB모드
- 비동기식
키는 평문 or 암호문 종속적
CFB모드
4) DES의 일반적 구조
DES는 1907년대 발표된 이후 가장 널리 사용되었던 대칭키 블록암호
DES를 세번 반복하는 3DES, DES를 대체한 최신 블록암호 표준 AES
확장 P박스 -> 키XOR -> 8개의 S박스 -> 단순 P박스
5) AES 암호의 구조도
라운드 | 키 사이즈 |
10 | 128 |
12 | 192 |
14 | 256 |
6) AES의 각 라운드 연산 순서(SPN)★5
SubBytes() 치환
-> ShiftRows() 행 이동
-> MixColums() 확산, 마지막 라운드에서는 실행X
-> AddRoundKey()
7) DES, 3DES, AES 비교
DES | 3DES | AES | |
평문 블록 크기 | 64 | 64 | 128 |
암호문 블록 크기 | 64 | 64 | 128 |
키 크기 | 56 | 112, 168 | 128, 192, 256 |
라운드 크기 | 16 | 48(16*3) | 128, 192, 256 |
8)대칭키 블록 알고리즘 종류와 특징 ★5
개발 국가 | 개발 년도 | 특징 | 블록 크기 | 키의 길이 | 라운드 수 | |
DES | 미국 | 1972 | NIST에서 표준으로 공표 | 64 | 56 | 16 |
IDEA | 유럽 | 1990 | PGP채택(이메일 보안) | 64 | 128 | 8 |
Rijndael(레인달) | 벨기에 | 1998 | AES 표준 알고리즘 선정 | 128 | 129.192.256 | 10.12.14 |
SEED | 한국 | 1999 | 한국 표준 블록암호 알고리즘 | 128 | 128.256 | 16.24 |
CRYPTON | 한국 | 1998 | AES 후보 중 하나 | 128 | 128.192.256 | 12 |
RC5 | 미국 | 1994 | 알고리즘 간단, 속도 빠름 | 32.64.128 | 0~2040 | 1~255 |
FEAL | 일본 | 1987 | S/W 구현에 적합 | 64.128 | 64 | 4.8.32 |
MISTY | 일본 | 1996 | 차분/선형공격에 안정성 증명구조 | 64 | 128 | 8 |
SKIPJACK | 미국 | 1990 | Fortezza카드에 사용 | 64 | 80 | 32 |
국산 대칭키 블록 -> SEED, ARIA, HIGHT, LEA
9) 블록 암호 모드 구조
ECB (Electronic CodeBook)
CBC (Cipher Block Chaining)
CFB (Cipher-FeedBack)
OFB (Output-FeedBack)
CTR (CounTeR)
10) 블록 암호 모드
ECB | CBC | CFB | OFB | CTR | |
모양 | 패턴 동일 | XOR 연산 추가 | XOR 후 다음블록 | XOR 전 다음블록 | 순차 출력 |
병렬처리 | 가능(암,복) | 가능(복) | 가능(복) | 불가 | 가능(암,복) |
초기화 벡터 필요 | X | O | O | O | O(카운터 값) |
패딩 | O(암호훔치기 가능) | O | X | X | X |
암복호화 알고리즘 | 암호화, 복호화 | 암호화, 복호화 | 암호화 단일 | 암호화 단일 | 암호화 단일 |
PB -> CB 사이 | E | XOR, E | XOR | XOR | XOR |
Type Of Result | Block | Block | Stream | Stream | Stream |
'License' 카테고리의 다른 글
[정보보안기사 필기 요약] 해시함수 (0) | 2025.05.20 |
---|---|
[정보보안기사 필기 요약] 비대칭키 암호 (0) | 2025.05.19 |
[정보보안기사 필기 요약] 암호학의 개요 (0) | 2025.05.15 |
[정보보안기사 필기 요약] 정보보호의 개요 (0) | 2025.05.15 |
[정보보안기사필기] 운영체제 구조 (0) | 2025.05.07 |