본문 바로가기

IT/암호학

(암호학 5회차) 메르센소수.에라토스테네스의 체.DES암호 .F함수 . 키스케줄러

메르센소수

일반적으로 2n-1 꼴의 수를 메르센 수 라고 하며

메르센 수가 소수일 때 그 수를 메르센 소수라고 한다

 

현재 51개

에라토스테네스의 체

자신과 1이외의 다른 수로는 나누어 떨어지지안흔 소수를 에라토스테네스의 체라고 합니다.

DES 암호

평문 64비트를 암호문 64비트로 바꾸는 방식 키는 8비트마다 패리티비트 하나씩 포함

1. DES암호는 기본적으로 Feistel구조를 사용한다 ( 암호화 과정 = 복호화 과정 )

2.높은 안전성

3.안전성은 알고리즘의 비밀성에 의존되어서는 안됨

암호화 과정 풀이

1. 평문 64비트가 들어옵니다

2. 초기전치 (IP)를 실시합니다

3.32비트로 RE.LE로 나뉩니다

4.RE는 K와 함께 f함수로 거쳐 나온 32비트로. xor연산을합니다

5.xor연산결과는 R블록으로 원래 R블록은 L블록으로 이동합니다

6.16라운드 반복후 LE16+RE16 한후 역전치(IP -1제곱)후에 64비트로 암호화되서 나옵니다

초기전치 역전치 해야하는 이유는 암호화과정과 복호화과정이 같기 때문입니다.


F함수의 동작

1.R비트는 확대전치를 거쳐서 48비트로 형성됩니다 .

2.K 와 함께 XOR 연산을 거쳐서 6비트x8개로 나뉩니다

3.S-box 연산을 거치고 4비트x8개의 32비트로 나옵니다

4.평형전치를 시행한후에 32비트로 나오게됩니다.

S-BOX 연산이란 ?

(1) Input 값 011001 이라면

(2) 맨 앞 , 맨 뒤 ( 0 , 1 ) 은 행

(3) 사이의 값 ( 1,1,0,0 ) 은 열이 되어서

(4)2진수를 거쳐 1행 12열의 숫자를 가르칩니다

(5)후에 출력값을 이진수로 표현하는것입니다.


키 스케줄러

1. 64비트의 키를 받습니다 (56 + 8비트<패리티>)

2.전치 PC-1에 따라 전치시킨후에 C0. D0로 각각 28bit씩 나뉩니다.

3. C.D는 각각 Left Shift (LS)에서 왼쪽으로 순환 시프트된 후 전치 PC-2에 따라 56비트가 48비트로 축약 전치가됩니다.

이 과정을 16번 반복합니다

K1(48bit) ~ K16(48bit)