왜곡 (Garble)
왜곡(garble)은 데이터를 뒤섞어 알아볼 수 없게 만드는 것, 또는 그렇게 알아볼 수 없게 된 결과를 말합니다. 암호학에서는 복호화한 평문의 일부 또는 전체를 알아볼 수 없는 상태를 가리키며, 주로 잘못된 키 사용, 전송 오류, 공격 시도 등으로 발생합니다.
여러 사람을 거쳐 말을 전해 본 적이 있다면 쉽게 이해할 수 있습니다. 메시지가 전달되는 도중에 뒤섞여 엉망이 되는 것, 그것이 왜곡(garbling)입니다. 친구가 “공원에서 만나자”고 했는데 나쁜 전화 연결 때문에 “공항에서 만나자”로 들리는 것도 같은 현상입니다.
암호학에서 왜곡이 생기는 원인
올바른 키로만 풀리는 암호 메시지를 떠올려 보십시오. 복호화 과정이 어딘가에서 어긋나면 결과는 전혀 의미 없는 문자열이 됩니다.
- 잘못된 키: 옆집 사람의 열쇠로 현관문을 열려고 하는 것과 같습니다. 잘못된 복호화 키나 잘못된 설정(알고리즘, 초기화 벡터 등)을 쓰면 왜곡된 데이터가 나옵니다.
- 전송 오류: 잡음과 간섭으로 암호문의 일부 비트가 바뀌면, 암호 방식에 따라 복호화된 평문의 한 블록 전체나 그 뒤의 데이터까지 알아볼 수 없게 됩니다.
- 공격 시도: 악의적인 행위자가 전송 중인 암호문을 가로채 변경하면 복호화 결과가 왜곡될 수 있습니다.
왜곡된 정보는 조각이 빠진 퍼즐과 같아서, 원래 내용을 되찾기 어렵고 원인을 파악하기 위해 조사가 필요합니다.
왜곡은 보호 수단이 아닙니다
왜곡은 의도하지 않은 손상이나 실패의 결과이며, 정보를 숨기기 위한 암호화와는 다른 개념입니다. 암호문이 키 없이는 읽을 수 없는 것은 암호화 덕분이고, 왜곡은 그 암호문을 올바르게 복호화하지 못했을 때 생기는 현상입니다. 그래서 현대 암호 시스템은 왜곡된 평문을 그대로 내놓지 않도록 메시지 인증 코드(MAC)나 인증 암호화(예: AES-GCM)를 함께 써서, 암호문이 바뀌었거나 키가 틀렸으면 복호화 단계에서 오류로 거부합니다. 전송 오류는 부호화 이론의 오류 검출·정정 부호로 대비합니다.
별도 개념: 가블드 서킷
비슷한 이름의 가블드 서킷(garbled circuit)은 손상이 아니라 의도적으로 설계된 암호 기법입니다. 앤드루 야오(Andrew Yao)가 제안한 안전한 두 당사자 계산 방식으로, 한 사람이 계산할 논리 회로의 각 게이트를 암호화해 “뒤섞은” 회로를 만들고, 다른 사람이 이를 평가해 결과만 얻습니다. 두 사람은 서로의 입력값을 알지 못한 채 함수의 결과를 함께 계산할 수 있으며, 개인정보를 드러내지 않는 계산이나 다자간 계산(MPC) 연구의 기초가 되었습니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.