'2011/12/21'에 해당되는 글 2건

  1. 2011.12.21 안전하지만 속도가 느려터진 비대칭키 암호화 방식
  2. 2011.12.21 대칭키 암호화 방식
IT/Cryptography(암호)2011. 12. 21. 17:59

 

비대칭키에 대해 알아보도록 하겠습니다.
 


1단계, Bob은 한 쌍의 키를 만듭니다. 그리고 Bob공개키를 어딘가에 공개하죠.

2단계, Jane Bob에게 암호화를 해서 문서를 보내고 싶습니다. Bob에게 보내려면 Bob의 공개키를 가지고 옵니다.

3단계, Jane Bob의 공개키로 암호화를 수행한 후, Bob에게 암호문을 송신합니다.

4단계, Bob은 자신만이 가진 개인키를 이용해서 받은 문서를 Bob의 개인키로 해독합니다.

 

정리하면 다음과 같죠.

누군가에게 암호문을 보내려면 누군가의 공개키가 필요합니다. ^^

그리고 한 쌍의 키가 존재합니다. 개인키와 공개키

Jane과 같은 사람이 많아지면 어떻게 해야 할까요?
공개키를 n명만큼 늘리면 되겠죠.

그리고 한번의 송수신에서 개인키, 공개키 한번씩만 사용이 가능합니다.

 

그러면 비 대칭키가 더 안전하겠네요?(여기서는 Bob으로 설명할께요)
당근이죠. 왜냐하면 대칭키에 비해 Bob개인키는 Bob만이 가지고 있으니까요 암호문을 중간에 가로채더라도 Bob의 개인키를 가지고 있지 않으면 암호문을 해독할 수 없죠. 그래서 상대적으로 공유되어지는 대칭키에 비해 안전 ^^~~~ 

그러면 대칭키 말고 비대칭키를 사용합시다~~

잠시만요. 여기서 비대칭키는 안전하지만 암호화 복호화 할때 함수 사용으로 인해 속도가 무지 느려요.(들은 이야기로는 1000배정도 느리다고 하네요.와우~~~) 그래서 정말 필요한 인증이나 디지털 서명에서 보조적인(보안 강화)역할로 대칭키와 함께 사용합니다.죠. 좀 이해가 되시죠. ^^
알고 보면 악어와 악어새와 같이 공생하는 존재죠.

공개키(비대칭키의 종류)
RSA, ECC, EL Gamal, DSA, Knapsack, Diffie-Hellman 
설명은 이 글에서는 여기까지만 하겠습니다. 기회가 될 때 하나 하나 살펴보도록 하겠습니다.

보안 위협
만약 공격자가 공개키 저장소를 공격하여 중간자 공격을 수행한다면 조금 위험해 질 수 있습니다.
혹시 중간자 공격을 모르는시는 분을 위해 나중에 포스팅 한후 링크를 하도록 하겠습니다.
 

그럼 저는 이만 실례하겠습니다.

Posted by 예영교육 연구소
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
암호학의 이해, 교우사
정보 보안 이론과 실제, 한빛 미디어 
위키 백과 

Posted by 예영교육 연구소