합성 암호
합성 암호는 대치, 치환, 그리고 기타의 구성요소를 결합한 복합적인 암호이다.
확산과 혼돈
합성 암호를 도입한 Shannon의 주된 개념은 설계된 블록암호가 확산과 혼돈이라는 두 가지 중요한 성질을 갖도록 하는 것이다. 확산의 개념은 암호문과 평문사이의 관계를 숨기는 것이다. 확산은 암호문에 대한 통계 테스트를 통하여 평문을 찾고자 하는 공격자를 좌절시킨다. 확산은 암호문의 각각의 비트나 문자가 평문의 모든 비트나 특정 비트에 의하여 종속적으로 결정되도록 한다. 다시 말하면, 평문의 단일 비트가 바뀐다면, 암호문에 있는 특정 비트나 모든 비트가 또한 바뀔 수 있다.
확산은 암호문과 평문사이의 광계를 숨긴다.
혼돈의 개념은 암호문과 키의 관계를 숨기는 것이다. 혼돈은 암호문을 이용하여 키를 찾고자 하는 공격자를 좌절시킨다. 다시 말하면, 키의 단일 비트가 변하면 암호문의 거의 모든 비트들이 변한다.
혼돈은 암호문과 키 사이의 관계를 숨긴다.
라운드
확산과 혼돈은 각 반복이 S-박스, P-박스 그리고 기타 구성 요소들을 결합을 의미하는 반복적 합성 암호를 사용하여 얻어진다. 반복적으로 사용되는 합성 암호를 라운드라고 칭한다. 블록 암호는 암호 키로부터 각 라운드에 사용될 서로 다른 키를 생성하기 위하여 키 스케줄 혹은 키 생성 알고리즘을 사용한다. N라운드 암호에서 평문은 암호문을 생성하기 위하여 N번 암호화 된다. 암호문을 평문을 생성하기 위하여 N번 복호화 된다. 각 라운드를 수행하는 중간 변화되는 상태의 값을 중간상태값이라 명한다.
두 가지 종류의 합성 암호
현대 블록암호는 모두 합성 암호이다. 하지만 그들은 두 가지 종류로 분류된다. 첫 번째 종류의 ㅇ마호는 역함수가 존재하는 구성요소와 역함수가 존재하지 않는 구성요소 모두를 사용할 수 있다. 이러한 종류의 암호를 보통 Feistel 암호로 명한다. 블록암호 DES는 Feistel 암호의 대표적인 예라 할 수 있다. 두 번째 종류의 암호는 단지 역함수가 존재하는 구성 요소만을 사용할 수 있다. 이러한 종류의 암호들은 non-feistel 암호로 명한다. AES는 Feistel이 아닌 암호의 대표적인 예라 할 수 있다.
Feistel암호
Feistel은 수십 년 동안 사용해 온 매우 지적이고 흥미로운 암호를 설계했다. Feistel 암호는 세 가지 타입의 구성요소를 가진다. 자기 자신을 역으로 갖는 것, 역함수가 존재하는 것, 그리고 역함수가 존재하지 않는 거, Feistel암호는 역이 존재하지 않는 구성요소를 결합하고 암호 알고리즘과 복호 알고리즘에 동일한 구성요소를 사용한다. 어떻게 역이 존재하지 않는 구성요소로 설계한 암호 알고리즘과 복호 알고리즘이 서로 역관계가 될 수 있는지 의문이 생길 것이다. Feistel은 두 알고리즘이 서로 상쇄되는 것을 보였다.
Non-Feistel암호
Non-Feistel암호는 단지 역함수가 존재하는 요소만을 사용한다. 암호화에 속하는 한 요소는 복호화의 한 요소에 대응된다. 예를 들면, S-박스는 적절하게 동일한 입 출력의 개수를 가져야 한다. 축소 혹은 확장 P-박스는 허용되지 않는다. 왜냐하면 그들은 역함수가 존재하지 않기 때문이다. Non-Feistel dkaghsms Feistel 암호에서 보았던 것처럼 평문이 반으로 분할될 필요는 없다. 단지 각 라운드 배타적 논리합 연산과 역이 존재하는 2x2 S-박스 그리고 역이 존재하는 단순 P-박스만을 구성요소로 이용하였으므로 Non-Feistel암호가 된다. 각각의 요소가 역이 존재하므로, 각 라운드가 역이 존재함을 보일 수 있다. 단지 라운드 키를 역순으로 이용하면 된다. 암호화 알고리즘은 라운드 키 K1과 K2를 사용한다. 복호알고리즘은 라운드키 K2와 K1을 사용한다.
블록암호에 대한 공격
고전 암호의 공격은 현대 블록암호에도 마찬가지로 사용되지만 오늘날블록 암호는 3장 에서 다룬 대부분의 공격에 대하여 저항성을 갖는다. 예를 들면, 키 사이즈가 일반적으로 매우 크기 때문에, 키에 대한 전수 조사 공격은 거의 불가능하다. 하지만 최근에 블록 암호의 구조에 기반한 새로운 공격 방법들이 최근 개발되었다. 이러한 공격 방법들은 차분과 선형 암호 해독 기술을 이용한다.
차분분석
Eli Biham과 Adi Shamir은 차분분석 개념을 소개하였다. 이 분석 방법은 선택 평문 공격이다. 공격자는 A의 컴퓨터에 어떠한 방법이 로든 접근하여 선택한 평문에 대한 암호문을 획득한다. 이 공격의 목적은 A의 암호키를 찾아내는 것이다.
알고리즘 분석
공격자는 선택 평문 공격을 이용하기 전에 평문에 대한 특정 정보를 수립하기 위하여 암호 알고리즘을 먼저 분석해야만 한다. 분명히 말하자면, 공격자는 암호기를 알지 못한다. 하지만 특정 암호는 공격자가 키를 알고 있지 않더라고 평문의 차분과 암호문의 차분 사이의 관계를 찾을 수 있는 구조적 취약점을 갖는다.
선형 분석
선형분석은 1993년 Mitsuru Matsui에 의해서 소개되었다. 이 분석은 기지평문 공격을 이용한다. 본공격을 완전히 설계하기 위해서는 특정 확률적 개념이 필요하다. 본공격에 대한 주된 개념을 살펴보기 위하여, 암호가 단지 1라운드로 구성되어 있다고 가정한다.
'정보보안' 카테고리의 다른 글
메시지 무결성과 메시지 인증 (0) | 2023.02.27 |
---|---|
DES(Data Encryption Standard) (0) | 2023.02.26 |
정보보호론/정보보안기사 현대 대칭키 암호 (0) | 2023.02.14 |
정보보호론/정보보안기사 고전대칭키 암호학2 (0) | 2023.02.13 |
정보보호론/정보보안기사 고전대칭키 암호화1 (0) | 2023.02.12 |
댓글