DataCorp Technology LTD. https://www.flickr.com/photos/datacorpltd/23922032368


공개키 암호화와 전자서명의 비밀키와 공개키의 역할은 다르다

공개키 암호화 방식은 두 키를 사용합니다. 대략적으로 말하면 암호화(평문을 암호화)만 할 수 있는 키(공개키), 그리고 복호화(암호문을 평문)만 할 수 있는 키(비밀키)를 구분하여 공통키 암호방식의 문제인 운송문제를 해결하는 방법입니다.

1. 키 생성 ... 암호화 키 E(공개키)와 복호화 키 D(비밀키)를 준비한다
2. 암호화 ... 암호화 키 E를 사용하여 평문 M을 암호문 C로 변환할 수 있다
3. 복호화 ... 복호화 키 D를 사용하여 암호문 C를 평문 M으로 변환할 수 있다

Public key encryption alice to bob https://commons.m.wikimedia.org/wiki/File:Public_key_encryption_alice_to_bob.svg


공개키 암호화와 전자서명의 차이

공개키 암호화의 비밀키는 '암호문을 복호화'하기 위한 것이고, 공개키는 '평문을 암호화'하는 것입니다.

전자서명의 비밀키는 '평문을 사용하여 서명'하기 위한 것이고, 공개키는 '서명이 올바른지 검증'하는 것입니다. 즉 역할이 전혀 다릅니다.

digital signature https://commons.m.wikimedia.org/wiki/File:Ss_digitalsignature.png


암호화와 전자서명에 필요한 조건


암호화 = 비밀키 없이 암호문을 평문으로 되돌릴 수 없다
서명 = 비밀키 없이 자신 이외의 사람이 서명을 만들 수 없고 변경할 수 없다

이처럼 각각 요구되는 조건이 다르므로 암호화 알고리즘으로 서명할 수 없습니다.

RSA 암호가 오해의 원인?

암호화와 서명은 알고리즘 다릅니다. 그리고 RSA 암호는 특별한 조건을 가지고 있습니다.
RSA 암호는 동일한 공개키 아래에서 평문과 암호문은 1대 1로 대응하고 있습니다. 즉 평문 공간과 암호문 공간이 동일한 확정적 암호로 되어 있습니다. 한편 1대 1로 되어있지 않은 것을 확률적 암호라고 말합니다. RSA 암호는 확정적 암호로 되어 있기 때문에 암호화와 서명을 역으로(엄밀하게는 다른) 해도 작동하는 것 같습니다.

정리

공개키 암호화 및 전자서명에 사용되는 비밀키와 공개키의 역할은 다릅니다. 공개키 암호의 비밀키는 어디까지나 평문을 암호화하기 위한 것. 서명용 비밀키는 서명을 위한 것이라는 결론입니다.

Posted by 말총머리
,