암호

암호 - Part 1

slcry 2022. 12. 7. 17:43

1장 암호의 개념과 고전 암호

 

1. 암호의 개념
2. 암호 용어
3. 암호 원리
4. 고전적 암호 기술

 

 

1. 암호의 개념
 - 통신 당사자들끼리만 아는 비밀스런 신호나 부호
 - 암호화와 복호화하기 위한 원리, 수단, 방법 등을 취급하는 기술이나 과학

 

2. 암호 용어

* 요즘 암호송수신에 쓰는 알고리즘은 둘다 같다.(검증하기 힘들기 때문) *

* 송수신자가 키를 가지고 있는데 둘다 같은 키를 쓰면 대칭키 암호 시스템 다르면 공개키 암호 시스템이라 한다. * 

* 송수신자의 암복호화 키 교환을 하는데 상당히 심각한 문제이다. 현재는 암호화 키 + 공개 키 로 뿌려서 공개키를 사용후

다시 보내달라 한다. *

* 정수론 책 사서 3일간 공부하기 *

 

3. 암호 원리
평문을 암호화하기 위한 연산자의 유형
 - 치환 (Substitution) : 평문의 각 원소를 다른 원소로 사상
 - 전치 (Transpostion) : 평문의 각 원소를 재배열
 - 혼합 (Confusion) : 평문의 원소를 치환 선택(bit)
 - 확산 (Duffusion) : 평문의 원소를 확대(bit)

 

사용된 키의 수
 - 대칭키 : 송수신자가 같은 키를 사용
 - 공개키 : 송수신자가 다른 키를 사용

 

평문 처리 방법
 - 블록 암호화 (Block cipher) : 연산을 블럭단위로 처리
 - 스트림 암호화 (Stream cipher) : 입력을 연속적으로 처리

 

단대단 암호 (End-to-End Encryption) *프로그램 사용*
 - OSI 참조모델에서 가장 높은 계층(7,6)에서 이루어진다.
 - 네트워크에서 보안유지에 실패하더라도 데이터의 비밀성은 위협받지 않는다.
 - 암호화는 송수신 프로세서가 담당한다.

 

링크암호 (Link Encyption) *기계 사용*
 - OSI 참조모델에서 가장 낮은 계층(1,2)에서 암호화 된다.
 - 송수신 호스트나 중간 노드에서 노출된다.
 - 신뢰적인 호스트 사이에 비신뢰적인 매체를 사용할 때 유리하다.
 - 암호화는 송수신 호스트에서 담당한다.

 

관용 암호
 - 암호/복호에 동일한 키 와 동일한 알고리즘 사용
 - 수신자와 송신자는 키를 교환해야 함
 - 공유한 키(비밀키)는 비밀로 유지 
 - 키 분배의 어려움
 - 디지털 서명 불가능
 - 속도가 빠름 

 

* 암복호화를 사용해서 송수신과 그냥 송수신한것과 차이가 없다. / 키교환이 어렵다. / 공개키 사용x /

 

공개키 암호
 - 암호/복호에 각각 서로 다른 키 와 동일한 알고리즘 사용
 - 수신자와 송신자는 연관된 키쌍 중 하나를 알아야 함
 - 키 쌍중 하나(개인키)를 비밀로 유지
 - 공개키를 공개
 - 디지털 서명 가능
 - 속도가 느림

 

* 공개키에서는 비밀키란 말로 안쓰고(헷갈릴수 있음) 개인키, 공개키로 구분한다. *

* 같은 키를 가지고 있어 근원지 증명(책임 추적성)이 불가능하다.*

 

4. 고전적 암호 기술
전송 내용을 숨기는 방법
 - Steganograhpy 방법
   - 메시지의 존재 자체를 은폐

* 특정데이터를 데이터 안에 숨기는것 *


 - 암호 방법
   - 다양한 원문의 변환에 의해 외부인이 그 의미를 알지 못하도록 메시지를 변형
   - 치환,전치를 이용 원문을 숨김

 

4.1 Steganography(1)

특징
 - 메시지의 존재 자체를 은폐
 - 원문내의 단어나 문자를 적당히 배열 함으로써 실제 메시지를 나타냄

 

예제
 - 문자 마킹 (Character marking) 
   - 원문의 문자에 연필로 덧써서 표시를 해 빛을 적당한 각도로 비춰어야만 보임
 - 보이지 않는 잉크 (Invisible ink)
   - 종이에 열이나 화학 처리를 해야만 보이는 잉크를 사용

 - 핀 구멍 (Pin punctures)
   - 빛을 비춰야만 보이는 작은 구멍을 원문에 넣는 방법

 

Steganography의 장점
 - 생성이 쉽다.

 

Steganography의 단점
 - 상대적으로 적은 정보 비트를 은닉하는데 많은 오버헤드 요구
 - 방법 노출시 재사용 불가
 - 비밀통신에 대한 사실이 발견되면 타인에 의해 이용될 수 있다.

 

최근 경향
 - 동영상, 이미지 파일을 이용 원문을 숨기는 방법이 인터넷 등의 네트워크에서 이용됨
 - 테러,범죄에 이용되는 경우가 나타남

 

4.2 치환 기법-시저암호
쥴리어스 시저에 의해 개발

 

*

예제 (Key : 3)
 - 평 문 : meet me after the toga party
 - 암호문 : phhw ph diwhu wkh wrjd sduwd

 

암호화 방식(문자 p를 암호화)
 - C = E(p) = (p+3) mod (26)
 - 일반화 : C = E(p) = (p+k) mod (26)
 - 문자 p는 C로 암호화

 

복호화
 - p = D(C) = (C -3) mod (26)
 - 일반화 : p = D(C) = (C - k) mod (26)
 - 문자 C는 p로 복호화

*

 

단점
 - 암호화 및 해독 알고리즘을 알고 있다.
 - 가능한 키가 25개 뿐이다.
 - Brute-force attack이 가능
 - 평문의 언어를 알고 있으며 쉽게 인식할 수 있다

 

4.2 치환 기법-단일치환

각 문자에 26자의 치환 가능
 - 시이저 암호의 키 공간을 급격히 증가
 - 시이지 암호 : 25
 - 단일 치환 암호법 : 26!

 

단점
 - 출현 빈도수를 이용해 평문 유추가능
ex) 영어 문장에는 t, e, a, h 등이 많이 나타남
암호문에서도 그에 상응하는 문자가 같은 빈도로 나타남

 

4.2 치환 기법-다중치환
2자기씩 암호화
playfair 알고리즘은 5 * 5 행렬에 기초

키워드가 monarchy인 행렬

 - 키워드 중복 문자를 제외하고 좌에서 우로, 상에서 하로 문자를 채운다. 
 - I와 J는 한 문자로 취급

*옛날에 외국에서는 i와 j를 잘 구별하지 못했었다고 한다.*

 

암호화 방법
 - 반복되는 평문은 X와 같은 채움문자로 분리
   - balloon : ba lx lo on
 - 같은 행에 두문자가 있을 경우 우측에 있는 문자와 치환
   - ar은 RM으로 치환
 - 같은 열에 두문자가 있을 경우 바로 밑에 문자와 치환
   - mu는 CM으로 치환
 - 그 외에 평문자쌍는 대각선에 위치한 문자와 치환
   - hs는 BP로, ea는 IM(또는 JM)

 

특징
 - 알파벳은 26 가지중 2중자는 26 * 26 = 676 가지
 - 2중자의 빈도수 분석은 어려움
 - 1, 2차 대전중 미국, 영국 육군에서 사용

 

단점
 - 평문의 원래 구조가 많이 드러남
 - 수백자의 암호문자로 구조를 알 수 있다.
 - 암호기법은 평문보다 평평한 분포가 가짐. 하지만 해독가에겐 평이한 구조를 가짐

 

평문 : 가로축

키 : 세로축

 

4.3 치환 기법-다중단일문자치환
단순 단일 문자 치환 방법을 개량

 

다중 단일 문자 치환 암호방법의 공통점
 - 하나의 단일 문자 치환 규칙 집합을 사용
 - 주어진 변환에 사용될 규칙은 키에 의해 결정

 

Vigenere 방법 (표참조)
 - 키워드 : Infinitive 
 - 평문 : I see him drive

평문    i s e e h i m d r i v E
키      i n f i n i t i v e i n
암호문  q f j m u q f l m m d r
평문    i a d m i t t h i s m a y n o t b e t h e b e s t w a y o f d o i n g i t
키      a c a d e m y a c a d e m y a c a d e m y a c a d e m y a c a d e m y a c
암호문  i c d p m f r h k s p e k l o v b h x t c b g s w a m w o h d r m z e i v

 

특징
 - 평문자에 대한 암호문자가 유일한 키워드에 각 문자에 대하여 여러 개 존재
 - 문자 빈도수에 대한 정보가 불분명해진다

 

단점
 - 평문 구조에 대한 정보가 모두 은폐되지는 않는다.
 - 단일 문자나 다중문자로 암호화 되었는지 아는 것은 쉽다.
 - 빈도수에 따라
 - 키워드의 길이를 유추가능

 

4.4 전치기법
monoalphabetic 암호기법의 진보된 방법(지휘막대)
평문자의 순서를 바꿈
rail fence 기법
깊이 : 3
평문 : To have dinner in the restaurant is expensive

암호문 : tntotihhsaeevrxeepdseitnnasnuiervraeina

 

사각형 행렬 사용

전치 암호기법은 두 단계 이상의 전치를 행함으로써 더 안전성을 높일 수있다.

*키가7이라 깊이도 7이고 7글자씩 줄을 만든다.*

 

EX)

키      3 5 1 4 2
평문    i a d m i 
        t t h i s 
        m a y n o 
        t b e t h 
        e b e s t 
        w a y o f 
        d o i n g 
        i t x y z
        
암호문 : dhyeeyixisohtfgzitmtewdimintsonyatabbaot

 

암호문 : q z l w a v t h w v s b u m i y z g d b b v b e p g b q g p f p s v r
키     : i n f i n i t y i n f i n i t y i n f i n i t y i n f i n i t y i n f

평문   : i m g o n n a j o i n t h e p a r t y t o n i g h t w i t h m r k i m