# 부호어 (Code Word)

부호어(코드워드, Code word)는 어떤 부호(코드)에 속하는 유효한 기호열 하나를 말합니다. 오류 검출·정정 부호에서는 원래 메시지에 검사용 기호를 덧붙여 만든 결과가 부호어이고, 고전적인 암호 코드에서는 코드북에서 단어나 구절 하나를 대신하는 기호 묶음이 부호어입니다.

## 자세히 알아보기

부호 이론에서 부호는 가능한 모든 기호열 가운데 규칙에 맞는 일부만 모은 집합입니다. 길이 n의 이진 기호열은 2^n개지만, 그중 k비트 메시지에 대응하는 2^k개만 부호어로 씁니다. 나머지 기호열이 "빈자리"로 남기 때문에, 전송 중 오류가 생겨 부호어가 아닌 기호열이 수신되면 오류를 알아챌 수 있습니다.

부호의 능력은 부호어 사이의 최소 해밍 거리 d로 결정됩니다. 최소 거리가 d이면 최대 d−1개의 오류를 검출할 수 있고, ⌊(d−1)/2⌋개의 오류를 정정할 수 있습니다. 예를 들어 해밍(7,4) 부호는 4비트 메시지를 7비트 부호어로 바꾸며 최소 거리가 3이라 1비트 오류를 정정합니다.

암호학의 "코드"에서는 의미 단위를 통째로 바꿉니다. 코드북에 "공격 개시 = 7391"처럼 적어 두면 7391이 하나의 부호어입니다. 이는 글자나 비트 단위로 변환하는 사이퍼(cipher)와 구분되는 개념입니다.

부호를 설계할 때는 부호율(k/n)과 정정 능력 사이에서 균형을 잡습니다. 검사 기호를 많이 붙일수록 오류를 더 잘 고칠 수 있지만, 같은 대역폭으로 보낼 수 있는 실제 정보는 줄어듭니다. QR 코드, CD·DVD, 위성 통신에 쓰이는 리드-솔로몬 부호도 이런 원리로 만든 부호어를 사용합니다.

## 블록체인·암호화폐에서는

비트코인의 Bech32 주소(bc1…) 끝부분 6글자는 BCH 부호 기반 체크섬으로, 주소 전체가 하나의 부호어가 되도록 설계되었습니다. BIP-173에 따르면 이 체크섬은 최대 4글자까지의 오류를 확실히 검출합니다. 이더리움 주소의 대소문자 체크섬(EIP-55)과 니모닉 문구의 마지막 단어에 포함된 체크섬 비트도 같은 "오류 검출" 목적이지만, 이들은 부호 이론의 정정 부호가 아니라 해시 기반 검사입니다.

참고로 니모닉(시드) 문구를 "코드워드"라고 부르는 것은 잘못된 용법입니다.

## 쉽게 말하면

부호어는 "정해진 철자법에 맞는 단어"입니다. 철자법에 없는 단어가 보이면 오타가 났다는 것을 바로 알 수 있습니다.

## 예시

반복 부호 {000, 111}에서 부호어는 000과 111 두 개뿐입니다. 010을 받으면 오류가 있음을 알고, 더 가까운 000으로 정정합니다.

---
출처: https://achivx.kr/glossary/code-word-%EC%95%94%ED%98%B8-%EB%8B%A8%EC%96%B4/ · ACHIVX 용어 사전 · 수정일 2026-10-20
