소개글
RSA는 공개키 암호시스템의 하나로, 현재 전자 상거래 등에 광범위하게 이용되고 있다.
1977년 로널드 라이베스트, 아디 샤미르, 레오널드 애들먼이 발명하였으며, RSA라는 이름은 이 3명의 이름 앞 글자를 딴 것이다. 이 세 발명자는 이 공로로 2002년 튜링상을 수상했다.
RSA 암호체계의 안정성은 큰 숫자를 소인수분해하는 것이 어렵다는 것에 기반을 두고 있다. 만약 큰 수의 소인수분해를 획기적으로 빠르게 할 수 있는 알고리즘이 발견된다면 이 암호 체계는 가치가 떨어질 것이다. 1993년 피터 쇼어는 쇼어 알고리즘을 발표하여, 양자 컴퓨터를 이용하여 임의의 정수를 다항 시간 안에 소인수분해하는 방법을 보였다. 따라서 양자 컴퓨터가 본격적으로 실용화되면 RSA 알고리즘은 무용지물이 될 것이다. 그러나 양자 컴퓨터가 이 정도 수준으로 실용화되려면 아직 여러 해가 더 필요할 것으로 보인다.
RSA 암호화 알고리즘은 1983년에 발명자들이 소속되어 있던 매사추세츠 공과대학교에 의해 미국에 특허로 등록되었고, 2000년 9월 21일에 그 특허가 만료되었다.
목차
1. 표현방식
2. 소수 p, q
3. 프로그래밍 소스 및 연산결과
4. 참고문헌
본문내용
핸드폰(Cyon) 문자 쓰기 방식에 따라 숫자를 부여함.
1, 2, 3, …., 9, 0 핸드폰의 버튼에 따라 번호를 부여 할 경우 평문을 숫자로 표현하는 경우 한계가 있기 때문에, 우선 핸드폰 버튼의 번호 앞에 행의 번호를 부여함.
그 후 특수문자 혹은 숫자, 영어 등의 변화가 필요한 버튼은 두 번째 행에 위치하였기 때문에 앞의 숫자를 2를 부여하고 뒷자리 숫자는 4,5,6에서 이어서 7 부여.
4번째 행의 번호는 앞 자릿수는 위와 동일한 방법으로 하였으나, ‘ㅡ’ 의 경우 원래의 핸드폰 번호판에서 ‘ㅡ’ 가 0으로 표현되어서 그대로 사용하였으며, 앞 자릿수에 4를 부여했다. 그 다음 왼쪽부터 순서대로 1,2,3 을 추가로 부여.
특수문자 변환의 경우 27을 한번 누를 경우 알파벳(대문자), 두 번 누를 경우 숫자, 세 번 누를 경우 특수문자로 변환, 누적 횟수로 네 번 누를 경우 원래 한글 조합으로 돌아오게 된다.
27→27→27→51→11→27→38→13→25→38→41→26→37→39→37→40→12→41→41→13→13→39→25→27→27→27→51→11을 순서대로 누름으로써
27→27→27→51→11 : @
27→38→13→25 : 특수문자에서 한글로 전환→ㅇ→ㅏ→ㅁ : 암
38→41→26 : ㅇ→ㅎ→ㅗ : 호
37→39 : ㅅ→ㅣ: 시
37→40 : ㅅ→ㅡ: 스
12→41→41→13→13→39→25 : ㄴ→ㄷ→ㅌ→ㅏ→ㅓ→ㅔ→ㅁ: 템
27→27→27→51→11 : @
참고 자료
이민섭. (2008), 정수론과 암호학, 개정판, 교우사.
하재철, 문상재 공저 (2009), (C로 배우는) 암호학 프로그래밍 = Programming of cryptographic algorithm in C, 미래컴.
(인터넷 자료)
http://doc.trolltech.com/3.3/primes.html