커크호프의 원리

IT 위키
Kerckhoffs' Principle
암호 시스템의 안전성은 알고리즘의 비밀이 아니라 오직 키의 비밀에만 의존해야 한다는 원칙

1883년 네덜란드 출신 암호학자 아우구스트 케르크호프스(Auguste Kerckhoffs)가 제시했다. 공격자가 암호 알고리즘을 완전히 알고 있더라도 키가 없으면 복호화해 평문을 얻을 수 없어야 한다.

  • 설계를 숨겨서 안전을 얻으려는 방식(Security by Obscurity)을 부정한다.
  • 암호 알고리즘은 널리 공개해서 많은 암호학자의 검증을 거치는 과정을 통해 안전성을 인정받아야 한다.
  • 알고리즘이 노출되어도 키만 교체하면 계속 쓸 수 있다. 반대로 비밀 알고리즘은 한 번 노출되면 시스템 전체를 바꿔야 한다.
  • 현대 표준 암호는 모두 이 원칙을 따른다. AES, SEED, ARIA 는 알고리즘 명세가 전부 공개되어 있다.

섀넌의 격언

[편집 | 원본 편집]

클로드 섀넌(Claude Shannon)은 같은 취지를 다음과 같이 정리했다.

적은 시스템을 알고 있다 (The enemy knows the system)

같이 보기

[편집 | 원본 편집]