코드일기장

현대암호 RSA암호에 대해(1) 본문

이산수학과 암호론

현대암호 RSA암호에 대해(1)

won_hyeok2 2021. 10. 30. 12:20

RSA암호에 대해

RSA암호라고 들어보신 적 있으신가요? RSA암호는 현대사회에서 제일 중요하고 널리 쓰이는 암호입니다. 

 

RSA 암호는 리베스트(Rivest, R.), 샤미르(Shamir, A.), 에이들먼(Adleman, L.)이 1977년에 개발한 암호 체계(crypto system)로, 처음으로 상용화되었고 지금도 널리 쓰이는 대표적인 공개키 암호 체계이다.

 


공개키 암호를 알아보기전, 고전 암호에 대해

 

공개키 암호를 알아보기전 옛날 고전 암호에 대해 알아볼 필요성이 있다. 많고 많은 고전 암호에서 대표적인 스키 테일 암호와  플레이페어 암호에 대해 알아보겠다. 고전암호를 알아보는 이유는 현대 암호와의 차이점을 알아보기 위해서이다. 

 

스키 테일 암호 (사진출처: 네이버)

고전 암호중 대표적인 암호이다. 주기를 정한 후 치환을 이용해 평문을 암호화하면 되는 것이다. 자세히는 설명 안 하겠다. 이 암호의 단점은 막대기와 암호로 소통할 사람과 길이가 일치하는 종이를 써야 한다는 것이다. 만약 종이를 잃어버리면 암호 해독과 암호화는 절대 못할 것이다. 


또 다른  고전 암호 플레이페어 암호에 대해 알아보자.

 

 

 

플레이페어 암호 (사진출처: 네이버)

 

라이언 플레이페어 (사진출처: https://terms.naver.com/entry.naver?docId=3431989&cid=58437&categoryId=58437)

 

  플레이페어 암호는 근대암호라고 할 수 있다. 1차 세계대전 당시 영국 육군이 플레이 페어 암호를 사용하였고 2차 세계대전에서 미 육군 및 연합국이 사용하기도 했다. 굉장히 실용성있고 치환 암호의 대표적이라고 볼 수 있다.

  플레이 페어 암호는 암호화와 복호화를 하기 위해서는 패턴을 알아야 한다. 독자들이 원한다면 추 후 암호화하는 방법과 복호화하는 방법도 포스팅해보겠다. 1번째 사진 정사각형 판을 이용해 암호화와 해독을 동시에 할 수 있다. 

 

 

  지금까지 스키 테일 암호와 플레이 페어 암호를 조금 알아보았는데 두 암호의 단점은 뭐가 있을까? 

굉장히 많지만 대표적인거는 암호해독 패턴만 한번 파악하면 무력해진다는 단점이 있다. 

  고전암호와 근대 암호는 보통 전쟁을 위해 쓰였다. 암호가 해독된다는 것은 전쟁의 패배나 다름없다고 볼 수 있다. 전쟁 당시 암호 쪽 병사들을 생포해 고문을 통해 암호의 패턴을 알아내는 경우가 많았다고 한다. 두 암호는 현대에서는 거의 쓸 일이 없다고 생각이 든다. 

 

 

 


 

  •   현대암호 대표적인 RSA암호는 지금까지 고전 암호와 근대 암호의 단점을 전부 보안해 줄 수 있고 뚫리지 않는 방패라고도 불린다. RSA암호의 탄생 배경에 대해 알아보겠다.

탄생 배경: 비대칭 암호화 알고리즘 중에서 가장 많은 지지를 받으면서 오늘날 산업 표준으로 사용되는 방법은 MIT의 로널드 리베스트(Ronald Rivest), 아디 샤미르(Adi Shamir), 레오나르도 애들먼(Leonard Adleman)이 고안한 RSA(Rivest, Sharmir, Adleman) 알고리즘이다.

[네이버 지식백과] RSA 알고리즘 (정보 보안 개론, 2013. 6. 28., 양대일)

이미지 출처:https://terms.naver.com/entry.naver?docId=3431999&cid=58437&categoryId=58437

 

  암호를 탕생 시킨 세명은 컴퓨터계의 노벨상이라고 불리는 튜링상을 받기도 했다. RSA암호는 현대에서 여전히 쓰이고 많이 쓰인다. 

 

대표적으로 쓰이는 곳은  

  1.   전자상거래  인터넷이나 PC통신을 통하여 서로 신뢰하지 못하는 둘 또는 여러 사람 사이에 상품을 사고파는 거래를 의미하는 전자상거래는 대표적으로 카카오페이나 네이버 페이로 송금을 하거나 신용카드 결제할 때도 쓰인다.

등 다양하지만 제일 많이 쓰이는 전자상거래만 예로 들어봤다. 

 

RSA는 비대칭 암호로 기본적인 정수론, 소수를 이용하는 암호이다. 140자리 소수 2개를 이용해 암호화하는 것이다. 140자리 소수 두개를 소인수분해를 해 보기 좋게 만드는 것이다. 보기 좋아진 수는 각 각 공개키와 개인키가 된다. 이것은 사람은 절대 풀 수 없고 오직 컴퓨터만 암호화를 할 수 있다. 1600대의 컴퓨터를 사용해도 해독하는데 8개월이나 걸린다고 한다. 8개월이면 송금하는데 몇초걸리는데 이미 거래는 끝나고도 남는 기간이다. 

 


기본적인 로직은 이러하다 

https://terms.naver.com/entry.naver?docId=2270499&cid=51173&categoryId=51173

모두가 볼 수 있는 공개키와 개인키(비밀키)로 암호화와 복호화를 하는것인데, 개인키는 오로지 암호문을 교환하는 단 둘만 알 수 있다,  RSA 알고리즘은 수학적 이해가 필요하다 (오일러 파이 함수, 유클리드 호재법, 페르마 소정리) 정도만 알면 쉽게 구현하고 풀 수 있다. 그거에 대해서는 2편에서 보여주겠다. (암호화와 복호화는 2편에서)

 

RSA암호는 현존하는 슈퍼컴퓨터로 하나의 암호문을 해독하는데 너무 오래걸린다. 140자리 소수 두 개를 소인수 분해를 한다는 것은 굉장히 오래 걸리는 일이다. 아마 양자컴퓨터가 나와야 풀 수 있는 문제일듯하다.

 

 

 

 

 

 

 

 

 

 

사진출처: https://terms.naver.com/entry.naver?docId=3431989&cid=58437&categoryId=58437) (네이버)

             https://terms.naver.com/entry.naver?docId=3431999&cid=58437&categoryId=58437

             https://terms.naver.com/entry.naver?docId=2270499&cid=51173&categoryId=51173

대표사진:  https://terms.naver.com/entry.naver?docId=3431999&cid=58437&categoryId=58437

 

 

 

RSA 알고리즘

비대칭 암호화 알고리즘 중에서 가장 많은 지지를 받으면서 오늘날 산업 표준으로 사용되는 방법은 MIT의 로널드 리베스트(Ronald Rivest), 아디 샤미르(Adi Shamir), 레오나르도 애들먼(Leonard Adleman)이

terms.naver.com

 

 

'이산수학과 암호론' 카테고리의 다른 글

현대암호 RSA암호에 대해(2)  (0) 2021.12.26
Comments