DES (Data Encryption Standard)
암호화 키(Encryption key) = 복호화 키(Decryption key)
대칭키 암호 시스템
혼합(confusion), 확산(Diffusion)을 이용 원문과 암호문간에 통계적 연관이 없다.
64비트 블록 암호 알고리즘
• 입력 메시지를 64비트씩 나누어 처리
56비트 키를 사용
• 64비트 중 8비트는 parity check로 사용 (** parity bit : 에러 검출하기 위한 bit)
기본 구조
• round 수 : 16 round
• 복호화는 암호화의 역순
▶ 진리표
- 치환 : 문자를 다른 문자로 바꾸는 것
- 전치 : 문자 위치 바꾸는 것
위 라운드를 16번 반복한 것이 아래와 같다.
▶ 초기 전치
역전치는 전치를 반대로 하는 것이다.
▶ 확장 순열
▶ 치환 선택
▶ S-box
▶ 순열(P)
▶ KEY
64비트의 키를 이용
• 64비트를 56비트로 축약하여 서브키를 생성
• 8번째 비트마다 패리트비트를 포함하여 64비트를 키로 이용
• 패리트비트를 제거하여 56비트로 이용
암호화 과정에 맞추어 16라운드를 실행
• 각 라운드마다 서브키를 생성
오버플로우 - 좌측 이동 : 1010 > 0100 > 1000 > 0000 > 0000
와퍼라운드 - 좌측 이동 : 1010 > 0101 > 1010 > 0101 > 1010 (뒤로 붙임)
이것을 16번 반복해 키를 16개 생성
▶ PC-1
▶ PC-2 (축약전치)
▶ 좌측 이동 횟수
▶ DES 작동 모드
- ECB (Electronic Codebook) 모드
- CBC (Cipher Block Chaining)
- CFB (Cipher Feedback)
- OFB (Output Feedback) : 링크암호
* CFB와 OFB는 같은 것이다. (데이터 추출 위치만 다르다.)
* 단대단 암호와 링크 암호는 사용 용도만 다르고 구별하는 의미가 없다.
▶ DES 작동 모드 - 3중 DES
DES의 brute-force공격에 대한 취약성을 보완
• 새로운 알고리즘 개발 : IDEA (128 bit 키 사용)
• DES의 응용 : 3중 DES, 2중 DES
3중 DES
• 2개의 키를 사용 (DES 3번 사용)
• 암호화 : 암호화, 복호화, 암호화
• 복호화 : 복호화, 암호화, 복호화
• brute-force 공격에 DES보다 강함
• 암호화 복호화 과정
'암호학 공부 기록' 카테고리의 다른 글
암호학 6 - KDC/공개키 기관에 의한 키분배 및 해시 함수 (0) | 2021.12.19 |
---|---|
암호학 5 - 공개키 암호 (0) | 2021.12.08 |
암호학 3 - 비밀키 암호의 원리 (0) | 2021.11.30 |
암호학 2 - 암호 기법(시저암호, 다중치환, 다중단일문자치환, 전치기법) (0) | 2021.11.29 |
암호학 1 - 암호의 개념 및 원리 + Steganograhpy (0) | 2021.11.25 |