본문 바로가기
Security,Hacking/Encryption

공개키 암호, 비대칭키 암호화 RSA

by whitele 2021. 7. 27.
반응형

 공개키 암호화 (비대칭키 암호화)

 공개키 암호는 비대칭 암호화라고도 하며 대칭키 암호화를 할 때 키 전달 문제를 해결하기 위해 개발되기 시작하였다. 개인키로 암호화하면 공개키로 복호화하고 공개키로 암호화하면 또 그 반대가 되는 방식이다. 공개키 암호화 알고리즘으로 DH, RSA, ECDH등이 있다.

 공개키 암호화의 원리로는 소인수 분해, 이산 로그 문제, 타원 곡선의 어려움을 이용하여 암호화를 수행한다. 암호화를 진행한 하나의 키를 알고 있어도 복호화에 필요한 키를 알아내는데 굉장히 많은 연산이 필요하다. 수준급 분산 클러스터 시스템을 쓴다 하더라도 하루 이상이 소모된다.

 공개키 암호화를 이용하여 암호화 통신을 하기에는 계산이 너무 복잡하여 매우 비효율적이다. 때문에 대칭키 암호화와 동시에 사용하여 대칭 키 암호와의 키를 전달에만 사용하는 혼합형을 일반적으로 사용한다.

 공인인증서 및 서명

  공개키 방식은 인증서 및  서명에도 이용된다. 신뢰성 있는 인증기관에서 인증서를 발급하고 그 인증서를 인증해주는 방식이다. 공인인증서가 사라진 뒤 많은 인증서가 생겨났지만 그 구조와 원리는 크게 다른 점이 없다. 서명 방식에 사용되는데 비대칭키 암호화가 사용된다.

 

RSA

 RSA는 비대칭키 암호화 중 널리 쓰이는 암호화 방식으로 서명, SSL 등 다양한 범위에서 활용되고 있다. 대부분은 RSA를 사용하고 있다. 현재 전자상거래가 가능한 이유는 RSA의 존재 덕분이다. RSA의 이름의 유래는 RSA 방식을 개발한 리베스트(Rivest), 샤미르(Shamir), 애들먼(Adlemon)의 앞 이니셜을 따서 만들어졌다. RSA는 소인수 분해가 어렵다는 것을 이용하여 암호화를 수행한다.

 

키와 암호화 

  1.  p와 q 서로 다른 소수를 정한다.
  2.  N=p*q
  3.  p-1, q-1과 서로소인 e를 구한다.
  4.  ed에 (p-1) (q-1)로 나눈 나머지가 1인 d를 구한다.

N과 e는 공개키이며 평문 m을 c=m^e mod n 연산을 하여 c를 전송한다.

 

 

728x90
반응형

'Security,Hacking > Encryption' 카테고리의 다른 글

대칭키 암호화 DES Data Encryption Standard  (0) 2021.05.19

댓글