RSA Signature
RSA 디지털 서명은 RSA 암호화와 비슷한데, 상대의 공개키로 메세지를 암호화하는 것이 아니라, 자신의 비밀키로 암호화한다는 점이 다르다. 이 방식으로 디지털 서명을 하게 되는데, 이 서명이 정당한 서명인지 여부를 확인하려면, 공개키로 풀어봐서 원래의 문서와 비교해보면 된다. RSA Signature 과정은 다음과 같다. 서명하고자 하는 Alice는 다음의 과정을 거친다. 1. Alice는 커다란 두 Prime Number p, q를 선택하고, n = pq를 계산한다. 그리고, 1 < e < Φ(n), gcd(e, Φ(n)) = 1인 e를 선택하여 e * d ≡ 1 (mod Φ(n))인 d를 계산한다. Alice는 (e, n)을 공개하고, d는 비밀키로, p, q는 폐기하거나 비밀로 유지한다. 2. A..
더보기
RSA Algorithm
가장 대표적인 공개키 암호인 RSA는, 최초 개발자인 Rivest, Shamir, Adleman의 첫글자에서 따온 것이다. RSA는 75자리 이상의 큰 소수인 p, q를 이용하며, 이 체계의 안전성은 이 두 수의 곱인 n = pq가 얼마나 소인수분해하기가 어렵냐에 의해서 결정된다. 암호를 받을 사람은, 다음의 단계를 준비한다. 1. 큰 소수 p, q를 선택하여 n = pq를 계산한다. 2. e * d ≡ 1 (mod Φ(n))인 e와 d를 선택한다. 여기서 e가 gcd(e, n) = 1인지 아닌지는 유클리드 알고리즘으로 신속하게 판단할 수 있다. 그리고 d를 결정하는 문제 또한 유클리드 알고리즘으로 계산할 수 있다. 3. (n, e)를 공개한다. 이것이 공개키가 된다. 4. p, q, d를 절대 비밀로 ..
더보기