최하위 비트 (Least Significant Bit, LSB)
최하위 비트(Least Significant Bit, LSB)는 이진수 표현에서 자릿값이 가장 낮은 비트로, 보통 가장 오른쪽 비트입니다. 반대로 자릿값이 가장 높은 비트는 최상위 비트(Most Significant Bit, MSB)라고 합니다.
예시
- 숫자 13은 이진법으로 1101입니다. 1×8 + 1×4 + 0×2 + 1×1 = 13이며, 맨 오른쪽의 1(자릿값 1)이 LSB입니다.
- LSB는 수가 홀수인지 짝수인지를 알려 줍니다. LSB가 1이면 홀수, 0이면 짝수입니다.
- LSB를 바꾸면 값이 정확히 1만큼 달라집니다. 13(1101)의 LSB를 0으로 바꾸면 12(1100)가 됩니다. 반면 MSB를 바꾸면 값이 크게 달라집니다.
- 비트에 번호를 붙일 때는 보통 LSB를 0번 비트로 부르며, 2의 보수로 나타낸 음수에서도 LSB는 그대로 홀짝을 나타냅니다.
여러 바이트로 이루어진 값을 메모리에 저장할 때는 가장 낮은 자리의 바이트를 먼저 두는 방식(리틀 엔디언)과 가장 높은 자리의 바이트를 먼저 두는 방식(빅 엔디언)이 있습니다. 이때 ‘가장 낮은 자리’라는 개념은 LSB와 같지만, 저장 순서에 따라 화면에 보이는 위치는 달라질 수 있습니다.
스테가노그래피
정보 은닉(스테가노그래피)에서는 LSB에 데이터를 숨기는 기법이 널리 쓰입니다.
- 디지털 이미지: 각 픽셀의 색상 값(예: 0~255)에서 LSB를 바꾸면 색이 1단계만 달라지므로 눈으로는 거의 구별할 수 없습니다. 이 비트들에 메시지를 한 비트씩 나누어 담습니다.
- 오디오 파일: 소리 샘플 값의 LSB는 진폭의 가장 작은 변화를 나타내므로, 이를 바꿔도 듣는 데 큰 영향이 없습니다.
다만 이 방식은 이미지를 압축하거나 크기를 바꾸면 숨긴 데이터가 쉽게 손상되고, 통계 분석으로 숨긴 흔적을 찾아낼 수 있다는 한계가 있습니다. 숨길 내용을 미리 암호화하지 않으면 발견되었을 때 그대로 읽힐 수 있습니다.
암호 분석에서의 LSB
암호 시스템이 복호화 결과의 LSB 하나만 새어 나가게 해도 위험할 수 있습니다. 교과서식 RSA에서 공격자가 임의의 암호문을 보내 복호화된 평문이 홀수인지 짝수인지(LSB)만 알려 주는 기능(LSB 오라클 또는 패리티 오라클)을 이용할 수 있다면, 암호문에 2e를 거듭 곱해 보내면서 평문의 범위를 절반씩 좁혀 결국 전체 평문을 복원할 수 있습니다. 실제로 RSA 평문의 LSB를 맞히는 것은 평문 전체를 구하는 것만큼 어렵다는 것이 증명되어 있는데, 이는 거꾸로 LSB가 새면 전체가 위험하다는 뜻입니다. 그래서 실무에서는 패딩 방식(OAEP)을 쓰고, 복호화 오류의 종류가 외부에 드러나지 않도록 구현합니다.
최하위 비트는 작아 보이지만, 데이터 표현과 정보 보안 분야에서 중요한 역할을 합니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.