중간 블록 (Intermediate Block)

고급암호학수정일

중간 블록은 여러 층으로 이뤄진 블록 암호에서 한 층이 처리한 결과로 나와 다음 층의 입력으로 넘어가는 데이터 블록을 말합니다. 하드웨어 구현에서는 층 사이의 배선 자체가 중간 블록이 되기도 합니다. intermediate를 '중급(난이도)'으로 옮기면 안 되며, 여기서는 '중간(intermediate) 단계의 블록'이라는 뜻입니다.

자세히 알아보기

블록 암호는 대개 여러 단계를 거칩니다. 예를 들어 치환 층, 혼합 층, 다시 치환 층을 차례로 통과하거나, 같은 라운드 함수를 여러 번 반복합니다. 평문 블록이 첫 단계를 지나면 더 이상 평문도 최종 암호문도 아닌 값이 되는데, 이것이 중간 블록입니다. 반복형 암호에서는 각 라운드가 끝난 뒤의 값을 '중간 상태(state)'라고 부르는 것이 더 일반적입니다. AES의 128비트 상태 배열이 대표적입니다.

중간 블록은 외부에 공개되지 않는다는 점이 중요합니다. 공격자는 보통 평문과 암호문만 볼 수 있고, 중간 값은 볼 수 없습니다. 많은 암호 분석은 '중간 값의 일부 비트를 추측해 키 후보를 줄이는' 방식으로 이뤄지며, 중간 일치 공격(meet-in-the-middle)은 양쪽 끝에서 계산해 중간 값이 일치하는 지점을 찾아 키를 찾습니다. 이중 DES가 키 길이를 두 배로 늘려도 안전성이 거의 늘지 않는 이유가 바로 이 공격 때문이며, 그래서 3DES가 쓰였습니다.

하드웨어와 부채널 관점

전용 하드웨어로 구현된 계층형 암호에서는 각 층이 별도의 회로이고, 중간 블록은 층 사이를 잇는 배선 위의 신호로 존재합니다. 이 신호는 외부 핀으로 나오지 않지만, 칩의 전력 소비나 전자기 방출에는 흔적이 남을 수 있습니다. 부채널 공격은 이렇게 새어 나온 중간 값의 정보를 통해 키를 추정하므로, 보안 칩은 중간 값을 무작위 마스크로 가리는 등의 대응 기법을 씁니다.

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

하드웨어 지갑과 보안 칩(시큐어 엘리먼트)은 서명 연산과 저장 데이터 암호화 과정에서 생기는 중간 값이 밖으로 새지 않도록 설계됩니다. 과거 일부 하드웨어 지갑에서 보고된 전력 분석이나 오류 주입 공격은, 칩 내부의 중간 값을 관찰하거나 교란해 비밀 정보를 얻으려는 시도였습니다. 따라서 하드웨어 지갑을 고를 때는 펌웨어 업데이트와 보안 칩 인증 여부가 중요한 기준이 됩니다.

쉽게 말하면

공장 생산 라인에서 한 공정을 마치고 다음 공정으로 넘어가는 반제품과 같습니다. 완성품도 원재료도 아니며, 공장 밖에서는 보이지 않아야 합니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.