CS
대칭키와 비대칭키(공개키)
DongSup
2022. 11. 13. 17:34
대칭키
- 암호화, 복호화에 사용하는 키가 동일한 암호화 방식
- Session Key, Secret Key, Shared Key 키라고도 불림
- 기밀성을 제공하나, 무결성/인증/부인방지 를 보장하지 않음
- 암호화방식에 속도가 빠름
- 대용량 Data 암호화에 적합
- 알고리즘 : SEED, DES, 3DES, AES, ARIA, ChaCha20
암호화, 복호화에 사용하는 키가 동일하기 때문에, 필수적으로 한번은 한쪽에서 다른 한쪽으로 키를 전송해야하는데
중간에 누군가 암호화 키를 가로챈다면 암호화된 정보가 유출될 수 있기에 아래와 같은 문제점이 존재함
- 키를 교환해야 하는 문제
- 탈취 관리 걱정
- 사람이 증가할수록 키관리의 어려움
- 확장성 떨어짐
이러한 단점를 보완한 것이 비대칭키
비대칭키(공개키)
- 암호화, 복호화에 사용하는 키가 서로 다른 암호화 방식
- 노출되면 안되는 개인키와 개방되어 있는 공개키를 쌍으로 이룬 형태
- 암호화방식에 속도가 느림
- 키분배가 필요없고 기밀성/인증/부인방지 기능 제공
- 알고리즘 : Diffie Hellman, RSA, DSA, ECC, PDA
- 송수신자 모두 한쌍의 키(개인키, 공개키)를 갖고있게 됨
- 공개키 : 모든사람이 접근 가능한 키
- 개인키 : 각 사용자만이 가지고 있는 키
- 방식
- 암호 모드 : 송신자 공개키로 암호화 -> 송신자 개인키로 복호화 소량의 메시지 암호화 목적, 주로 키 교환의 용도로 사용
- 인증 모드 : 송신자 개인키로 암호화 -> 송신자 공개키로 복호화 메시지를 인증(부인방지)하는 것이 목적임
공개키와 개인키로 각각 암호화 했을 때의 효과
- 공개키 암호화 : 공개키로 암호화를 하면 개인키로만 복호화할 수 있음 (개인키는 자신만 가지고 있으므로, 자신만 볼 수 있음)
- 개인키 암호화 : 개인키로 암호화하면 공개키로만 복호화할 수 있음 (공개키는 모두에게 공개되어 있으므로, 내가 인증한 정보임을 알려 신뢰성을 보장할 수 있음)
Reference Path
대칭키 vs 공개키(비대칭키)
대칭키 암호화 방식 : 암복호화에 사용하는 키가 동일함공개키 암호화 방식 : 암복호화에 사용하는 키가 서로 다르며 비대칭키 암호화라고도 함대표적 알고리즘 : DES, 3DES, AES, SEED, ARIA장점 : 암
velog.io
대칭키 / 비대칭키 양방향 암호화 기법
양방향 암호화 이전 글에서는 봤던 단방향 암호화 기법과 반대로... 대칭키와 비대칭키는 양방향 암호화 방식 이다. Hash를 사용한 단방향 암호화 방식과는 다르게 암호화된 암호문을 복호화할
myjamong.tistory.com