Security and Cryptography

suhan cho·2022년 4월 23일
0
post-custom-banner
  • 평문
  • 암호문
  • 암호화
    • 의미 알수없는 형식(암호문)으로 정보를 변환하는 것
  • 복호화
    • 암호화 과정의 역과정 암호 알고리즘에 의하여 암호문을 평문으로 바꾸는 과정
  • 암호기법
  • 암호해독

대칭 암호화

  • 평문
  • 암호화 알고리즘
  • 암호키
  • 암호문
  • 암호해독 알고리즘

암호화시 요구사항

  • 강력한 암호화 알고리즘이여야 한다.
  • 키가 예측 불가능 해야한다.

대칭 암호화시스템

  • Y = E(K,X) : k,x입력 y출력 (암호화 과정)
    • k = key, x = 평문
  • X = D(K,Y) 복호화 과정

3가지의 특징

  • 평문을 암호문으로 변환
    • 치환: a,b,c,d를 a->b로 치환 b->c로 치환 같은것
    • 전치: a,b,c,d를 b,c,d,a로 섞어서 보내는 것
  • 발신자와 수신자가 같은 키를 사용한다.
    • 대칭암호화기술, single-key, secret-key
  • 평문 처리되는 과정
    • block cipher : 많은 양의 데이터를 블럭단위로 잘라서 암호문으로 만드는것
    • stream cipher: 하나의 비트단위로 암호문 만드는 것

caesar cipher

  • 대칭암호기술 중 대표적인 치환암호기술 caesar cipher이 있다

  • 앞 3문자 a,b,c를 D,E,F로 치환

    • 위같은 경우는 C = E(P,3) key가 3이다

  • EX) 암호화시 key =3 (복호화시 key= -3)
    plaintext: kabsoonyee,
    ciphertext: NDEVRRQBHH

  • 수식으로 표현시

    • C = E(3,p) = (p+3)mod26 <- 26은 알파뱃 갯수, mod는 %연산(3mod26은 3%26 = 3 즉 d)
    • C = E(k,p) = (p+k)mod26, 1<=k<=25
    • C = D(3,C) = (C-3)mod26
      만약 b를 복호화 할때 (1-3)mod26은 모듈러 연산을 하여
      -2+26 = 24가 된다.

단점

  • 브로드포스를 사용하면 쉽게 알수 있어 보안에 취약

Monoalphabetic cipher

단일문자 암호기술이며 caesar의 키스페이스가 너무 작아 보안에 취약한 점을 보안

  • caesar은 대칭이동하였지만 단일문자 암호기술은 하나하나 다른 문자로 매핑되는 것 26!개이다
  • 빈도수를 이용해서 파악할 수 있다.

단점

  • 한문자를 하나의 문자로만 치환하여 쓰기에 한문자를 알면 그 문자는 고정적으로 알수있음
  • 빈도수측면에서 취약

Polyalphabetic cipher

  • 하나의 문자가 여러개의 문자로 바뀔수 있다.
  • key값은 일반적으로(다른것도) 평문보다 더 짧다
    길이 맞추려고 deceptive(key)를 늘림
  • 첫번째 보면 3(key)+ 22(plaintext) = 25
    25mod26이면 25가 나온다
  • 각각의 같은 평문 문자들을 암호문으로 바꿨을 때 다르게 표현 가능(빈도수 문제 해결)

단점

  • 키가 반복적으로 사용해서 암호화를 사용하기에 평문에서의 빈도 정보가 나올 수도 있다.(VTW)

해결

  • 키가 plaintext만큼 길면 된다.
    • 길이가 긴 랜덤한 키를 어떻게 만들건지
    • 송신과 수신 둘다 키를 알고 있어야하는데 긴 키를 어떻게 알려줄것인지

해독

Transposition Cipher

  • 순열(평문의 문자를 섞는 것)을 사용
profile
안녕하세요
post-custom-banner

0개의 댓글