openssl 파일 암호화 & 복호화

in zyx •  7 years ago 

Awesome zyx > 코딩

암호화할 file.txt 파일을 준비합니다.

$ openssl enc -base64 -in file.txt -out file.txt.enc
$ openssl enc -base64 -d -in file.txt.enc -out file.txt.dec

file.txt 란 파일을 암호화한 결과를 file.txt.enc 로 출력합니다.
이어서 file.txt.enc 파일을 복호화한 결과를 file.txt.dec 로 출력합니다.
위 과정은 별도의 비밀번호 입력없이 암호화와 복호화를 진행합니다.

암호를 통한 암호화 & 복호화

$ openssl aes-256-cbc -in file.txt -out file.txt.enc
$ openssl aes-256-cbc -in file.txt.enc -out file.txt.dec

이전 예시와 달리 암호를 물어보는 과정이 포함되어 있습니다.

공개키 비밀키를 통한 암호화 & 복호화

암호화

// 랜덤암호 파일 생성
$ openssl rand 192 -out key

// 키 파일로 암호화
$ openssl aes-256-cbc -in secret.txt -out secret.txt.enc -pass file:key

// 공개키를 pkcs8 포맷으로 변환
$ ssh-keygen -e -f ~/.ssh/id_rsa.pub -m PKCS8 > ~/.ssh/id_rsa.pub.pkcs8

// 생성한 pkcs8 파일로 키 파일 암호화
$ openssl rsautl -encrypt -pubin -inkey ~/.ssh/id_rsa.pub.pkcs8 -in key -out key.enc

// 압축하기
$ tar -zcvf secret.tgz *.enc

복호화

// 압축풀기
$ tar -xzvf secret.tgz

// 비밀키로 키 파일 복호화
$ openssl rsautl -decrypt -ssl -inkey ~/.ssh/id_rsa -in key.enc -out key

// 키 파일로 복호화
$ openssl aes-256-cbc -d -in secret.txt.enc -out secret.txt -pass file:key

공개키로 암호화하고 비밀키로 복호화가 추가되었습니다.

참고

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!