시스템 보안 :: 1주차
시대별 암호화 방식
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 |
---|