P박스 (문자의 자리를 변경하는 전치암호, 확산)
- 단순 : 입력 = 출력, 역함수 O
- 축소 : 입력 > 출력, 역함수 X (비트수를 줄이기 위함)
- 확장 : 입력 < 출력, 역함수 X (비트수를 늘이기 위함)
(복습 : 대칭키DES, 비대칭키RSA, 디피헬만)
★★★
확산Diffusion
- 암호문과 평문 사이 관계를 숨기는 것
- 통계 테스트에 대한 대응, 평문을 찾지 못하게 함
혼돈Confusion
- 암호문과 키의 관계를 숨기는 것
- 키를 찾지 못하게 함
- 키의 단일 비트가 변하면 암호문의 거의 모든 비트가 변함
( 클로드 섀넌Claude Shannon
- 정보이론의 창시자
- OTP의 절대적 안전성 증명 )
★★★★★
페이스텔Feistel과 SPN구조
Feistel | 분할, 반복 | 역함수 존재, 비존재요소 | 암호화=복호화 | 3라운드 이상 짝수 | DES, SEED, LOKI |
SPN | 전치+치환 (중첩) | 역함수 존재 | 암호화≠복호화 | 병렬처리 | AES, ARIA, SAFER |
- Feistel의 강도를 결정짓는 요소 : 평문 블록의 길이, 키의 길이, 라운드의 수
- SPN은 S-box의 출력을 P-box로 전치하는 과정을 반복
- SPN 종류는 S로 시작하는 것들이 다수
( IDEA : 페이스텔의 변형, SPN과 Feistel의 중간에 걸쳐 있다 )
스트림 암호
- 동기식 : 키는 평문, 암호문 독립적 ex OTP, FSR, LFSR, NLFSR, CTE, RC4, OFB 모드
- 비동기식(자기동기식) : 키는 평문, 암호문 종속적 ex CFB 모드
★★★
DES의 일반적 구조
목적 : 데이터 암호화
S박스가 안정성에 중요 요소
16회전 (S-박스와 P-박스가 각각 16회전)
키길이: 56bit (유효키) 전체는 64bit인데 패리티비트에 해당하는 8비트를 drop시킴
크랙의 사유 : 키 사이즈가 작은 단점
강도를 결정하는 것 : 48bit의 라운드 키 16개, 64bit의 평문 블럭, 키 사이즈 56bit
F함수
64bit의 평문 블럭을 두 개로 나누어 32bit 단위로 다룬다.
32bit는 확장 P-박스에서 48bit로 확장된 후 XOR 연산
=> S-박스(강도 결정, 비선형)에서 축소된 32bit 산출
=> 단순 P-박스를 통해 출력
( DES -> 3DES -> AES )
( 강도를 결정짓는 요인
대칭키 : 라운드수, 키 크기, 평문 블럭 크기
비대칭키 : 수학적 원리
해시함수 : MD메시지 다이제스트 )
★★★★★
대중적인 대칭키 암호 알고리즘의 비교
DES | 3DES | AES | |
평문 블록 크기 | 64 | 64 | 128 |
암호문 블록 크기 | 64 | 64 | 128 |
키 크기 | 56 | 112 또는 168 | 128, 192 또는 256 |
라운드수 | 16 | 48 | 10, 12 또는 14 |
- 3DES의 키가 2개일 때는 키 크기 112, 3개일때는 키 크기 168
- 3DES 까지는 페이스텔 구조, AES부터는 SPN 구조
( SEED : 평문 128, 키 크기 128, 라운드수 16 )
DES와 3DES
DES | 2DES | 3DES | |
키길이 | n | 2n | 3n |
키탐색횟수 | 2의 n제곱 | 2의 n+1제곱 | 2의 2n제곱 |
- 3DES 키의 개수 : 2개 (DES-EDE2), 3개 (DES-EDE3)
- EDE = 암호화→복호화→암호화
- 중간일치공격 때문에 2DES의 효율이 낮고 3DES 사용
( 중간일치공격 : 평문 P, P에 대한 암호문 C를 알고 있을 때 수행 가능한 공격 )
★★★
AES 암호의 구조도
- 10라운드일 때 키 128bit, 12라운드일 때 키 192bit, 14라운드일 때 키 256bit
- 평문/암호문 블록 크기 128bit
- 라운드 키 길이 48bit
- F함수와 유사한 4가지 Function
1) SubBytes
2) ShiftRow
3) MixClumns (확산 기능, 마지막 라운드에선 생략된다)
4) Key Expansion (키 확장)
★★★★★
블록 알고리즘 종류와 특징
국가 | 블록 크기 | 키 크기 | 라운드수 | 비고 | |
DES | 미국 | 64 | 키 | 16 | |
IDEA | 유럽 | 64 | 128 | 8 | PGP채택, DES보다 빠름 |
Rijndael 라인달 | 벨기에 | 128 | 128, 192, 256 | 10, 12, 14 | AES 알고리즘 선정 |
SEED 시드 | 한국 | 128 | 128, 256 | 16, 24 |
그 외 CRYPTON, RC5, FEAL, MISTY, SKIPJACK
(RC4는 스트림 암호)
대칭키 ( DES, AES, SEED, HIGHT, IDEA, RC4, RC5, ARIA, LEA, FEAL, MISTY, SKIPJACK, CRYPTON, RijNDael ...
블록 알고리즘은 대칭키 알고리즘에 속해 있다. )
암호학 강의는 이해가 굉장히 어려운 것 같다.
몇 번이나 돌려봐야 했다.
'(필기) 정보보안기사&산업기사' 카테고리의 다른 글
시스템보안2 ~ 4, 네트워크 보안 (0) | 2024.04.29 |
---|---|
접근통제3, 시스템 보안1 (0) | 2024.04.26 |
암호학5, 접근통제1~2 (0) | 2024.04.25 |
암호학3~4 (0) | 2024.04.24 |
정보보호개요1, 암호학1 (0) | 2024.04.22 |