시스템 보안 :: 1주차

2017. 9. 30. 15:37

시대별 암호화 방식


1. 고대


1 - 1 스키테일 : 같은 굵기의 원통형 막대기를 나눠 갖고 종이를 감아 메시지를 적어 암호화

  ex) 내 자신에 대한 자신감을 잃으면 온 세상이 나의 적


1 - 2 시저암호 : 글자(알파벳)를 평행이동해서 암호화

 알파벳의 경우 25개의 경우의 수


1 - 3 단일 치환 암호 : 무작위의 순서의 치환표와 대응시켜 암호화

이는 평문 문자 빈도수를 참고해 쉽게 해석할 수 있다.


1 - 4 다중 치환 암호: 암호문에 나타나는 문자들의 빈도를 거의 균등하게 암호화 ( 비제네르 )

         알파벳 빈도수를 무력화


암호명

암호 알고리즘

스키테일 암호

원통형 막대기에 리본을 감은 다음 옆으로 메시지를 적는다.

원통형 막대기의 굵기

시저 암호

알파벳을 일정한 문자 수 만큼 평행 이동

평행이동한 문자의 수

단일 치환 암호

치환표를 이용해 다른 알파벳으로 치환

치환표

다중 치환 암호

평문에 키 단어를 조합

키 단어



전치암호, 문자들의 위치를 뒤섞어 만든 암호 ( 스키테일 )


치환 암호, 문자 자체를 바꿔 만든 암호 ( 시저 암호 , 단일 치환 암호, 다중 치환 암호)



전사공격 : 모든 사건을 일일이 대입


빈도분석 : 평문 출현 빈도를 이용해 분석 ( 빈도수를 균등하게 하는 비제네르에는 소용 없다)



키공간 : 키가 가질수 있는 경우의 수



2. 기계


이니그마, 1차 세계 대전 때 독일군이 썼던 암호 기계


3. 현대



1. 블록암호

2. 스트림암호


1. 블록 암호

- 고정된 크기 단위의 평문을 동일한 크기의 암호문으로 암호화, XOR


ECB 모드, Electric CodeBook mode(전자 부호표 모드)

  • XOR로 일정 단위만큼 암호화

  • 간단하면서 기밀성이 낮은모드, 암호문에 패턴이 나타나므로 빈도 분석을 통해 해독 기능


CBC 모드, Cipher Block Chaining mode(암호 블록 연쇄 모드)

  • 암호문 블록을 마치 체인처럼 연결시킴

  • 이전 암호화한 블록을 XOR을 한 후에 키를 통해 암호화를 실행해서 암호문 블록을 만듬

  • 첫번째 블록은 XOR를 할 키가 없기 때문에 초기화 벡터를 만듬. 이것은 수신자가 알아야함. 모든 사람이 알아도 상관 없다. 키가 중요


CTR 모드, CounTeR mode(카운터 모드)

  • 카운터를 키로 암호화시킨 후에, 그 값을 평문 블록에 XOR로 암호화시킴. 카운터는 1씩 증가

  • 카운터만 키로 암호화하기 때문에, 스트림 암호로 활용 가능


패딩, 일정 단위의 크기로 자르는데 마지막 부분은 일정 단위보다 작을 수 있다. 그런 경우 0으로 채우고 마지막 바이트에 패딩이 몇 바이트인지 정보를 넣는다.




2. 스트림 암호

- 입력되는 글자 하나하나를 암호화, XOR


XOR을 이용한 암호화와 복호화

  • 스트림 암호

  • 그림 mask, 2x2 그림의 키

  • 일회용 패드, 해독 불가능


'시스템보안' 카테고리의 다른 글

시스템 보안 :: 2주차  (0) 2017.09.30

+ Recent posts