- 이번에는 IT기술로 무언가를 만들때 필수적인 요소인 정보보호와 관련하여 그 중에서도 가장 중요하다고 할 수 있는 암호화와 관련된 프로그램을 파이썬으로 만들어 보겠습니다.
(본 블로그의 내용은 유튜브 동영상(파이썬 암호화 프로그램 만들기-1.소개편(making Encryption program byPython 1.intro))에서 더욱 자세히 보실 수 있습니다.)
암호화는 처음 접하시는 분들이 이해하기에는 상당히 어려움을 느낄 수 있으므로 최대한 암호화의 구조와 체계를 쉽게 이해하기 위하여 단계별로 쪼개서 몇 편으로 나누어 게시할 예정이며, 다음 편 부터 설명 드릴 주요 내용은 다음과 같습니다.
2.단방향 암호화 - 해시(Hash)
- 한번 암호화 한 후 다시 복호화가 불가능한 방식인 단방향(일방향) 암호화, 즉 해시(Hash)에 대하여 알아보고, 이를 파이썬 코드로 작성하여 쉽게 이해해 보겠습니다.
3.양방향 암호화 - 대칭키(비공개키) 방식
- 메시지를 암호화한 후 다시 암호화 할때 사용한 동일한 키를 사용하여 복호화하는 방식인 대칭키 암호화 방식에 대하여 알아보고, 이를 파이썬 코드로 작성하여 쉽게 이해해 보겠습니다.
4.양방향 암호화 - 비대칭키(공개키) 방식
- 메시지를 암호화한 후 암호화 할때 사용한 키와 다른 키(프라이빗키)를 사용하여 복호화하는 방식인 공개키 암호화 방식에 대하여 알아보고, 이를 파이썬 코드로 작성하여 쉽게 이해해 보겠습니다.
5.GUI/윈도우 암호화 프로그램 만들기
- 위의 기능들을 조합하여 실제 암호화 프로그램을 만들어 보겠습니다.
4.양방향 암호화 - 비대칭키(공개키) 방식
(1) 프로그램을 실행시키면 프로그램 내부적으로 1.키 생성, 2.퍼블릭키로 메시지를 암호화를 한 후, 3.프라이빗키로 암호화된 메시지를 복호화 합니다.
아래에서는 원본 메시지 'this is crypto'를 미리 생성된 퍼블릭키로 암호화하여 암호문( b'3\x01`\x83\xb8\x8f\x85\xdbQo\x10Oy\x00\xf5\x14\x08E\x1f\xa5B\xf0\x08/\xd2\x05\xc6\xce\xdb\xfd\xcb\x13o\xd0A$\x85@\xb1v1<\xcd\xdb>\xca2\x1f\xb9\x9a\xfdoH\\\x89\xebA0\xf4\x8e[\xa2\xc5\x08\x8e\x06\x02+\x0c\xe8\x90\x17\xb0\x05j9\xa06\xec\xc6\xe9\xb3\x1ds#\xfb\xe8K\xee\x16\xea\x8bo&\x1a\xfb\xae\'B\x02\xe9sP\x9e\x18J\x16{\x0b6\xf9WN\xf3\x7f|\xabDp\xcekK\x1f\x8c\xce\x85\x9c\xe0m\xb4\xef}\\RU\x88\x0b\xd5\x1a\xb8\x82\xab8\xbc\xc2\x18@RNn&\xd3\xf0\\\x1d\xb5)\xfb\x0c\xb6n\x17\x15kl.EC\xe3\x07\x05\xe8,\x13\xb6*\xad ,\xfc\x7f\xbej\xb2%\xc3\xb4\xad\xd4p\x1bj\xcf\xe3\xe4\x15\xa7Z\x9d\xe9"\xf1\xb7\xf2\xf3\x13\x16\x83\xf6\x99\xc1\x86\\&\xaf7\xa1B\xd9\xc7E\xa6\x82D\xefg8\xde\xaa\x83$\x10^\x1f3\xdb\xc8\xc6\xdd\x8b\x0f7\xa5Vxc\x1c4\x95\xbd\x16\xc5\xbe\x1b\xc3\xe4' )을 만들었고, 이후 이 암호문을 미리 생성한 프라이빗키로 복호화하여 원문과 동일 한 결과인 b'this is crypto' 을 만들어 냈습니다.
'파이썬 실습 > 암호화프로그램만들기' 카테고리의 다른 글
파이썬 GUI/윈도우 암호화 프로그램 만들기 - 4.복호화 처리 (0) | 2022.11.27 |
---|---|
파이썬 암호화 프로그램 만들기 - 4. 양방향 암호화 - 비대칭키(공개키) 방식 (5) | 2022.11.19 |
파이썬 암호화 프로그램 만들기 - 3. 양방향 암호화 - 대칭키(비공개키) 방식 (0) | 2022.11.18 |
파이썬 암호화 프로그램 만들기 - 2. 단방향 암호화 - 해시(Hash) (0) | 2022.11.17 |