안녕하세요!
여기서 저의 프로젝트들을
보실수 있습니다.

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis.



프로젝트 목록


파이썬 프로젝트

1. RSA 메신저

간단한 설명

최근 인터네트사용량의 증가에 따라 사용자들이 인터네트상에서 주고 받는 메시지내용의 보안을 보장하는것은 아주 중요한 문제로 제기되고 있다. 민감한 개인정보등의 안전성을 철저히 보장하고 안전한 메시지교환을 실현하자면 가장 강력한 암호화수단으로 알려진 RSA암호기술을 통신에 적용하여야 한다. 이번 프로젝트는 사용자가 복잡한 기술적문제를 모르고도 편리하게 사용할수 있도록 하는 한편 보안을 철저히 보장하는데 방점을 두고 개발되었다. 이를위해 암호화한 메시지를 앱에서 whatsapp등을 통하여 직접 수신자에게 보낼수 있도록 하였으며(참고로 가장 널리 사용되는 암호화-복호화 소프트웨어인 Kleopatra에서는 사용자가 암호화한 메시지를 복사하여 Email등을 통하여 수신자에게 수동으로 보내게 되었음.) 또한 다른 한편으로 철저한 보안보장을 위해 사용자가 사용시 매번 열쇠들이 (공개열쇠, 비공개열쇠) 6자리수의 소수들으로부터 새롭게 생성되도록 하여 복잡성난이도와 처리속도를 함께 높일수 있게 하였다. (참고로 Kleopatra에서는 처음에 한번생성한 열쇠들을 계속사용함). 프로그람은 파이썬언어(키비)를 사용하여 개발되었고 영어버전과 한글버전이 있으며 콤퓨터상에서 exe파일로 사용할수도 있고 Android모바일기재상에서 apk파일로서 사용할수있다.

RSA암호화에 대하여

RSA 암호는 비대칭암호시스템(공개열쇠암호시스템)의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리듬으로 알려져 있다. RSA가 갖는 전자서명기능은 인증을 요구하는 전자상거래 등에 RSA의 광범위한 활용을 가능하게 했다. RSA 암호체계의 안정성은 매우 큰 숫자를 소수분해하는것이 현실적으로 매우 어렵다는것에 기반을 두고있다. 예를 들면 A에게 B가 메시지를 전하고자 할때 B는 A의 "열쇠A1"(A의 공개열쇠에 해당)로 자기메시지를 암호화(공개열쇠에 의한 암호화과정에 해당)하고, 그런 다음 A에게 전해 주면, "열쇠A2"를 가지고 있는 A만이 그 메시지를 열어볼수가 있다(비공개열쇠에 의한 복호화 과정에 해당). 중간에 그 메시지를 가로채는 사람은 물론 메시지를 송신하는

B본인조차 "열쇠A2"를 가지고 있지 않으므로 암호화된 메시지를 복호화 할수없다. "열쇠A1"1로 부터 "열쇠A2"을 얻기가 현실적으로 불가능하다는것은 즉 RSA암호체계의 안정성은 페르마 소정리, 오일러정리를 통하여 검증되었다. 하지만 RSA의 안정성이 영원히 보장된다는 담보는 없다. 1993년 피터 쇼어는 쇼어 알고리듬을 발표하여 양자컴퓨터를 이용하여 임의의 양수를 다항시간안에 소수분해하는 방법을 발표하였다. 따라서 양자컴퓨터가 현실화되고 본격적으로 실용화되면 RSA 알고리듬은 자기의 가치를 잃게된다. 그러나 양자컴퓨터가 실지로 개발되고 실용화되려면 아직 상당한 기간이 걸릴것으로 보인다.