학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 188 · 실전 면접 답변

절대 깨지지 않는 완벽한 보안을 갖춘 암호 알고리즘이라는 것이 가능할까요?

이렇게 답해 보세요 (핵심 답변)

보안을 논할 때는 먼저 공격자의 능력(위협 모델)과 지키려는 성질(기밀성·무결성·인증)부터 정의해야 합니다. 평문만큼 긴 무작위 비밀 키를 단 한 번만 쓰는 일회용 패드(One-Time Pad)는 이론적인 완전 비밀성을 제공하지만 키 전달이 어렵고 메시지 변조(무결성)까지는 막지 못합니다. 따라서 실무 암호는 현실적인 계산 능력 안에서 안전하다는 계산적 안전성에 기반하며, 알고리즘뿐 아니라 키 관리·구현·프로토콜을 합친 시스템 전체로 보안을 다룹니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. 무한한 계산 자원을 가정하는 정보 이론적 안전성과 현실적 계산 한계를 가정하는 계산적 안전성은 전제 조건이 다릅니다.
  2. 내용을 숨기는 기밀성(암호화)과 암호문이 중간에 조작되었는지 검증하는 무결성(MAC, AEAD)은 별도로 챙겨야 하는 성질입니다.

면접에서 자주 하는 실수

'어떤 암호도 믿을 수 없다'는 극단적 단정과 '유명한 암호 알고리즘만 쓰면 시스템 전체가 완벽히 안전하다'는 단정을 모두 피해야 합니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 188번을 바탕으로 질문과 답변을 새로 정리했습니다.

← 알고리즘 · 자료구조