본문 바로가기
프로그래밍 놀이터/Tips

[암호학] RSA 에 대해 간단히 알아보자

by 돼지왕 왕돼지 2018. 5. 12.
반응형

[암호학] RSA 에 대해 간단히 알아보자


-

RSA 는 공개키 암호시스템의 하나로, 암호화 & 전자서명에 대한 최초의 알고리즘이다.



-

RSA 는 이 알고리즘을 체계화한 세 사람의 이니셜을 딴 것이다.



-

RSA 는 키 생성, 암호화 이 두가지가 핵심 과정이다.



-

(구체적인 내용은 모르겠지만) RSA 암호쳬게의 안정성은 큰 숫자를 소인수 분해하기 어렵다는 것이 기반을 둔다.

그래서 큰 수의 소인수 분해를 획기적으로 빠르게 할 수 있는 알고리즘이 발견되면 이 암호 체계는 가치가 떨어질 것이다.

( 양자 컴퓨터 시대가 도래하면 가장 크게 위기를 맞을 암호 체계라고 한다. RSA 768bit 은 2009년도에 깨졌다고 한다. )



-

RSA 는 두 개의 키를 사용한다.

키는 메시지를 암호화하는 상수(Public Key)와 복호화하는 상수(Private Key)를 의미한다.

공개키(Public Key)는 모두에게 알려져 있고 암호화하는 데 쓰인다.

암호화된 메시지를 개인키(Private Key)를 가진 자만이 복호화 할 수 있다.


반대로 암호화를 Private Key 로 하고 복호화를 Public Key 로 할 수 있다.

반대 Key 로만 복호화를 할 수 있는 형태이다.



-

쉽게 공개 키는 자물쇠이고, 개인키는 그 열쇠이다.

이 자물쇠(Public Key)는 누구나 가지고 가서 정보를 잠글 수 있는 것이고, 이 정보를 볼 수 있는 것은 그 열쇠(Private Key)를 가진 사람 뿐이다.



-

메시지와 공개키 모두를 알고 있다면 변조된 메시지를 보낼 수 있기 때문에,

실제로는 수신측의 공개키만을 사용하여 암호화하는 경우는 드물다.


송수신 양측의 키쌍을 사용하는 방법을 통해 변조된 메시지를 보내는 방식을 예방한다.

A 의 개인키로 암호화 -> B 의 공개키로 암호화 한 메시지 전달.

B 의 개인키로 복호화 -> A 의 공개키로 복호화 하는 방식이 일반적이다.



-

현재 가장 높은 bit 수를 사용하는 RSA 로직은 RSA-2048 이다.

이는 617 자리 숫자를 Key 로 사용한다는 이야기이다.

RSA-2048 전에는 숫자가 number of digits 를 의미했으나 RSA-2048 부터는 bit 을 의미한다.




반응형

댓글