📖 용어 🇰🇷 쉽게 설명 🔰 초보

🔐 대칭키 암호화 Symmetric Key Cryptography

비밀 키 하나가 두 가지 일을 다 해요. 메시지를 잠그는(암호화) 것도, 여는(복호화) 것도 같은 키로 합니다. 보내는 쪽과 받는 쪽이 반드시 동일한 키를 가져야 해서 '비밀키 암호화'라고도 불려요.

💡
흔한 오해 — 비트코인이 이 방식으로 암호화되어 있다? 아니에요! 비트코인 블록체인은 데이터를 암호화하지 않아요. 코인 소유권은 디지털 서명으로 증명합니다. 대칭키 암호화는 주로 지갑 백업 파일을 비밀번호로 잠글 때 등장해요.
🔑 하나의 공유 키 📩 평문 읽을 수 있는 메시지 🔒 잠금 🔒 암호문 뒤죽박죽 📩 평문 다시 읽을 수 있어요 🔓 해제 🔒 암호문 뒤죽박죽 같은 암호 데이터가 전송됨
🔑 하나의 공유 키가 중앙에서 양쪽을 담당합니다: 왼쪽에서는 🔒 잠금으로 📩 평문을 암호문으로 만들고, 오른쪽에서는 같은 키가 🔓 해제해 다시 📩 평문으로 돌려놓아요. 키 하나로, 양방향!

🔑 핵심만 보면 — 키 하나로 잠그고 열기

열쇠 하나짜리 자물쇠를 상상해 보세요. 그 열쇠를 가진 사람은 누구나 잠글 수도, 열 수도 있어요. 대칭키 암호화가 딱 이 구조입니다. 읽을 수 있는 메시지(평문)를 암호 알고리즘(cipher)과 키에 넣으면 암호문이 나와요. 알아볼 수 없는 뒤죽박죽 데이터죠. 암호문에 같은 키를 다시 넣으면 원래 메시지가 돌아와요. 잠금 자체는 단단합니다. 까다로운 건 그 열쇠 복사본을 상대방에게 안전하게 건네는 것이에요.

🧱 암호화 방식 두 가지: 블록 vs 스트림

대칭키 암호는 크게 두 계열로 나뉩니다. 블록 암호는 데이터를 고정 크기 덩어리(예: 128비트 블록)로 잘라 한 덩어리씩 암호화해요. 스트림 암호는 데이터를 비트 단위로 흘러가면서 암호화합니다. 가장 유명한 예는 AES(고급 암호화 표준)예요. 128·192·256비트 키를 지원하는 블록 암호로, AES-256은 현재 최고 수준의 안전성으로 평가받으며 거의 모든 곳에 쓰입니다.

🛡️ 키가 길수록 왜 더 안전한가요?

키 길이공격자 입장에서의 의미
🔢 128비트모든 가능한 키를 무작위 대입으로 시도하면 일반 컴퓨터로 수십억 년이 걸려요
➕ 1비트 추가될 때마다필요한 시도 횟수가 대략 두 배로 늘어나 난이도가 기하급수적으로 올라가요
🔒 256비트(AES-256)매우 안전한 것으로 평가받으며 하드웨어·메시징 앱·디스크 암호화에 쓰여요

📊 여기서 안전성은 알고리즘을 숨겨서 오는 게 아니에요. 암호 알고리즘은 공개되어 있고, 안전성은 키 공간이 너무 방대해서 탐색이 불가능하다는 데서 나옵니다.

📦 단점: 키를 상대방에게 어떻게 전달하나?

가장 큰 약점은 키 배포 문제예요. 두 사람이 똑같은 비밀 키를 가져야 하는데, 그걸 인터넷으로 보내다가 누군가가 중간에 복사하면 끝입니다. 이 문제를 해결하기 위해 공개키 암호화가 탄생했어요. 실제로는 두 방식을 함께 씁니다. 공개키 암호화로 공유 키를 안전하게 교환하고, 그 키로 빠른 대칭키 암호화가 실제 데이터를 암호화하는 식이에요.

🌐 실생활에서 어디서 만나냐면

  • 🔒 모든 HTTPS 사이트 — 브라우저가 보안 세션을 맺고 나면 AES가 주고받는 페이지 데이터를 암호화해요
  • 💬 암호화 채팅 — 메시징 앱이 실제 메시지를 뒤섞는 데 대칭 암호화를 써요
  • 💾 디스크·클라우드 암호화 — 비밀번호에서 유도한 대칭키로 파일을 잠가요
  • 👛 지갑 백업 — 비밀번호로 지갑 파일이나 시드 백업을 잠글 때 대칭키 암호화가 그 역할을 해요

⚠️ 암호화암호학 전체를 혼동하지 마세요. 암호화는 데이터를 숨기는 것이고, 해싱이나 디지털 서명은 데이터를 숨기지 않는 별개의 도구예요.

❓ 자주 묻는 질문

비트코인 블록체인은 대칭키 암호화로 데이터를 숨기나요?
아니요. 비트코인 블록체인은 데이터를 아예 암호화하지 않아요. 의도적으로 공개되어 있고, 코인 소유권 증명과 전송 승인은 디지털 서명(ECDSA)으로 처리합니다. 대칭키 암호화는 지갑 레이어에서 등장해요. 예를 들어 비밀번호로 지갑 백업 파일을 잠글 때 쓰입니다.
더 빠른데 왜 대칭키 암호화만 쓰지 않나요?
키 배포 문제 때문이에요. 양쪽이 똑같은 비밀 키를 가져야 하는데, 그 키를 인터넷으로 안전하게 전달하기가 어렵습니다. 흔한 해결책은 하이브리드 방식이에요. 공개키 암호화로 공유 키를 안전하게 교환한 뒤, 빠른 대칭키 암호화로 실제 데이터를 암호화합니다.
128비트 키면 충분히 안전한가요?
현재는 충분합니다. 일반 컴퓨터로 128비트 키를 무작위 대입으로 뚫으려면 수십억 년이 걸려요. 키 길이가 1비트 늘 때마다 필요한 시도 횟수가 대략 두 배가 됩니다. AES-256은 매우 안전한 것으로 평가받으며 메시징 앱·디스크 암호화·클라우드 스토리지 등에 폭넓게 쓰입니다.

🔗 관련 용어·코인