파이썬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())
'Python 활용' 카테고리의 다른 글
윈도우에서 파이썬 Numpy와 Matplotlib 모듈 설치 (0) | 2017.11.24 |
---|---|
파이썬3 RSA 파일 암호화와 복호화 예제 (0) | 2017.10.20 |
파이썬3 문자열 암호화 복호화 DES 예제 (0) | 2017.10.17 |
파이썬3 해시값 구하여 출력하는 예제 (0) | 2017.10.17 |
윈도우에서 Python 2.7 Crypto 설치하기 (0) | 2017.10.17 |