평문을 암호화하고 복호화하는 경우 키를 사용할 수 있다. 이때, 암복호화에 사용하는 키가 동일한 경우 대칭키 암호화(Symmentric Key Cryptography)하고 하며, 암복호화에 사용하는 키가 서로 다른 경우를 비대칭키 암호화 혹은 공개키 암호화(Asymmetric Key Cryptography)라고 한다.
대칭키 암호화
- 비대칭키 암호화에 비해서 속도가 빠르다고 알려져 있다.
- 하지만, 대칭키를 교환하는 과정에서 탈취 위험성이 존재할 수 있다.
- 또한, 대칭키 암호화 방식에서는 각 통신 참여자 쌍마다 다른 키가 필요할수 있는데 이 경우 통신 대상이 많아질수록 대칭키의 수가 많아지므로 키 관리가 복잡해질 수 있다.
- DES, AES, SEED, ARIA
비대칭키 암호화
- 공개키와 개인키가 존재한다.
- 일반적으로 이 방식에는 송신자는 수신자의 공개키를 이용해 암호화를 수행하고, 암호화된 데이터는 수신자에게 전달된다.
- 수신자에게 전달된 이후, 수신자는 개인키를 사용해 복호화를 수행한다. 이 방식은 대칭키 암호화 방식에서 발생하는 키 교환 문제를 해결하지만, 상대적으로 대칭키 암호화에 비해 느린것이 단점이다.
- 개인키로 데이터를 암호화하고, 공개키로 복호화하는 경우도 존재하는데, 이러한 방식은 암호화를 수행한 자에 대한 검증이나 서명을 위한 용도로 사용된다.
- RAS, ECC
✨ HTTPS SSL/TLS 방식
대칭키와 비대칭키의 장점만을 살리기 위해 하이브리드 방식을 사용한다. 비대칭키로 대칭키를 교환하는 방식이다.
송신자(클라이언트) : 서버 공개키로 대칭키를 암호화
수신자(서버) : 본인 개인키로 복호화하면 대칭키를 얻을 수 있다!
이후 모든 통신은 대칭키로 진행한다.
'cs(with 매일메일)' 카테고리의 다른 글
| [251211목] 함수형 프로그래밍에 대해서 설명해주세요. (0) | 2026.01.12 |
|---|---|
| [251210수] 클래스풀 IP 주소 체계에 대해서 설명해주세요. (0) | 2026.01.12 |
| [251208월] 테스트 주도 개발이 무엇인가요? (0) | 2026.01.12 |
| [251205금] JVM에서 GC대상 객체를 판단하는 기준은 무엇인가요? (0) | 2026.01.12 |
| [251204목] 시스템 콜이란 무엇인가요? (0) | 2026.01.12 |