암호 해독 (Break)
암호 해독(break, 깨기)은 키 없이 암호문에서 정보를 얻어내거나, 설계 강도(전수 조사)보다 적은 노력으로 키를 복구하는 데 성공한 공격, 즉 암호를 깨는 것을 말합니다. 이런 공격이 하나라도 알려진 암호를 "깨졌다(broken)"고 표현하며, 영어로는 breaking이라고도 하고 암호를 깨려는 활동 전반은 codebreaking이라고 부릅니다. 정당한 키로 암호문을 푸는 '복호화'와는 다른 개념이며, 단순한 '파괴'라는 뜻도 아닙니다.
자세히 알아보기
암호의 안전성은 보통 "가능한 모든 키를 시도하는 전수 조사(브루트 포스)에 드는 노력"으로 정의됩니다. 예를 들어 128비트 키라면 최대 2<sup>128</sup>번의 시도가 필요합니다. 어떤 공격이 이보다 확실히 적은 계산량으로 키를 찾거나 평문 정보를 빼낼 수 있다면, 그 공격은 암호를 깬 것입니다. 따라서 "깨졌다"는 말이 반드시 실제 데이터가 노출됐다는 뜻은 아닙니다.
학계에서는 실제로 실행하기 어려운 공격이라도 이론적으로 전수 조사보다 빠르면 "깨짐"으로 봅니다. 이를 학술적 해독(academic break)이라고 하며, 실용적 해독(practical break)은 현실적인 비용과 시간 안에 실제로 수행할 수 있는 공격을 뜻합니다. 학술적 해독은 보통 실용적 공격의 전조로 받아들여져, 알고리즘 교체를 검토하는 신호가 됩니다.
깨짐의 정도도 단계로 나눕니다. 키 자체를 알아내는 완전 해독(total break)이 가장 심각하고, 키 없이도 모든 암호문을 해독할 수 있는 방법을 찾는 경우, 일부 암호문만 해독하는 경우가 그다음입니다. 가장 약한 형태는 암호문을 무작위 데이터와 구별할 수 있는 '구별 공격'인데, 이것만으로도 설계 결함의 신호로 여겨집니다. 부분적인 해독은 즉시 평문을 주지는 않지만 탐색 범위를 줄여 공격 비용을 낮춥니다.
해독은 공격자가 가진 정보에 따라서도 나뉩니다. 암호문만 가진 경우(암호문 단독 공격), 평문-암호문 쌍을 아는 경우(알려진 평문 공격), 원하는 평문을 암호화시킬 수 있는 경우(선택 평문 공격) 등입니다. 같은 암호라도 어떤 모델에서 깨졌는지가 중요하며, 현대 암호는 공격자에게 유리한 조건에서도 버티도록 설계됩니다.
대표적인 사례로 56비트 키의 DES는 1998년 전용 하드웨어로 며칠 만에 전수 조사되어 현재 안전하지 않습니다. 해시 함수 MD5와 SHA-1도 실제 충돌이 만들어져(SHA-1은 2017년 공개 사례) 서명·무결성 용도로 쓰면 안 됩니다. 현재는 AES-GCM, ChaCha20-Poly1305, SHA-256/SHA-3 같은 알고리즘이 권장되며, 이들에 대해서는 실용적인 공격이 알려져 있지 않습니다.
그래서 암호의 "강도"를 말할 때는 보통 비트 단위의 보안 수준으로 표현합니다. 128비트 보안이란 가장 좋은 알려진 공격도 약 2<sup>128</sup>번의 연산이 필요하다는 뜻입니다. 어떤 공격이 이를 2<sup>126</sup>으로 줄였다면 엄밀히는 해독이지만, 여전히 현실에서는 안전한 수준으로 평가됩니다.
역사 속 암호 해독
흔히 암호 해독이라고 하면 세계 대전 이야기를 떠올립니다. 당시에는 많은 비밀 시스템이 단어나 구절을 미리 정한 부호로 바꾸는 코드(code) 방식이었기 때문입니다. 1차 세계 대전 때 영국은 독일이 멕시코에 미국에 맞선 동맹을 제안한 짐머만 전보를 가로채 해독했습니다. 2차 세계 대전에서는 앨런 튜링을 포함한 블레츨리 파크의 전문가들이 독일 에니그마 암호를 해독했고, 미국은 일본 해군 코드를 해독해 미드웨이 해전에서 결정적인 승리를 거두었습니다.
오늘날 암호 해독은 전통적인 코드뿐 아니라 현대 암호 알고리즘까지 모든 비밀 시스템을 대상으로 합니다. 국가 안보, 수사 기관의 범죄 통신 분석, 고문서 해독 같은 역사 연구에 쓰이는 한편, 개인 정보 보호와 감시를 둘러싼 윤리 문제를 낳고 악의적인 정보 탈취에 오용될 수도 있습니다.
블록체인·암호화폐에서는
비트코인과 이더리움의 안전성은 SHA-256, Keccak-256 같은 해시 함수와 secp256k1 타원곡선 전자서명이 깨지지 않았다는 전제 위에 있으며, 이들은 현재까지 깨지지 않았습니다. 만약 타원곡선 이산로그 문제가 실용적으로 깨지면 공개 키로부터 개인 키를 계산할 수 있게 됩니다. 양자 컴퓨터가 타원곡선 암호를 깰 가능성 때문에 양자 내성 서명으로의 전환이 논의되는 이유도 이 때문입니다.
실제 자금 탈취는 대부분 알고리즘이 깨져서가 아니라 구현에서 발생했습니다. 난수 생성기 결함으로 서명 논스가 재사용되어 개인 키가 계산된 사례, 쉬운 문구로 만든 브레인 월릿이 사전 공격으로 자금을 탈취당한 사례가 대표적이며, 키 재사용과 구현 버그도 흔한 원인입니다.
쉽게 말하면
금고를 깬다는 것은 문을 부수는 것이 아니라, 번호를 하나씩 다 돌려보는 것보다 훨씬 빠른 지름길을 찾아내는 것입니다. 그런 요령을 찾았다면 아직 문을 열지 못했어도 그 금고는 약하다고 봅니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.