본문 바로가기

RSA

Digging in the Dirt 7, 2 다이 4(To die for) 하형일 : UC 샌디에고 경제학과 졸업, 매킨토시 사용경력 10년째인 컬럼니스트 이 세상엔 이론상으로 영원히 풀릴 수 없는 완벽한 암호가 존재할 수 있다. 그러나 현실은 과연 그러한가? 암호 분야의 전문가들은 단호하게 주장한다. 암호는 실수 투성이의 인간에 의해 만들어진다. 이 이유 하나만으로 암호는 언젠가 깨어지기 마련이다. 그러므로 암호 체계에 대한 확신은 정보고속도로 사회에서 가장 어리석은 사고 방식이다. 당신의 어리석은 확신으로 하나뿐인 목숨을 거는 일은 없도록 하자. 단테의 신곡(La Divina Commedia)은 인간의 비윤리적인 행태에 대한 해결책보다는, 그 죄악들이 인간 세계에 파생시킬 수 있는 혼란은 잔인하게 묘사하고 있다. 정직, 성실, 근면, 창의, 도전 등과 같은 긍정적인 미덕과 .. 더보기
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를 절대 비밀로 .. 더보기
Public Key System 대칭키 암호 시스템은, Encryption / Decryption 과정에서 동일한 키가 사용된, 이와 반대로 비대칭키 암호 시스템에서는, Encryption 과정에서 사용되는 키와 Decryption 과정에서 사용되는 키가 다르다. DES, AES에서와 같은 대칭키, 블럭 암호 시스템에서는 동일한 키가 사용됨으로서 Encrpyion / Decryption 과정을 함께 수행할 수 있기 때문에 상대적으로 속도가 빨라진다는 점을 장점이라고 생각할 수도 있다. 하지만, 결국 Encryption / Decryption 과정에서 키가 필요하므로, Ciphertext를 해석할 키를 상대방에게 안전하게 전달해야 한다는 문제가 생기게 된다. 비대칭 암호 시스템은, 공개키 암호 시스템이라고도 하는데, 이것은 한 키는 비밀.. 더보기