현대 암호학 기초

[ 암호학 ] 암호의 역사

ITsubin 2022. 5. 16. 09:59

{ 시저 암호 }

1. 시저 암호란? : 줄리어스 시저(율리웃 케사르)가 사용하였다는 암호.

    평문으로 사용되는 알파벳을 일정 문자 수만큼 평행이동()

    [실습 복호화 문제 출제 가능]

 

2. 전사 공격에 의한 해독

    Brute Force Attack : 키가 될 수 있는 모든 키 후보들을 시도.

    (알파벳은 총 26문자이므로 암호화 키는 0부터25까지 총 26개이다? X)

    => 0은 암호화를 해도 평문이다.

 

{ 단일 치환 암호 }

1. 단일 치환 암호란 무엇인가?

   ∙ 단일 치환 암호 : 평문을 구성하는 알파벳을 다른 알파벳으로 변환하는 암호.

    (암호문이 길면 해독이 용이), (시저 암호도 단일 치환 암호이다)

 

2. 단일 치환 암호의 암호화

    약점 : 평문 알파벳의 빈도가 나타남. => 빈도분석

 

3. 단일 치환 암호의 복호화

    치환표 = 단일 치환 암호의 키, 송신자와 수신자는 치환표를 공유한다.

    (복호화할 때 암호화에 사용한 가 필요하다.)

 

4. 단일 치환 암호의 키공간

   ∙ 단일 치환 암호전사 공격으로 해독이 어렵다.

   ∙ (, 시저 암호전사 공격으로 해독이 가능하다.)

   ∙ ? : 단일 치환 암호가 시저 암호에 비해 훨씬 많은 키 후보를 가질 수 있기 때문 (=키 공간이 크다)

    키 공간이란? : 해당 암호에서 사용할 수 있는 모든 키들의 집합.

    키 공간에 포함된 모든 키들의 수 = 키 공간의 크기

    키 공간이 클수록 전사 공격이 어렵다.

    단일 치환 암호의 키의 총 수 : 26*25*...2*1 = 403291461126605635584000000

 

5. 빈도 분석에 의한 해독 => 빈도분석에 강한 암호를 만들겠다! => 다중 치환 암호

    전사 공격으로 단일 치환 암호를 해독하는 것은 어렵다.

    그래서, “빈도 분석암호 해석법을 사용한다.

    빈도 분석의 단서 : 빈도가 높은문자, 빈도가 낮은문자, 처음, , 단어의 단락,

    암호문이 긴 것, 같은 문자의 반복. 해독 속도는 점점 빨라짐.

 

{ 다중 치환 암호 }

1. 빈도 분석이 가능한가?

    단일치환암호의 빈도 분석이 가능했던 이유 :평문 문자의 빈도 = 암호문 문자의 빈도

    이를 다르게 하자 => 다중 치환 암호

 

   ∙ 다중 치환 암호 : 평문의 문자 빈도와 암호문의 문자 빈도를 다르게하는 알고리즘.

    비즈네르 암호, 에니그마 기계 (빈도 분석 공격과 전사 공격이 무용지물)

 

2. 비즈네르 암호

    평문 : SUMMER

    키 : LSB => LSBLSB (평문 길이에 맞추어 키를 반복 => 키 선택이 매우 중요)

 

{ 에니그마 }

1. 에니그마란 무엇인가?

   ∙ 에니그마 : 독일의 세르비우스가 20세기 초에 발명한 암호화/복호화 기계.

    에니그마는 독일어로 수수께끼, 회전하는 원반과 전기 회로를 사용.

    발명 당시엔 에니그마를 상용으로 사용하였고, 나치독일 시대에는 군용으로 개량.

 

2. 에니그마에 의한 암호 통신

    타이프 라이터 + 톱니바퀴 + 전지를 조합한 기계.

    암호화 복호화각각 한 대의 기계로 진행

    송신자와 수신자각각 에니그마를 한 대씩 소유

    알파벳 26문자를 암/복호화 가능

 

에니그마의 약점 :

   ∙ 당시 무선 기술 수준의 한계로 오류가 => 통신 키를 2회 반복한 것을 암호화.

   ∙ 통신 키를 선택한 것은 결국 사람

   ∙ 코드북을 꼭 배송해야 한다.

    하지만 에니그마는 숨기는 것에 의한 보안에 의존하지 않았다.

 

{ 암호 알고리즘과 키 }

    암호 알고리즘과 키를 분리하는 이유

    암호 알고리즘에는 변경 가능한 부분이 반드시 포함,

    이 변경 가능한 부분이 바로 에 해당한다.