본문/내용
전자거래 보안을 위한 공개키 암호화 방법
1. RSA 알고리즘
RSA는, 발명자인 Massachusetts 공과대학(MIT)의 Ron Rivest, Adi Shamir와 Len Adleman의 이름을 따 붙여진, 양방향 공개키 암호화방법이다. 이 방법은 1978년에 최초로 발표되었다. RSA 계산식은, 공개키밀키의 부분을 이루는, 두 가지의 소수들(prime numbers)을 곱하여 얻의 부분을 이루는, 수많은 소위 공개 모듈을 이용한다. 공개 모듈은, 비게 된다.
RSA의 보안성은 다음의 기술적 사실에 의존한다. 즉, 커다란 소수들을 찾는 것은 쉬운 반면에, 두 가지의 그러한 숫자들의 곱을 인수분해하는 것은 어렵다는 점이다. 그 숫자들이 충분히 크다면, 그러한 문제의 범위에서 요구되는 수많은 변수들을 인수분해하는 것은 전산상으로 실행불가능한 것으로 여겨진다.
예컨대, 437 숫자의 두가지 인수, 즉 주어진 437을 곱한 두 숫자를 찾는다고 가정해 보자. 대부분의 사람들은 이의 정답을 답하기 위하여는 그 이전에 수많은 계산 시도를 해보고 계산기를 사용하여야만 한다. 그러나, 23곱하기 19의 답을 구하는 경우에는 많은 사람들이 암산으로도 계산을 할 수 있으므로, 매우 빠르게 정답(437)을 구할 수 있다. 여기에서 그 숫자들이 충분히 크게 이루어져 있을 때 예컨대, 수백 또는 수천의 비트로 표시된 숫자들을 요구할 경우에는, 컴퓨터조차도 인수분해하기가 어렵다.
그러나 이러한 RSA의 장점도 이견이 제시되고 있다. 다시 말하자면 이를 RSA의 암호를 해독할 수 있는 명확한 기술적 방법-수개의 알려진 인수분해방식을 이용하는 인수분해 모듈-이 있다는 것이며 이는 인수분해할 수 있는 소요시간과 장치의 비용에 의존한다고 한…
2. 전자서명
3. RSA 디지털 서명
를 보유했고 메시지의 내용이 도중에 바뀌지 않았다는 것을 확신할 수 있다.
상기와 같은 공개키에 기반하는 전자서명 구조는 복호화키(원작성자의 공개키)가 공개적으로 알려지도록 이루어지므로 어느 잠재적인 메시지 수신인이 서명을 확인할 수 있는 가치있는 속성을 지닌다.
이러한 구조는 몇 가지의 문제점들을 가지고 있다. 특히 처리조건상 그리고 통신상의 비용이 든다. 전체 메시지 내용과 송신된 데이터 분량에 적용되어야 하는 암호화와 복호화는 적어도 원작성된 메시지 크기의 두배이다. 이 구조를 향상시키기 위하여는, 해쉬 함수가 그 과정에 삽입된다. 해쉬 함수는 비교적 작은 길이로 된 커다란(가능한한 매우 큰) 도메인(domain)으로부터 값을 배치한 일방향의 함수이다. 예컨대 전형적 메시지는 수천 또는 심지어 수백만의 비트로 된 길이일 수 있다. 해쉬 함수는 메시지에 적용될 수 있고 이른바 128비트 길이의 출력값을 만들 수 있다. 해쉬 함수는, 메시지가 어떤 식으로든 변경된 경우 단지 1비트에 의하여서도 전적으로 다른 값이 해쉬 함수에 의하여 만들어지게 되는 속성을 가진다.
해쉬 함수는 서명된 메시의 내용으로부터 메시지 요약본으로 알려진 고정된 길이의 데이터 항목을 생성시키는데에 이용된다.
이러한 구조에서 원작성한 시스템은 요약본을 얻기 위하여 해쉬 함수를 응용한다. 그 때, RSA는 메시지와 함께 전송된 서명을 제공하기 위하여 요약본을 암호화한다. 메시지를 수신하게 되면 수신인의 시스템은 요약본을 재전산화하고, 또한 RSA는 서명을 복호화한다. 이 두 값을 비교해 볼 경우, 그것들이 일치하면 수신인은 작성자가 암호화키를 알고 있고, 메시지 내용은 도중에 변경되지 않았다는 점을 확신하게 된다.