블록 암호 (Block Cipher)

정보보안학
한 줄 정의: 데이터를 고정된 크기의 블록 단위로 나누어 암호화하는 대칭키 암호 방식입니다.

쉽게 풀면

블록 암호는 긴 문서를 일정한 크기의 페이지로 잘라, 각 페이지를 같은 규칙으로 암호화하는 방식과 비슷합니다. 예를 들어 데이터를 128비트 단위로 잘라 매 조각마다 같은 암호화 절차를 반복 적용합니다. 조각의 크기가 딱 맞지 않으면 마지막 조각에는 빈 공간을 채워 넣는 과정이 필요합니다. 이렇게 일정한 단위로 처리하기 때문에 구현과 검증이 비교적 체계적입니다. 블록암호는 평문을 일정한 크기의 블록으로 나눈 뒤, 각 블록을 정해진 키를 이용한 여러 단계의 치환과 변환 과정을 거쳐 암호문 블록으로 바꾸는 암호화 방식입니다.

왜 중요한가

블록 암호는 파일 암호화, 디스크 암호화, 통신 보안 등 다양한 곳에서 기본 구성요소로 쓰이기 때문에 정보보안학에서 핵심적으로 연구됩니다. 블록을 연결하는 운용 모드에 따라 안전성과 성능이 크게 달라지므로, 다양한 모드의 특성을 분석하는 연구가 활발합니다. 특히 AES와 같은 표준 블록 암호의 안전성 분석은 오랜 기간 이어져 온 연구 주제입니다. 블록암호는 오늘날 대칭키암호의 주류를 이루는 방식으로, AES를 비롯한 대부분의 표준 암호 알고리즘이 블록암호 구조에 기반하고 있어 정보보안의 근간을 이루는 기술로 다뤄집니다.

논문에서는 이렇게 쓰입니다

"본 연구는 블록 암호의 CBC 운용 모드에서 발생할 수 있는 패딩 오라클 취약점을 분석하였다."

블록 암호 자체가 아니라 블록을 연결하는 운용 방식에서 발생하는 보안 문제를 다루고 있음을 보여줍니다.

"제안된 경량 블록 암호는 64비트 블록 크기를 사용하여 임베디드 환경에서의 연산 부담을 낮췄다."

자원이 제한된 환경을 고려해 블록 크기와 구조를 최적화한 설계 사례입니다.

조금 더 깊게 보면

블록 암호는 여러 라운드에 걸쳐 치환과 순열 연산을 반복하는 구조를 가지며, 대표적으로 페이스텔 구조와 SPN 구조가 사용됩니다. 실제 사용 시에는 ECB, CBC, CTR, GCM 등 다양한 운용 모드와 결합되며, 모드 선택에 따라 기밀성뿐 아니라 무결성 보장 여부도 달라집니다. 동일한 평문 블록이 항상 동일한 암호문 블록으로 변환되는 단순한 전자코드북 운용방식은 패턴이 그대로 노출되는 취약점이 있어, 이전 블록의 결과를 다음 블록 암호화에 연쇄적으로 반영하는 운용방식이 실무에서 대신 사용됩니다.

주의할 점

블록 암호 알고리즘 자체가 안전해도 운용 모드를 잘못 선택하면 패턴 노출이나 위변조 같은 취약점이 발생할 수 있습니다.

개념 계통

상위 개념

분야 전체 개념 지도 보기 →

관련 용어