Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

TH3 6R3@T H@CK

아핀 암호 (AFFINE CIPHER) 본문

Study/Cryptography

아핀 암호 (AFFINE CIPHER)

vvh0am1 2024. 4. 6. 17:33

※ 암호응용 수업 내용 복습

 

 

아핀 암호

∙ 덧셈 암호와 곱셈 암호는 비밀키에 가능한 모든 경우(26가지, 12가지)를 대입해보고 해독 가능

→ 전수조사 공격 (Brute force attack)

 

∙ 보안성을 높일 수 있는 방법?

- 덧셈 암호를 두 번 적용하면?

  x → x + k1 + k2 (mod 26)

  k = k1 + k2 (mod 26)일 때 덧셈 암호를 한 번 적용한 것과 같음

 

- 곱셈 암호를 두 번 적용하면?

  x → x k1 + k2 (mod 26)

  k = k1 k2 (mod 26)일 때 곱셈 암호를 한 번 적용한 것과 같음

 

- 곱셈 암호와 덧셈 암호를 한 번씩 적용하면? → 아핀 암호

  x α x + β (mod 26)

 

∙ 총 가능한 키의 개수 = (α , β)의 개수 = 12 ∙ 26 = 312

 

 

아핀 암호에 대한 공격 방법

∙ COA (Ciphertext Only Attack)

- 312개의 가능한 키를 모두 시도

- 만약 암호문이 충분히 길다면, 통계적 분석을 통해 해독 가능하지만 덧셈 암호보다는 어려움

  예: 알파벳 "e"가 가장 빈번하게 나온다는 것을 활용

 

∙ KPA (Known Plaintext Attack)

- 두 쌍의 평문, 암호문만 있어도 (높은 확률로) 키를 알 수 있음

- 예를 들어, Enc(8) = 15, Enc(5) = 16이라고 하자.

  * 8 = i / 15 = P / 5 = f / 16 = Q

 

8α + β = 15 (mod 26)    8α + β (mod 26) = 15 

5α + β = 16 (mod 26)    ← 5α + β (mod 26) = 16 

 

→ 연립방정식을 풀어서 α, β를 쉽게 얻을 수 있음

 

∙ CPA (Chosen Plaintext Attack)

- 0(a)에 대한 암호화 질의를 던지면 β를 알 수 있음 → 1(b)에 대한 암호화 질의를 던지면  α + β를 알 수 있고 따라서 α 얻음

 

∙ CCA (Chosen Ciphertext Attack)

- KPA와 유사하게 두 번의 질의를 던져서 연립방정식을 풀고 키를 얻음

'Study > Cryptography' 카테고리의 다른 글

모듈로 연산 (Modular Arithmetic)  (0) 2023.10.22
암호의 역사  (1) 2023.10.21
암호  (0) 2023.10.18