BigInteger 활용 썸네일형 리스트형 자바(Java)로 구현한 RSA 암호학 알고리즘 예제 /* written by kaspy (kaspyx@gmail.com)*/ RSA는 대단히 수학적인 알고리즘으로 200자리가 넘어가면 슈퍼컴퓨터로 푸는데만해도 1만년이상이 걸린다고 한다. 알고리즘은 두개의 소수 p,q 그리고 (p-1)*(q-1)의 서로소 d를 구하고 p,q,d는 비밀키로 개인이 보관(유출금지)한다. 그리고 p*q 의값 n과 e * d % (p-1)(q-1) = 1을 만족하는 e를 구한다. n과 e는 공개키로 외부에게 공개할수있다. p = 11, q = 17, d = 23e = 7, n = 187 메시지가 m이라고 할때 암호화 c = ( m ^ e ) % n 복호화 d = ( c ^ d) % n 로 구할수있다. 큰 숫자를 다뤄야하는 특성상, 자바 자료형 BigInteger를 사용하여 구현하.. 더보기 이전 1 다음