[암호화] 암호화 기법 관련 정리
대칭 암호화 기법 (Symmetric Encryption)
- 전통적인 암호화 기법. 싱글키 암호화 기법이라고도 불리운다.
- 1970년대 후반, 공개키 암호화 기법 등장 이전에 사용되던 유일한 암호화 기법이며, 줄리어스 시저 시대부터 현대까지도 사용되어왔다.
대칭키 암호화 구조의 다섯 가지 요소
1. 평문 : 암호화하고자 하는 원래 메시지나 데이터.
2. 암호화 알고리즘 : 평문에 대해 다양한 치환 작업과 변환 작업을 수행.
3. 비밀키 : 암호화 알고리즘에 입력되며, 알고리즘에 의해 수행되는 정확한 치환과 변형들은 이 키에 달려있다.
4. 암호문 : 평문과 비밀키에 따라 달라지는, 생성된 암호화 된 메시지.
5. 복호화 알고리즘 : 암호화 알고리즘과 같지만 정반대로 진행된다. 암호문과 비밀키를 이용해 원래의 평문을 생성.
대칭 암호화 기법의 안전한 사용을 위한 두 가지 요구사항
1. 강력한 암호화 알고리즘이 필요하다. 암호문에 접근하는 상대가 암호문을 해독할 수 없거나 키를 알아낼 수 없어야 한다.
2. 메시지를 보내는 사람과 받는 사람은 안전한 방식으로 비밀키의 복사본을 얻고, 키를 안전하게 보유해야 한다.
대칭 암호화 구조를 공격하기 위한 두 가지 일반적인 방법
1. 암호 해독 : 알고리즘의 특성과 평문의 일반적인 특징에 관한 몇 가지 지식, 혹은 샘플을 이용해 키를 추론해낸다.
2. 전수 공격 : 이해할 수 있는 평문을 얻을 때까지 암호문에 가능한 모든 키를 대입해 시도한다.
-
대칭 블록 암호화 알고리즘
- 대칭 암호화 알고리즘에서 가장 많이 쓰인다.
- 블록 암호화 기법은 평문 입력을 고정된 크기의 블록으로 처리하는 각각의 평문 블록의 길이와 같은 크기의 암호문을 만들어낸다. 또한 길이가 더 긴 평문은 고정된 크기의 연속된 블록으로 처리한다.
- 대칭 알고리즘에서 가장 중요한 것은 데이터 암호화 표준(DES), Triple DES, 고급 암호화 표준(AES)이다.
- DES : 데이터 암호화 표준으로, 1970년 미국 NIST를 위해 개발되었다. 대체와 치환이라는 기본적인 빌딩 블록을 신중하고 복잡하게 조합한 것이다. 65비트 키를 사용해 64비트 블록을 암호화한다.
- Triple DES : DES 기반으로 암호화 강도를 높인 것이다. 약 112비트 키와 동등한 강도를 제공한다.
- AES : 고급 암호화 표준이며, 2001년 미국 정부의 사용을 위해 채택되었고 연방정보처리의 표준이 되었다.
스트림 암호
- 블록 암호화 기법은 한 번에 구성 요소의 한 블록만 입력으로 처리하며, 각각의 입력 블록에 대해 한 개의 출력 블록만 생산하지만, 스트림 암호화 기법은 끊임없이 요소들을 입력으로 처리하며, 한 번에 하나의 출력 요소만 생산하고 계속 반복된다.
- 스트림 암호의 주요한 장점은 블록 암호에 비해 항상 더 빠르고 코드를 더 적게 사용한다는 것이다.