3. 암호학

    1. 환자암호 (Substitution Cipher)


    1.1 Playfair 암호

    Wheatstone 과 Playfair에 의해 개발됨


    두 글자씩 끊어서 암호화하는 방식


    cf ) 만약 홀수이면 맨 마지막에 아무 영단어를 집어넣는다.

    cf ) 만약 같은 글자가 반복되어 나왔다면 그 글자 사이에 아무 영단어를 집어넣는다.


    5*5의 25칸의 행렬을 만든 뒤 키를 순서대로 넣는다.

    만약 Key = float


     F

     L

     O

     A

     T

     B

     C

    D

    E

    G

    H

    I

    K

    M

    N

    P

    Q

    R

    S

    U

    V

    W

    X

    Y

    Z


    키 값을 맨 앞에 입력해주고 A ~ Z 순서대로 넣어준다. 하지만 영단어는 26글자 이므로 I / J는 같은 곳에 넣는다.


    그리고 다음과 같은 방식으로 암호화 하면 된다.


    1.    두 글자가 같은 가로줄에 있다.

    -> 가로 다음글자 (만약 BC이라면 CD)

    2.    두 글자가 같은 세로줄에 있다.

    -> 세로 다음글자(만약 DR이라면 KX)

    3.    두 글자가 모두 다른줄에 있다.

    -> 사각형을 만들고 그 꼭짓점(만약 FR이라면 OP)



    2. 전치암호 (Transposition Cipher)


    전치란?

    평문의 글자 위치를 바꾼것 (재배치)


    종류

    -Scytale 암호 - 가장 오래된 암호로써 종이를 봉에감고 글씨를 세로로 썼다.

    - 단순전치 암호

    - Nihilist 암호


    1.1 단순 전치 암호


    일정간격으로 나눈 문자를 키의 재배열 순서에 따라 재배치한것.


    KEY = 351642

    M = INFORM


    12345 6

    INFORM

    35164 2

    FRIMON


    복호화할때는 키를 유추하여 계산해야한다.


    123456

    351642


    361524


    이렇게 복호화 키가 유추된다.


    그리고 복호화해보자

    12345 6

    FRIMON

    36152 4


    INFORM


    1.2 Nihlist 암호


    - 암호의 강도를 높이기 위해 사용된다.

    - 행과 열에 대해 모두 전치하는 것을 이야기한다.


    K = CAN

    M = Your Books


    우선 키를 행과 열에 적어본다. 그리고 알파벳 순으로 표에 순서를 지정해본다

    그리고 세글자씩 나누어 행단위로 넣는다.

    you rbo oks


     

    C(2)

    A(1)

    N(3)

    C(2)

    o

    y

    u

    A(1)

    b

    r

    o

    N(3)

    k

    o

    s



    그 후 행의 순서에 따라 값을 꺼내온다.


    bro oru kos


    복호화의 순서는 반대로 진행하면 된다.


    3. 적 암호(Product Cipher)


    암호의 강도를 높이기 위하여 여러 암호를 섞어 사용된다.

    - ADFGVX

    - Feistel

    - DES( Data Encryption Standard)

    - Rijadael

    - SEED

    ' > 암호학' 카테고리의 다른 글

    6. 암호학  (0) 2017.09.26
    5. 암호학  (0) 2017.09.24
    4. 암호학  (0) 2017.09.17
    2. 암호학  (0) 2017.09.02
    1. 암호학  (0) 2017.08.26
    Posted by Config