[정보보안] 2. 암호의 역사

2021. 10. 25. 15:53Computer Sciences/Security

암호의 분류

암호는 일반적으로 대치 암호와 전치 암호로 구분할 수 있다.

대치 암호

  1. 1:1 대치 암호 - 시저 암호
  2. 간격 조정 대치 - 시저 암호 + 모듈려 연산
  3. 다중 치환 암호 - 바이젤이 제안한 cipher table

전치 암호

  1. 행렬 테이블 방식
  2. 키 조정 방식(순서)
  3. 확장 키 조정 방식(순서 + 간격)
  4. Nihilist 암호(순서 + 간격 + 방향)

암호의 종류

대치 암호

치환 암호라고도 부른다. 한 글자를 다른 글자로 대치시키는 암호 방식이다. 대표적으로 시저 암호가 있다.

시저 암호

암호의 시작으로 인정받는 암호이다. 줄리우스 시저가 만들었다. 평문의 숫자나 문자를 다른 숫자나 문자로 일대일 대응시켜 암호화하는 방식이다. 주로 영문자를 암호화할 때 사용하며 n만큼 시프트하여 대치시킨다.

  • 예를 들어 key=4라면, a → e, b → f, c → g 등으로 대치되는 것이다. z같은 경우 알파벳 개수인 26을 넘어가므로 (z + key) mod 26 한 문자로 대치한다.
  • 따라서 한 글자는 반드시 한 글자로만 대치된다는 단점이 있다.
  • 키 공간은 26이다.

단일 치환 암호

평문의 숫자나 문자를 아무런 순서와 상관없이 1:1 대응시켜 암호화하는 방식이다. 시저 암호의 경우 키만 알면 바로 해독이 되는 반면 이는 순서와 상관없기 때문에 복잡하다.

  • 26개의 문자를 순서에 상관없이 대치시키므로 26!의 키 공간을 갖는다.
  • 이 방식은 전수 공격으로 해독하기 힘들어 10세기까지 자주 사용됐으나 9세기 경 빈도분석법이 등장하여 해독이 쉬워졌다.
  • 빈도분석법은 자주 사용되는 단어, 알파벳 등 통계에 기반한 추측을 통해 해석하는 암호 해독 방법이다.

다중 치환 암호

단일 치환 암호의 빈도분석법 해독을 보완하기 위해 나온 암호 방식이다. 바이젤이 제안했으며 암호 테이블을 두고 그에 따라 문자를 대치시키는 방법이다. 이 암호 방식은 빈도분석법으로 해독할 수 없다.

바이젤 암호의 의의는 다음과 같다.

  1. 키가 처음 적용된 암호 방식이다.
  2. 빈도분석법으로 해독할 수 없다.
  • 단점으로는 키의 주기이다. 이러한 문제를 해결하기 위해 다른 암호 방식이 연구되었다(Playfair 암호, Hill 암호).

전치 암호

평문 문자의 순서를 어떤 특별한 절차에 따라 재배치하여 평문을 암호화하는 방식이다. 즉 문자의 위치를 변환하는 암호 방식이다.

사각형 전치 암호(테이블 방식 전치 암호)

  • 표준형 전치 암호
    • 평문을 일정한 N x M 크기의 테이블로 배열하고 암호문을 읽을 때 왼쪽 위에서 아래로 순서대로 읽어내려가며 전치하는 방법이다.
    • 예시
      • 평문 - OUR INFORSEC LAP HAVE A BEST STUDENT
      • 5x5 테이블로 전환
      • (0, 0) 부터 (5, 0), (0, 1)부터 (5, 1) 순으로 읽어내려간다.
      • 암호문 - OOAATURPBURSHEDIEASENCVTNFLEST
  • 열쇠식 사각형 전치 암호
    • 표준형에서 데이터를 끌어내는 방식에 있어서 키를 알파벳의 우선순위로 정해 암호문을 만들어 내는 방식
    • 표준 방식과 마찬가지로 N x M 테이블을 만들어 평문을 입력한다.
    • 사각형을 만들 때 N을 키의 문자 수와 같게 하고 키의 순번에 의해 암호문을 만든다.
    • 키는 같은 문자가 반복되면 안된다.
    • 예시
      • 평문 - WHAT KIND OF MOVIE DO YOU WANT TO SEE
      • 키 - study
      • 5글자이므로 5개의 행을 가진 테이블 생성그리고 키인 study를 테이블 왼쪽에 세로로 배치해서 알파벳 순서가 빠른 순서대로 행을 읽으면 된다. 즉 첫 번째로 읽을 행은 s, t, u, d, y 중 가장 빠른 알파벳인 d행 TOIOTE이다. 이 순서대로 암호문을 만들면 된다.
      • 암호문 - TOIOTEWIMDWOHNOOASADVYNEKFEUT
    • 전수 공격을 대비한 키의 적합성 검토를 하자면
      1. 알파벳 순서가 이어진 키를 사용하면 안된다 - STUDY
      2. 반복되는 알파벳이 있으면 안된다 - APPLE
  • 단순 전치 암호
    • 평문을 키의 순서에 따라 평문 배열을 바꾸는 암호화 방식이다. 먼저 평문 문장을 키의 길이와 같게 나누고 나눈 문자열을 키의 재배열 순서에 따라 재배치한다. 복호화는 그 반대 순서로 진행한다.
    • 예시
      • 평문 - information security
      • 키 - 6, 1→3, 2→5, 3→1, 4→6, 5→4, 6→2
      • inform ations ecurit y
      • 문자열을 361524 순서대로 바꾼다 → frimon
      • 암호문 - frimon inasot uietrc y
  • Nihilist 암호
    • Nihilist는 암호의 강도를 높이기 위해 2개의 키를 사용하자고 주장한 사람이다.
    • 행은 물론 열에 대해서도 전치시킨다.
    • 키 문자에 따라 먼저 행을 일정 간격으로 전치시키고 다시 키 문자의 순서에 따라 열을 일정 간격으로 전치시킨다. 대각선 방향으로도 가능하다.
    • 예시
      • 평문 - this is good for secure cipher
      • 키 - LEMON
      • 키가 5글자이므로 thisi sgood forse curec ipher로 자른다.
      • 그리고 알파벳 순서로 전치시킨다.
        • 21354 이므로 thisi → htiis, sgood → gsodo
      • 첫 번째 암호문 → htiis gsodo ofres ucrce pihre
      • 이를 테이블로 만든다.
      • 이제 열에 대해서 LEMON으로 순서를 다시 섞는다.
      • 최종 암호문 → tsfci hgoup iorrh sosee idecr(열 순으로 읽어내려가면 이렇게 나온다)
      • 섞은 뒤 행 단위로 읽을 수도 있고 대각선으로 읽을 수도 있다.
      • 따라서 하나의 테이블에서 여러 암호문으로 만들 수 있다.

'Computer Sciences > Security' 카테고리의 다른 글

[정보보안] 6. 현대 암호  (0) 2021.10.25
[정보보안] 5. 접근 제어  (0) 2021.10.25
[정보보안] 4. 난수  (0) 2021.10.25
[정보보안] 3. 그 외에 암호 방식  (0) 2021.10.25
[정보보안] 1. 정보보안 개념  (0) 2021.10.25