공개키, 비공개키, 전자서명 그게뭐야?
공개키와 비공개키란?
공개키 암호화 방식 (비대칭키)
A가 공개키를 만들어 공개해 두면, 누구나 그 키로 A에게 보낼 메시지를 암호화할 수 있다.
사용자 B가 A의 공개키로 데이터를 암호화해 보내면, A는 자신만 가지고 있는 개인키로 복호화해 내용을 확인할 수 있다.
이 방식은 보안성이 높고 키 관리가 쉬우나, 암호화/복호화 속도가 느리다.
대표적인 알고리즘: RSA
비공개키 암호화 방식 (대칭키)
A와 B가 같은 키(비밀키)를 사전에 안전하게 공유해 둔 경우,
B가 데이터를 암호화하면 A도 같은 키로 복호화할 수 있다.
이 방식은 암호화 속도가 빠르지만, 키 유출 위험이 있어 키 관리가 중요하다.
대표적인 알고리즘: AES
※ 혼동 주의: AES는 대칭키 암호화 방식, RSA는 비대칭키 암호화 방식입니다.
SHA는 암호화가 아닌 해시 함수로, 전자서명에서 사용되며 암호화 자체를 수행하지 않습니다.
전자서명이란?
전자서명은 데이터를 암호화하려는 목적이 아닌,
보낸 사람의 신원 확인(인증)과 내용의 변조 여부 확인(무결성)을 위해 사용된다.
예를 들어, A가 B에게 데이터를 보낼 때,
A는 자신의 개인키로 데이터의 해시값(요약정보)을 서명하고, 이 서명과 함께 데이터를 전송한다.
B는 A의 공개키로 서명을 검증함으로써,
이 데이터가 A가 보낸 것이며, 중간에 위변조되지 않았음을 확인할 수 있다.
전자서명에서 주로 사용되는 알고리즘 조합은 다음과 같다:
해시 함수 (SHA-256 등): 데이터 요약을 위해 사용
비대칭키 암호화 (RSA, ECDSA 등): 서명 생성 및 검증에 사용
각 사용예시는 아래 클릭