대칭키/비대칭키 암호화

대칭키 암호화 방식

- 암호화와 복호화 시 동일한 키를 사용

- 단일키

 

비대칭키 암호화 방식

- 암호화와 복호화 시 서로 다른 키를 사용

- 공개키, 개인키


대칭키 암호화

A(앨리스)가 B(밥)에게 문서 전송 

=> 이거 중요한 데이터니까 너만 봐~!

 

A는 암호화해서 데이터 전송 => 평문을 암호문으로

=> 대칭키 암호화 방식 중 DES3 사용

=> 안전성을 위해 salt 사용

=> P1.txt를 암호화해서 P2.bin 파일로 추출

=> cat으로 읽으면 암호화되어 읽을 수 없음

 

B는 복호화해서 데이터 읽음 => 암호문을 평문으로

=> 복호화를 위해 -d

=> 동일한 암호화 방식 사용 DES3

=> P2.bin를 복호화해서 P3.txt 파일로 추출

=> 암호화 시 비밀번호와 동일한 값 입력

 

**암호화할 때와 복호화할 때 동일한 패스워드를 사용하므로 대칭키 암호화 방식**


비대칭키 암호화

비대칭키 암호화 방식은 평문을 암호화할 때 쓰는 키(공개키)와 암호문을 복호화할 때 쓰는 키(개인키)가 서로 다름

Public Key = 공용키 = 공개가 되는 키

Private Key = 개인키 = 오직 발행 주체만 가지는 비밀키

1) 개인키 생성

=> 비대칭키 암호화 방식 중 유명한 RSA 사용

=> 키 길이도 중요! 권장사항 확인!

 

2) 공개키 생성

=> 방금 만든 개인키에 대한 공개키를 생성하는 것

=> private.pem에 대한 공개키 생성

=> 전화로 주고 받을 수 있는 것이 X

=> 이메일 전송, USB에 저장하는 등의 방법을 사용

=> B(밥)이 만든공개키를 A(앨리스)에게 전송

 

3) A(앨리스)는 평문을 공개키로 암호화

=> P1.txt를 암호화해서 P4.ssl 파일로 추출

=> B(밥)이 넘겨준 공개키를 이용하여 암호화

 

4) B(밥)는 암호문을 개인키로 복호화

 

**(네이버와 같이) 공개키를 배포해야할 대상이 여러명이면, 인증서를 통해 배포**