개발자 끄적끄적

합성 암호 본문

정보보안

합성 암호

햏치 2023. 4. 9. 00:17

<배타적 논리합(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