ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Crypto의 기본가정, 몇몇 알고리즘
    보안/컴퓨터보안 2019. 9. 14. 18:07

    Symmetric Encryption(대칭형 암호)의 구성 요소

    Symmetric Encryption : 암호화할때 키와 복호화할때 키가 같은 암호화 방식

    출처: 한빛미디어

     

    Crypto의 기본 가정

    • 시스템이 공개자에게 공개되어 있다.
    • 키는 비공개이다.
    • 알고리즘이 공개되어있다.

    =>Kerckhoff's Principle

     

    기본가정의 이유

    알고리즘의 비공개는 영원할수 없다. 그렇기때문에 사전에 약점이 발견되는것이 낫다.

    암호의 알고리즘은 일부러 공개하면 약점이 발견될수 있다. 그래서 보완할수 있다.

    어차피 알고리즘을 알더라도 를 모르면 복호화 할수 없다. 그렇기때문에 키와 알고리즘은 분리되어야 한다.

     

     

     

     

     

    Simple substitution (key: 3 => Caesar's cipher)

    key = 3일 경우

    알고리즘 : shift

    키(shift를 몇번했는지) : n=3

     

    Cipher text = VRRQJMDPP

    Plain text = soongjamm

     

     

    not-so-simple substitution

    3번이 아닌, n(1~25)번 shift하는 방법. key=n.

    n=7인 경우

     

     

     

    Cryptanalysis의 방법 1:Try them all. 

    A simple substitution이 사용되고 있을때(n번 shift), 키가 26개로 한정되어 있으므로 모든 키를 시도해본다.

    Exhaustive key search 혹은 brute force attack 라고 부른다.

     

    Least-­Simple Simple Substitution

    Simple substitution은 꼭 shift가 될 필요 없이, 아무 알파벳을 치환해서 사용할수 있다. 

    이럴 경우 2^88개의 키가 나올수 있다. 그리고 이 경우 Ciphertext를 외우는 수밖에 없다.

     

    Cryptanalysis의 방법 2:Be clever.

    shift방식이 아닌 simple substituion에서 2^88개의 키가 나오는데 모두 시도해볼수는 없다.

    그래서 자주 사용되는 알파벳 빈도 통계를 활용한다.

    하지만 어떻게 하는지 모르겠다.

     

     

    PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTFXQWAXBVCXQWAXFQJVWL
    EQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEV
    WLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTO
    GHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOT
    HPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHG
    FXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTOFFA 를 아래 통계를 이용해서 분석해라..?

     

     

     

     

    Vigener cipher

    Simple substituion에서 shift방식은 너무 쉽고, 규칙이 없는 방식은 외우기가 어렵다. 그래서 나온 방법이다.

    글자마다 시프팅하는 수가 달라지고, 메세지에 키를 더한다.

    알파벳을 숫자로 놓고 보았을때,

    C=3, W=23이므로 23+3 = 26(Z)   /  R=18, H=8이므로 8+18=26(Z)

     

     

    Double transposition

    행렬에 메세지를 집어넣고 행렬의 순서를 바꾼다. 

    키는 바뀐 행렬의 순서가 된다. 

     

     

    다음 포스트에서 계속 (One-time Pad)

    댓글

Designed by Tistory.