[Linux] OpenSSL을 이용한 간단한 파일 암복호화

pikamon·2023년 2월 6일
0

Linux

목록 보기
2/7

암호 키를 이용한 파일 암복호화 방법이 필요해서 알아본 후에 테스트해보고 정리하였다.

OpenSSL을 이용한 파일 암복호화

대칭키와 비대칭키를 이용한 아주 간단한 방법을 정리하였다.

1. RSA를 이용

비대칭키를 이용한 방법은 아래와 같다.

  1. 개인키 생성
openssl genrsa -out rsa_privkey.pem 1024
  1. 개인키를 이용해 공개키 생성
openssl rsa -in rsa_privkey.pem -out rsa_pubkey.pem -pubout
  1. 샘플 파일 생성
echo "Hello world!" > test.txt
  1. 암호화 전 파일 내용 확인
cat test.txt

> Hello world!
  1. 공개키로 파일 암호화
openssl pkeyutl -encrypt -inkey rsa_pubkey.pem -pubin -in ./test.txt -out ./test_enc.txt
  1. 암호화 후 파일 내용 확인
cat test_enc.txt

> ▒p+|▒s▒`▒ͼS▒/ܶ_u▒▒▒▒!▒O▒▒▒4W▒▒▒U▒e#h▒e▒▒$*▒▒▒▒ӂjJ▒▒▒▒.▒▒LuEe▒▒G▒+▒▒4.▒I▒▒ k▒▒E▒▒X▒P▒▒v▒▒▒▒!▒▒N▒▒*▒j'▒▒▒▒▒2▒M
  1. 개인키로 파일 복호화
openssl pkeyutl -decrypt -inkey rsa_privkey.pem -in ./test_enc.txt -out ./test_dec.txt

8.복호화 후 파일 내용 확인

cat test_dec.txt

> Hello world!

텍스트 파일이 암복호화를 거쳐 원래의 파일로 복원되는 것을 볼 수 있다.

2. DES를 이용

대칭키를 이용한 방법은 아래와 같다.

  1. 대칭키 생성 (passphrase 입력 필요)
openssl genrsa -des3 -out des_key.pem
  1. 샘플 파일 생성
echo "Hello world!" > test.txt
  1. 암호화 전 파일 내용 확인
cat test.txt

> Hello world!
  1. 대칭키로 파일 암호화 (passphrase 입력 필요)
openssl pkeyutl -encrypt -inkey des_key.pem -in ./test.txt -out ./test_enc.txt
  1. 암호화 후 파일 내용 확인
cat test_enc.txt

>
[-N
▒▒▒▒▒W;▒▒▒!▒▒▒RX▒(̘Լ▒▒¥▒▒a▒]▒▒▒▒w▒H▒>c▒J▒▒▒▒j▒.F▒{▒▒\?Ѱ▒▒▒▒F▒▒%H▒T|▒4▒▒[z▒▒▒▒-˴/▒▒▒-ȑ5zb▒X▒y*t▒▒:▒x▒1+ط▒▒▒=▒5▒u▒*u▒n▒Q▒tڳ▒^u▒▒Qiϒ▒
▒▒Ώ▒▒<▒▒t▒!▒▒?m2▒$t▒▒▒  |%0▒\▒▒
5▒▒pP▒d%L
O▒▒u▒▒!▒޸▒Y▒е▒▒▒I▒▒▒w▒▒e▒▒▒ҽ▒▒▒6_▒
  1. 대칭키로 파일 복호화 (passphrase 입력 필요)
openssl pkeyutl -decrypt -inkey des_key.pem -in ./test_enc.txt -out ./test_dec.txt

7.복호화 후 파일 내용 확인

cat test_dec.txt

> Hello world!

텍스트 파일이 암복호화를 거쳐 원래의 파일로 복원되는 것을 볼 수 있다.

profile
개발자입니당 *^^* 깃허브 https://github.com/pikamonvvs

0개의 댓글