암호 기술의 기초와 응용
교과서 그대로의 RSA 암호(평문 m을 그대로 c = m^e mod n으로 하는 방식)를 패딩을 붙이지 않고 실제 통신에 사용하는 것의 문제점으로 올바른 것은?
- A공개 키로 암호화한 암호문은 개인 키가 없어도 같은 공개 키만으로 복호화할 수 있어 버린다
- B공개 지수 e를 공개하고 있으므로, e로부터 비밀 지수 d를 그대로 계산할 수 있어 버린다
- C같은 평문은 항상 같은 암호문이 되므로, 후보 평문을 공개 키로 암호화하여 비교하면 평문을 알아맞힐 수 있다
정답과 해설 보기
정답: C. 같은 평문은 항상 같은 암호문이 되므로, 후보 평문을 공개 키로 암호화하여 비교하면 평문을 알아맞힐 수 있다
교과서 그대로의 RSA 암호는 난수를 사용하지 않는 결정론적 방식이므로, '예', '아니요'처럼 후보가 적은 평문은 공격자가 후보를 모두 공개 키로 암호화하여 암호문과 비교하기만 하면 알아내 버립니다. 또한 평문이 작으면 m^e가 n을 넘지 않아, 암호문의 e제곱근을 취하기만 해도 평문이 구해지는 경우도 있습니다. 실제 RSA 암호에서는 OAEP처럼 난수를 포함하는 패딩을 붙인 뒤 암호화하고, 서명에서는 PSS 등의 패딩을 사용합니다. 나아가 TLS 1.3에서는 RSA 암호로 키 재료를 암호화하여 보내는 방식 자체가 폐지되어, RSA는 서명에만 사용됩니다.