|
|
암호문 Enc(M) → C
변형 연산 f(C) → C'
복호화하면 Dec(C') = f'(M)
━━━━━━━━━━━━━━━
🧩 예시: RSA 암호의 기본 형태는 가단적입니다
C = M^e mod n (공개키 암호화)
만약 C × r^e mod n 형태로 조작하면,
복호화 시 M × r로 바뀝니다.
즉, 공격자는 평문은 모르지만, 결과를 예측할 수 있는 의미 있는 변형을 가할 수 있습니다.
━━━━━━━━━━━━━━━
⚠️ 가단성의 위험성
가단성은 보안상 위험합니다.
예를 들어:
🔓 Chosen-ciphertext attack (CCA)
공격자가 암호문을 조작해 일부 정보를 유추하거나 평문을 유도할 수 있습니다.
실제로 **패딩 오라클 공격(Padding Oracle Attack)**이 대표적인 예입니다.
━━━━━━━━━━━━━━━
🛡️ 가단성 방지: 현대 암호 시스템의 기본 요건
보안성을 높이기 위해, 현대 암호는 보통 **비가단성(non-malleability)**을 목표로 합니다.
📌 대책:
🔹 RSA-OAEP (RSA Optimal Asymmetric Encryption Padding)
🔹 Authenticated Encryption (예: AES-GCM, ChaCha20-Poly1305)
🔹 IND-CCA2 보안 수준 요구
━━━━━━━━━━━━━━━
💡 응용 측면에서의 ‘가단성’의 장점도 있음
일부 경우에는 의도적으로 가단성을 활용하는 암호 시스템도 있습니다.
🌐 예시:
동형암호(Fully Homomorphic Encryption)
➤ 암호문 상태에서 덧셈, 곱셈 등의 연산이 가능 (→ 가단성은 필수 성질)
프록시 리암호화
➤ 제3자가 암호문을 다른 키로 변환 (→ controlled malleability)
━━━━━━━━━━━━━━━
📚 요약 정리
항목 설명
| 🔍 정의 | 암호문을 조작하면 복호화 결과도 조작 가능 |
| 🎯 위험성 | 암호문 변조로 정보 노출 가능 |
| 🚫 방지법 | RSA-OAEP, AES-GCM, IND-CCA2 보안 적용 |
| ✅ 활용처 | 동형암호, 프록시 리암호화 등에서는 유용 |
━━━━━━━━━━━━━━━