TH3 6R3@T H@CK
아핀 암호 (AFFINE CIPHER) 본문
※ 암호응용 수업 내용 복습
아핀 암호
∙ 덧셈 암호와 곱셈 암호는 비밀키에 가능한 모든 경우(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 |