티스토리 뷰

IT/Cryptography(암호)

대칭키 암호화 방식

예영교육 연구소 2011. 12. 21. 17:00

오늘은 대칭키 암호화 방식에 대해 알아보도록 하겠습니다.

암호화 방식의 하나 하나의 자세한 설명은 후일을 기약하며 여기서는 전체적인 밑그림을 그려보는 것을 목표로 합니다.

 


암호화 방식은 크게 2가지로 구분되는 것은 앞에서 보셨죠.
 

대칭키 방식은 또한 크게 2가지로 구분됩니다.

 

스트림 암호와 블록 암호

스트림 암호 :  하드웨어 구현에 용이하며 다른 암호시스템과 비교할 때 알고리즘 구현속도가 매우 빠르고 실용적이기 때문에 군사적인 목적으로 널리 사용되고 있습니다. 2진 표현된 평문과 이진 의사난수열(Key)을 택한 결과를 암호문으로 출력합니다. 속도는 빠르지만 상당한 비용과 자원이 소모됩니다. (왜냐하면 10비트 암호화 하려면 10, 1000비트 암호화 하려면 1000번을 연산해야 하니까요~)

블록 암호  : 블록 암호는 평문을 일정한 블록으로 나누고, 고정된 크기를 가지는 블록 단위의 암호문을 생산한다. 여러 번의 회전(round)에 걸치 함수 F를 반복 수행하는 과정을 거쳐 평문으로부터 암호문이 생성됩니다.

 

스트림 암호의 A5/1 RC4

A5/1 GSM 휴대폰에서 사용되고 있고, RC4 SSL protocol에 포함한 여러 곳에서 사용됩니다.

다만 RC4도 스트림 암호이지만 A5/1과는 현저하게 다른 개념의 암호입니다. A5/1이 하드웨어로 구현되도록 설계되어 있는 것에 반해, RC4는 소프트웨어로 구현되도록 설계되어 있습니다. RC4 알고리즘은 바이트 단위로 실행됩니다.

 

블록 암호는 몇가지 구조로 나눌 수 있습니다.

Feistel구조 : DES, 3DES

블록 암호의 선구자인 호스트 페이스텔의 이름을 빌어 명명했습니다장점은 안전성 문제가 회전 함수 문제로 귀결된다는 것.(???)

가.  DES : 1970년대에 개발되었습니다.

나.  3DES : DES가 크랙된 후, 개발된 알고리즘. 속도 문제로 인해 AES로 대체되는 경향.

 

떠오르는 샛별 AES(SPN구조)

AES알고리즘은 고난도의 수학적 구조를 갖습니다. AES의 모든 것에 대한 자료는 방대하며, 역사적으로 AES만큼 짧은 시간 내에 그렇게 많은 검토 및 시험이 이루어진 알고리즘은 없습니다.

 가장 최근에 강력한 암호 방식에 사용되어지고 있는 것은 AES입니다. 초기에는 DES가 많이 쓰이다가 크랙당해서 3DES가 등장했죠. 3DES DES보다 256배 정도 강하다고 하지만 DES에 비해 너무 느려진 암호화 속도로 인해서 AES가 등장하게 되었고 최근에 많이 사용되고 있습니다.

 

나는 AES이다. .^^

하나, 저는 하드웨어와 소프트웨어 관계없이 구현이 가능합니다.

, 저는 SMART CARD에도 적용이 되구요.

, 저는 SPN구조를 사용하죠.

 
기타 암호 알고리즘 

유럽에 강자 IDEA(International Data Encryption Algorithm)

아시다시피 블록 암호 방식이죠. 그리고 저는 64비트의 블록의 데이터에 작동됩니다.

128비트의 키를 가집니다. 그리고 어디에 쓰이냐? PGP암호화 소프트웨어에 많이 사용되죠.

 

그외 암호화 방식(RC6, Blowfish,TEA)가 있습니다.
설명해야 할 것들이 너무 많지만 오늘의 목적인 밑그림을 그리는 데에 목적을 두고 여기서 마무리를 짓도록 하겠습니다.

Reference
암호학의 이해, 교우사
정보 보안 이론과 실제, 한빛 미디어 
위키 백과