본문 바로가기
IT관련/정리

[IT용어] RSA 암호

by XoX 2020. 8. 2.
728x90
개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요.

 

 

RSA 암호는 공개키 암호시스템의 하나로 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘이다.

1978년 로널드 라이베스트(Ron Rivest), 아디 샤미르(Adi Shamir), 레너드 애들먼(Leonard Adleman)의

연구에 의해 체계화되었으며, RSA라는 이름은 이들 3명의 이름 앞글자를 딴 것이다.

이 세 발명자는 이 공로로 2002년 튜링상을 수상했다.

※ 사실상 첫개발자는 1973년 영국 GCHQ의 수학자였으나 이는 비밀로 취급됐었고 1997년에서야 밝혀졌다.

 

 

RSA 암호체계의 안정성은 큰 숫자를 소인수 분해하는 것이 어렵다는 것에 기반을 두고 있다.

그러므로 큰 수의 소인수 분해를 획기적으로 빠르게 할 수 있는 알고리즘이 발견된다면 가치가 떨어질 것이다.

바로 1993년 피터 쇼어는 '쇼어 알고리즘'을 발표하며

양자 컴퓨터를 이용하여 임의의 정수를 다항 시간 안에 소인수 분해하는 방법을 개발했다.

양자 컴퓨터가 본격적으로 실용화되면 RSA 알고리즘은 무용지물이 되지만 실용화까지는 여러 해가 더 필요하다.


 

RSA의 장점

RSA는 소인수 분해의 난해함에 기반하여,

공개키만을 가지고는 개인키를 쉽게 짐작할 수 없도록 디자인되어 있다.

보다 이해하기 쉬운 예를 들자면,

A라는 사람에게 B라는 사람이 메시지를 전하고자 할 때

B는 A의 열린 자물쇠를 들고 와 그의 메시지를 봉인(공개키 암호화 과정에 해당)하고,

그런 다음 A에게 전해 주면, 자물쇠의 열쇠(개인키에 해당)를 가지고 있는 A가

그 메시지를 열어보는(개인키 복호화 과정에 해당) 식이 된다.

중간에 그 메시지를 가로채는 사람은 그 열쇠를 가지고 있지 않으므로 메시지를 열람할 수 없다.

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

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

송수신 양측의 키쌍을 사용하는 방법으로는

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

복호화 과정은 B의 개인키로 복호화 -> A의 공개키로 복호화로 구성된 방식이 일반적이다.

RSA의 디자인 상, 그 열쇠(개인키에 해당)는 자물쇠의 형태(공개키에 해당)만 보고서는 쉽게 제작할 수가 없게 되어 있다.

 

 

출처: https://ko.wikipedia.org/wiki/RSA_%EC%95%94%ED%98%B8

 

 

 

 

출처: https://www.mcafee.com/enterprise/en-us/security-awareness/cloud/tokenization-vs-encryption.html

728x90
반응형

댓글