# 최상위 비트 (Most Significant Bit, MSB)

최상위 비트(Most Significant Bit, MSB)는 다중 비트 이진수에서 가장 큰 자릿값을 갖는 비트입니다. 이는 일반적으로 가장 왼쪽에 있는 비트이거나, 상위 비트부터 보내는 방식에서 시퀀스의 가장 먼저 전송되는 비트입니다. 예를 들어, 이진수 1000에서 MSB는 1이고, 이진수 0111에서 MSB는 0입니다.

## MSB: 가장 큰 자리

n비트 이진수에서 MSB의 자릿값은 2^n−1입니다. 4비트 수라면 MSB 하나가 8을 나타내고, 나머지 세 비트를 모두 합해도 최대 7(4+2+1)에 그칩니다. 그래서 MSB는 이진 시퀀스에서 값의 크기를 가장 크게 좌우하는 정보를 담습니다.

## 값 디코딩

- 4비트 이진수 **1000**에서 MSB가 **1**이므로 이 숫자가 8 이상이라는 것을 즉시 알 수 있습니다. 여기서 ‘1’은 십진수로 2^3 = 8을 나타내기 때문입니다.
- 반대로 **0111**에서 MSB는 **0**입니다. 이는 뒤따르는 ‘1’에도 불구하고 전체 값(7)이 1000보다 작다는 것을 의미합니다.

## MSB가 중요한 이유

1. **크기 결정:** 같은 비트 수의 부호 없는 수에서 MSB가 ‘1’인 수는 MSB가 ‘0’인 어떤 수보다도 큽니다.
2. **부호 표현:** 2의 보수와 같은 부호 있는 숫자 표현에서 MSB는 부호 비트 역할을 하여 숫자가 양수(0)인지 음수(1)인지를 나타냅니다.
3. **암호화 및 보안:** 암호에서는 비밀 값의 상위 비트가 새어 나가는 것도 위험합니다. 예를 들어 ECDSA 서명에서 서명마다 쓰는 일회용 난수(nonce)의 상위 몇 비트가 반복적으로 노출되거나 치우치면, 여러 서명을 모아 격자(lattice) 기법으로 비밀키를 복구하는 공격이 알려져 있습니다.

## MSB 사용의 장점

- **부호의 쉬운 식별:** 부호 있는 정수에서 MSB 하나만 보고 숫자가 음수인지 바로 알 수 있습니다.
- **빠른 크기 추정:** MSB만 보고도 숫자의 크기를 대략 짐작할 수 있습니다. 부호 없는 수에서 MSB가 ‘1’이면 그 값은 표현 가능한 범위의 절반 이상입니다.
- **효율적인 비교:** 두 이진수를 비교할 때 MSB부터 차례로 검사하면 모든 비트를 확인할 필요 없이 처음으로 다른 비트에서 더 큰 값을 결정할 수 있습니다.

## MSB 사용의 단점

- **비트·바이트 순서 문제:** 데이터 전송 또는 저장 시 비트 순서와 바이트 순서(빅 엔디안 또는 리틀 엔디안)에 따라 어느 위치에 MSB가 놓이는지가 달라지며, 시스템이 순서에 동의하지 않으면 값이 잘못 해석되는 오류가 발생할 수 있습니다.
- **암호화의 취약성:** 구현이 비밀 값의 비트에 따라 실행 시간이나 전력 소모가 달라지면 사이드 채널 공격으로 상위 비트 정보가 새어 나갈 수 있으며, 위의 nonce 사례처럼 일부 비트의 유출만으로도 보안이 손상될 수 있습니다.

MSB는 데이터 표현부터 암호화 계산에 이르기까지 디지털 시스템 전반에서 쓰이는 기본 개념입니다.

---
출처: https://achivx.kr/glossary/most-significant-bit-msb-%EC%B5%9C%EC%83%81%EC%9C%84-%EB%B9%84%ED%8A%B8-msb/ · ACHIVX 용어 사전 · 수정일 2026-10-20
