[암호학] 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 로 사용한다는 이야기이다.
'프로그래밍 놀이터 > Tips' 카테고리의 다른 글
[실용주의 프로그래머] 중복의 해악 (0) | 2018.09.29 |
---|---|
통신 3사 (SKT, KT, LGU+) USIM 다운로드 방법 (0) | 2018.09.12 |
[보안] 디지털 서명 ( Digital Signature ) (0) | 2018.05.03 |
[network] SSL 에 대해 알아보장~ (0) | 2018.05.02 |
[보안] MAC, DAC, RBAC (0) | 2018.05.01 |
댓글