본문 바로가기

Security/암호화와 암호화 방식

No.1 대칭 암호화 방식

(1)대칭 암호화 방식 이란?

 

근대 까지의 암호화 알고리즘은 거의 대부분 대칭 암호화 방식입니다.

단일 대칭 암호화 방식에서의 부족했던 혼돈 과 확산을 크게 늘려 암호화가 더욱 어렵게 되었습니다.

 

혼돈 : 암호문의 통계적 성질과 평문의 통계적 성질의 관계를 난해 하게 만드는 성질.

 

확산 : 각각의 평문 비트와 key 비트가 암호문의 모든 비트에 영향을 주는 성질.

 

(2)DES

=> 대칭 암호화 알고리즘의 시초로 볼수 있습니다.

64bit의 블록 암호화 알고리즘, 56비트 크기의 암호화 키로 암호화 됩니다.

즉 2의56승으로 약 7200조의 암호화 키가 만들어 집니다.

 

(3)DES의 암호화 과정

 

 

 

위 의 그림처럼의 과정을 거치게됩니다.

먼저, 하나의 블록인 64비트를 L1(32비트) R1(32비트)로 나눕니다.

그리고 R1을 암호화 키로 생성한 S-BOX로 f함수를 만들어 치환 작업을 한 후 이 값을 L1과 XOR한다음 L2와 R2의 위치를 바꿉니다.

이러한 단계를 라운드라 합니다. ( 혼돈이 이과정에서 일어 납니다.)

DES는 이러한 과정을 하나의 블록에 대해 알고리즘을 16번 수행하므로 16라운드 알고리즘입니다.

 

(4)DES 복호화 과정

보시면 아시겠지만 암호화의 반대로 복호화를 합니다.

 

 

(4) DES의 암호화 종류

-ECB

-CBC

-CFB

-OFB

 

(5) S-BOX란??

 

예를들어 암호화 키에 의해 변화된 값이 1011 1100 0111이라고 생각할때

가운데에있는 1100의 앞 부분과 뒷 부분에 1과 0이 있는데, 이 값은 앞의 1011의 마지막 1과 뒤의 0111의 마지막 값인 0과 1011의 첫번째 값인 1을 붙인 것입니다.

이런 방법으로

 

1011 1100 0111 (확장과정) -> 110111 111000 001111 로 확장 하게 됩니다.

자 이렇게 된후의 S-BOX가 밑에 표 형태로 존재한다고 할때, 아 이때 중요한것은 . .

이 S-BOX표는 고정이 아니라 16라운드 동안 계속변합니다^^

 

 

10 

11 

12 

13 

14 

15 

 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 2

 

 

 

 

 

 

 

 

 

 

 

 

 3

 

 

 

 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

자 나머지빈칸들도 어떠한 값이 들어가 있는 형태입니다 . . 랜덤으로

 

가운데에 있는 111000만 간단히 암호화 해봅시다.

 

111000이 S-BOX를 거치면 앞 뒤 1비트를 떼어 이를 합쳐 2비트의 숫자 10 (2)가 되고

                                    나머지 4비트인 1100(12) 가 된다.

 

따라서 111000은 S-BOX에서 가로 12, 세로2가 만나는 3(0011)이 됩니다.

이러한 과정을 16번 진행해 암호화가 이루어집니다.

 

(6) 트리플 DES

 

=> 위의 복잡한 DES방식의 복호화 방식이 나오면서 임시적으로 나온 암호화 방식입니다.

   위의 DES의 암호화를 3번을 거쳐서 암호화의 강도가 약2배 정도가 나오는 암호화 입니다.

 

 

(7)AES

 

=> DES의 암호화 강도가 점점 약해짐에 따라 나온 암호화 방식입니다.

       약 30년정도 사용가능하고, 128비트 암호화 블록, 다양한 키의 길이 조건을 만족합니다.

 

(8)RC 5

 

=> 입출력, 키, 라운드 수가 가변인 블록 알고리즘입니다 64비트의 키를 가집니다.

 

(9)IDEA

 

=> 128비트의 키를 사용해 64비트의 평문을 8라운드를 거쳐 64비트의 암호문을 생성합니다.

'Security > 암호화와 암호화 방식' 카테고리의 다른 글

SSL Certificate  (0) 2017.10.23
No.3 해시(Hash)  (0) 2012.07.11
No.2 비대칭 암호화 방식  (0) 2012.07.11