NCS보안3기/암호2017. 3. 27. 17:46

- 대칭암호 : 암호화와 복호화 과정에 동일한 키를 사용하는 암호 시스템.

- 대칭 암호는 비밀키와 암호화 알고리즘을 사용하여 평문을 암호문으로 바꾼다. 또한 동일한 키와 복호화 알고리즘을 사용하여 암호문으로부터 평문을 얻는다.

- 암호 알고리즘의 두가지 공격혀애

1. 암호 알고리즘의 특성에 기반을 둔 암호 분석학

2. 모든 가능한 키 값을 사용하는 전사적 공격

- 회전자 기계 : 치환 기법을 사용하는 정교하게 미리 계산된 하드웨어 장치

- 스테가노 그래파 : 어떤 규모가 큰 대상에 비밀 메시지를 숨기는 기법


* 대칭 암호 방식의 구성 요소


- 평문( Plaintext )

- 암호 알고리즘( Encryption algorithm )

- 비밀키( Secret key)

- 암호문( Ciphertext )

- 복호 알고리즘( Decryption algorithm )


* 암호문 Y, 메시지( 평문 ) X, 암호키 K 일때:


* 암호 시스템의 특성

- 평문을 암호문으로 변환하는데 사용되는 동작

- 치환

- 전치

- 사용한 키의 수

- Single key : 대칭키/비밀키 암호, 관용 암호

- Two-key : 비대칭키/공개키 암호

- 평문이 처리되는 방법

- 블록 암호

- 스트림 암호


* 암호 해독 및 전사적 공격

- 암호 해독

암호 알고리즘 본질에 대한 공격

평문-암호문쌍에 대한 지식 등을 활용한 평문 혹은 키 값 추론 공격

- 전사적 공격

특정 암호문에 대해 이해할 수 있는 평문으로 전환될 때까지 모든 키에 대해 시도함


* 절대 안전성 vs 계산상 안전성

- 절대 안전성

해당 암호 기법으로 생성된 암호문을 아무리 많이 사용하더라도 해당 암호문에 평문을 알아낼 수 있는 충분한 정보를 포함하지 않을 경우

One-time pad

- 계산상 안전성

아래 두 가지 조건을 만족할 경우

1. 암호 해독 비용이 암호화된 정보의 가치 초과

2. 암호 해독 시간이 정보의 유효 기간 초과


* 치환 기법

- 치환 기법과 전치는 모든 암호 기술의 기초

- 치환 암호 방식

평문의 문자( 비트열 )를 다른 문자( 비트열 ), 숫자 혹은 심벌로 바꿈

Caesar 암호가 대표적


* Caesar 암호

- 각 알파뱃 문자를 두 문자 건너의 알파뱃 문자로 치환

- 각 문자에 대해 아래와 같은 숫자 배정

- caesar 함호의 암호화 알고리즘은 다음 수식으로 표현 가능

C = E(3,p) = (p + 3)mod 26

- 키 값을 일반화 하면 다음과 같음

C = E(k,p) = (p + k)mod 26    1 ≤ k ≤ 25

- 복호화 알고리즘

p = D(k,C) = (C - k)mod 26


- 암호화 및 복호화 알고리즘을 알고 있다.

- 가능한 키는 25개뿐이다.

- 평문의 언어를 알고 있으며 쉽게 인식 가능 --> 전사적 키 해독 기법에 취약


* 단일 문자 치환 암호 기법

- 각 평문 문자를 임의의 문자로 치환하는 경우

- 총 가능한 키의 수: 26! 


* 단일 문자 치환 암호 기법에 대한 공격

- 평문의 특성( 언어의 규칙성 )을 사용한 공격 기법


* Playfair 암호

- 다중문자 치환 암호 기법

- 단일 문자가 아닌 다중 문자를 암호화 함으로써 안전도 높임

- 특정 키워드를 기반으로 하여 5X5 matrix 만듦

- 해당 키워드를 사용하여 matrix를 채우고 해당 키워드를 구성하는 문자가 아닌 다른 문자로 나머지 matrix 공간을 채움

- Ex) 키워드가 MONARCHY 인 경우

* Playfair 암호화 방법

1. 평문을 2개의 알파뱃 묶음으로 나눈다.

2. 묶어진 두개의 알파뱃을 위에 만든 행렬로 치환한다.

 - 묶인 두 개의 알파뱃이 같은 행에 있을 경우, 오른쪽으로 한칸씩 shift한다.

 - 묶인 두 개의 알파뱃이 사각형을 그릴 경우, 그 사각형을 기준으로 왼쪽과 오른쪽에 있는 알파뱃으로 치환한다.

 - 묶인 두 개의 알파뱃이 같은 열에 있을 경우, 아래쪽으로 한칸씩 shift한다.


* Playfair 암호 분석

- 보안수준 : 26 X 26 = 676

- 단일 문자 암호보다 상대적으로 공격하기 어려움


* Hill 암호

- 동작 원리

m개의 평문을 m개의 암호문으로 치환한다.

이때, m개의 선형 방정식에 의해 치환된다.

m = 3인 경우 다음과 같은 선형 방정식을 생각할 수 있다.


이를 matrix로 표현하면 다음과 같다. 즉, C = PK mod 26


* 다중 문자 암호

- 평문에 대해 서로 다른 방식의 단일 문자 치환 기법 사용

- Ex: Vigenere 암호 기법


예 : keyword deceptive



* Vernam 암호

- 암호학적 공격에 안전하기 위해선 평문과 동일한 길이의 키를 가져야 하며, 평문과 통계적 연관성이 없어야 한다.


* One Time Pad 암호

- J.Mauborgne는 random한 key 값을 사용하면서 메시지 길이와 동일한 key를 가정한다.

- One Time Pad는 perfect security를 제공하지만 다음과 같은 문제점을 갖는다.

1. 대용량의 random한 key를 다루기 어렵다.

2. key 분배 및 보호의 문제가 발생한다.


* 전치 기법

* Rail fence 기법

- 평문을 대각선으로 쓰고 열로 읽음


* Row Transposition 기법

- 열 순으로 읽으면서, 열의 순서를 바꿈 ( 열의 순서 : 키 )

'NCS보안3기 > 암호' 카테고리의 다른 글

[Encryption] 해쉬 함수  (0) 2017.03.28
[Encryption] 블록암호와 DES  (0) 2017.03.27
[Encryption] 컴퓨터 보안과 암호  (0) 2017.03.27
Posted by Imp3rio