반응형

파이썬3, RSA 공개키 비밀키 생성하여 파일에 저장하기

글. 오상문 sualchi@daum.net

 

RSA 방식으로 데이터를 암호화할 때, public(공개) / private(비밀) RSA 키 쌍을 만들어야 한다. 

 

먼저 Crypto.PublicKey에서 RSA를 import한다. 기본 키코드를 만들고 2048비트 크기의 RSA 키를 얻어낸다.

이제 키 객체의 exportKey 메소드를 이용하여 비밀 키(PKCS 표준)를 만든 후 파일에 저장한다.

 

encrypted_key = key.exportKey(passphrase=code, pkcs=8,  protection="scryptAndAES128-CBC")

 

그리고 만들어진 키를 파일에 저장한다.

 

RSA 키 객체의 publickey, exportKey 메소드로 공개 키를 만들고 파일에 저장한다.

 

다음 예제는 그 방법을 보여준다.

 

from Crypto.PublicKey import RSA

 

code = 'nooneknows'   # 기초 키 코드

key = RSA.generate(2048)  # RSA 키 객체 생성

 

# 암호화 키 생성
encrypted_key = key.exportKey(passphrase=code, pkcs=8, protection="scryptAndAES128-CBC")

 

# 비밀키 만들고 파일에 저장한다. 저장할 폴더는 미리 생성하자.
with open('c:/private_key/private_rsa_key.pem', 'wb') as f:
    f.write(encrypted_key)

 

# 공개키 만들고 파일에 저장한다. 저장할 폴더는 미리 생성하자.
with open('c:/public_key/rsa_public.pem', 'wb') as f:
    f.write(key.publickey().exportKey())

 
<이상>

 

 

반응형

+ Recent posts