방법 1

개인키 파일과 공개키 파일을 만들어서 공개키로 글자를 암호화 하고 개인키로 해제 하는 방식입니다.

 

공개키를 공유해서 다른 사람과 암호 해제를 하도록 허용 할 수 있으며, 개인키를 분실하지 않는 이상 암호관련해서는 강력하게 보안이 되는 방식입니다.

 

  1. 파이썬에서 rsa를 설치 합니다. 
    • pip install rsa  
    • pip install base64
  2. 파일 생성을 원하는 폴더를 열고 Git Bash Here를 선택합니다.
    1.  
  3. 먼저 개인키를 생성합니다.
    • openssl genrsa -out private.pem 4096
  4. 개인키를 이용하여 공개키를 생성합니다.
    • openssl rsa -in private.pem -out public.pem -pubout
  5. 글자 암호화 하기
    1. import base64
      import rsa 
      
      def encryptionMsg(encrypt_msg):
          msg = encrypt_msg.encode('utf-8')
          keyType = 'public.pem' 
          public_key_bytes = open(keyType, 'rb').read()
          public_key = rsa.PublicKey.load_pkcs1_openssl_pem(keyfile=public_key_bytes) 
          encrypted_bytes = rsa.encrypt(msg, public_key) 
          encrypted_msg = base64.b64encode(encrypted_bytes).decode('utf-8')
          return encrypted_msg
  6. 글자 복호화 하기
    1. def decryptionMsg(encrypted_msg):
          encoded_msg = base64.b64decode(encrypted_msg) 
          keyType = 'private.pem'
          private_key_bytes = open(keyType, 'rb').read()
          private_key = rsa.PrivateKey.load_pkcs1(keyfile=private_key_bytes)
          msg = rsa.decrypt(encoded_msg, private_key).decode('utf-8')
          return msg

 

 

+ Recent posts