ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 대치 암호 (substitution cipher)와 덧셈 암호 (additive cipher)
    IT/정보 보안 2021. 2. 26. 13:19

     

     

     

     

     

     

    고전 대칭키 암호에는 대치 암호와 치환 암호, 이 두 가지가 있습니다

    이번에는 그중하나인 대치 암호와 대치 암호에 속해있는 단일문자 암호, 덧셈 암호에 대해서 알아보도록 하겠습니다.

     

     

     

     

    대치 암호(substitution cipher)는 평문의 기호를 다른 기호로 대체하는 암호입니다

    문자인 경우에는 다른 문자로, 숫자인 경우에는 다른 숫자로 대체합니다

    예를 들어볼까요?

    우리가 'Today' 라는 평문을 암호화한다고 해봅시다

     T → R

    o → j

    d→ u

    a → m

    y → s

     

    규칙없이 아무 문자로 대체하긴 했어도 Today가 Rjuiq으로 암호화되었습니다

    이런 식으로 평문의 문자에 다른 문자를 대체하여 암호화하는 것이 대치 암호입니다

     

     

     

    그러면 단일문자 암호는 무엇일까요?

    단일문자 암호(monoalphabetic ciphers)는 문자를 대체할 시 중복되는 문자는 항상 같은 문자로 대체됩니다

    이것도 예를 들어봅시다.

    이번에는 'Tomorrow'라는 단어를 암호화해봅시다

    이전에 했던 Today와는 달리 r이라는 중복 문자가 있죠?

    r은 암호화할 때 항상 같은 문자로 암호화됩니다

     

     

     

     

     

     

    이제 덧셈 암호에 대해서 알아봅시다

    덧셈 암호는 이동 암호(shift cipher) 또는 시저 암호(Caesar cipher)라고 부릅니다

    이름처럼 평문에 키를 덧셈하면 되는 암호지이지만 

    우선 우리가 알아야 될 표가 있습니다

     

    알파벳을 Z26의 원소로 나눈 표입니다

    평문과 암호문의 문자에 대응하는 숫자를 대입시킵니다

    우리가 하게 될 모든 연산은 Z26 안에서 이루어집니다

    즉 연산 후 숫자가 25 이상이 나오면 안 된다는 뜻입니다.

     

    그렇다면 연산을 하였더니 30이 나오면 어떻게 해야 할까요?

    z인 25까지 갔다가 다시 처음인 a로 돌아가서 남은 5만큼 가면 됩니다.

    그러면 30은 e가 되겠죠?

     

     

     

    이제 덧셈 암호에 대해 자세하게 알아봅시다

     

    평문 photo와 키 7이 있습니다

    이걸 덧셈 암호로 암호화해봅시다

    우선 위의 표를 보고 photo에 대응하는 숫자들을 찾아줍니다

     

    p → 15

    07

    14

    19

    14

     

    15 07 14 19 14가 나오게 됩니다

    여기에 키 7을 더해주면 

    22 14 21 26 21 이 나오게 됩니다

    이제 위 숫자에 대응하는 문자를 찾으면 암호화는 끝나게 됩니다

     

    22 → w

    14 → o

    21 → v

    00 → a

    21 → v

     

    photo가 wovav로 암호화된 걸 확인할 수 있습니다

     

     

     

    복호화는 반대로 암호문에 키의 값을 빼고 나온 값에 대응하는 문자를 찾아 적으면 됩니다

     

     

    암호문  vhytqo와

    키 16이 있습니다 

    이걸 복호화해봅시다

     

    우선 vhytqo에 대응하는 숫자를 적어줍시다

    21

    07

    24

    19

    16

    14

     

    21 07 24 19 16 14가 나오게 됩니다

    이렇게 나온 값에 키 값 16을 빼줍니다

     

    05 17 08 03 00 24가 나오게 되죠

    이제 이 숫자에 대응하는 문자를 표에 찾으면 복호화는 끝나게 됩니다

     

    05 → f

    17 → r

    08 → i

    03 → d

    00 → a

    24 → y

     

    평문 friday가 나오게 됩니다

     

     

     

     

     

     

     

     

     

     

    'IT > 정보 보안' 카테고리의 다른 글

    OWASP TOP10이란?  (0) 2022.01.01
    5x5 키 테이블을 사용하는 플레이페어 암호  (0) 2021.03.17
    기본적인 보안의 3요소  (0) 2021.02.22

    댓글

Designed by Tistory.