디피-헬만 키 생성 프로그램(2) - 고민
·
프로그래밍/암호화 프로그램
이제 이전에 만든 RSA 프로그램을 기반으로 만들어보겠다. 간단하게 RSA와 같이 소수를 생성하고 어쩌고저쩌고 하면 되겠구나! 싶었다. 그런데, 예상못한 어려움에 부딪혔다. 랜덤한 소수값은 구할 수 있는데, 그 소수값의 원시근은 어떻게 구할까...? 일단 소수값은 RSA 프로그램에서 했던 것 처럼, 밀러-라빈 소수 판정법을 이용해서 구하면 된다. $$a^{p-1} \equiv 1 \pmod{p}$$ 위의 조건을 갖는 원시근을 찾아야한다. (연산량이 너무 많다...) 그런데.. 열심히 코드를 짜다 보니.... 알게된 것이 있다. 디피헬만의 q(소수) , a(원시근)는 공개된 값이라서 상수로 Fix 해둔 값으로 해도 된다는 것이였다.... 3시간 정도 찾아보고 공부했었는데,,,