개발자 끄적끄적
합성 암호 본문
<배타적 논리합(Exclusive-Or)>
- 현대 블록암호의 중요한 구성요소는 배타적 논리합(Exclusive-Or) 연산이다
- GF(2^n)상에서의 배타적 논리합 연산의 다섯 가지 성질은 이 연산이 블록 암호에 사용될 경우 매우 흥미로운 구성요소가 된다
- 닫힘(closure)
- 결합법칙(associativity)
- 교환법칙(commutativity)
- 항등원 존재성(existence of identify)
- 역원의 존재성(existence of inverse)
<역(Inverse)>
- 암호 알고리즘의 구성요소가 단일연산(하나의 입력과 하나의 출력)으로 표현될 수 있다면 각 구성요소에 대한 역을 설명할 수 있다
- 예를 들어, 역연산이 가능하도록 키가 없는 P-박스 혹은 키가 없는 S-박스를 만들 수 있다
왜냐하면 이들은 하나의 입력과 출력을 갖기 때문이다
- 배타적 논리합 연산의 경우는 이진 연산이다
배타적 논리합 연산에서 역이라는 말은 입력의 값 중 하나의 값이 고정(암호 알고리즘과 복호 알고리즘에서 동일)되어 있을 때 의미가 생긴다
- 예를 들어, 일반적으로 암호화 과정과 복호화 과정에서 동일한 값을 갖는 키를 배타적 논리합 연산에서 입력 값 중 하나라고 한다면
배타적 논리합 연산은 자기 자신을 역으로 가진다
<순환 이동(Circular Shift)>
- 현대 블록 암호에 주로 사용되는 또 다른 구성요소는 순환이동 연산(circular shift operation)이다
<스왑(Swap)>
- 스왑 연산(swap operation)은 k=n/2인 순환이동 연산이 특수한 경우이다
<분할과 결합(Split and Combine)>
- 특정 블록 암호에서 발견되는 또 다른 두 개의 연산은 분할과 결합이다
<합성 암호(Product Ciphers)>
- Shannon은 합성 암호(product cipher)의 개념을 소개하였다
- 합성 암호는 앞 절에서 다루었던 대치, 치환, 그리고 기타의 구성요소를 결합한 복합적인 암호이다
- 배타적 논리합(exclusive-OR)
- 순환 이동(circular shift)
- 스왑(swap)
- 분할(split)과 결합(combine)
<혼돈(Confusion)>
- 혼돈(confusion)의 사상은 암호문과 키의 관계를 숨긴다는 것이다
<확산(Diffusion)>
- 확산(diffusion)의 사상은 암호문과 평문 사이의 관계를 숨긴다는 것이다
<라운드(Rounds)>
- 확산과 혼돈은 S-박스, P-박스, 기타 구성 요소들을 결합하여 설계한 합성 암호를 반복적으로 사용함으로써 성취할 수 있다
<Feistel 암호>
- Feistel은 10여 년 동안 사용할 수 있는 매우 지적이고 흥미로운 암호를 설계하였다
- Feistel 암호는 세 가지 타입의 구성요소를 가질 수 있다
- 자기 자신을 역으로 갖는 것(self-invertible)
- 역함수가 존재하는 것(invertible)
- 역함수가 존재하지 않는 것(noninvertible)
- Feistel 구조에서 믹서는 자기 자신을 역함수로 갖는다
<비-Feistel 암호>
- Non-Feistel 암호는 단지 역함수가 존재하는 요소만을 사용한다
- 평문에서 요소들은 암호에서 대응되는 요소를 가진다
<블록암호에 대한 공격(Attacks on Block Ciphers)>
- 고전 암호의 공격은 현대 블록 암호에도 사용할 수 있다
- 그러나 오늘날 블록 암호는 대부분의 공격에 대하여 저항성을 가진다
- 블록 암호에 대한 차분 분석은 S-박스의 비 균일 차분 분포표에 기반한다
<차분 분석(Differential Cryptanalysis)>
- Eli Biham과 Adi Shamir는 차분 분석 개념을 소개하였다
- 이 분석 방법은 선택 평문 공격이다
<선형 분석(Linear Crytanalysis)>
- 선형 분석은 1993년 Mitsuru Matisui에 의하여 소개되었다
- 이 분석은 기지평문 공격(known-plaintext attack)을 이용한다(차분 공격에서 선택 평문 공격과 대비)
- 현대 블록 암호에서 S-박스는 완전한 선형함수가 아니다
- S-박스는 특정 선형함수에 의하여 확률적으로 근사될 수 있다
<스트림 암호>
- 현대 스트림 암호에서는 평문 스트림에 대한 암호문 스트림을 생성하기 위하여 키 스트림의 r비트 워드로
평문 스트림의 r비트 워드를 암호화 한다
<비동기식 스트림 암호>
- 비 동기식 스트림 암호에서 키 스트림의 각 비 비트는 이전의 평문이나 암호문에 종석적으로 결정된다
<동기식 스트림 암호>
- 동기식 스트림 암호에서 키는 평문 혹은 암호문과 독립이다
'정보보안' 카테고리의 다른 글
라운드(round), DES (0) | 2023.04.17 |
---|---|
현대 블록 암호 (0) | 2023.04.02 |
다항식, 생성원 사용하기 (0) | 2023.04.01 |