본문 바로가기
[ Program ]/Program Etc.

암호화 이야기 #5 (대칭과 비대칭)

by 관이119 2012. 9. 24.

[대칭적 암호화]

 

- 설명

단일키를 사용해 메세지를 암호화하고 해독한다.

암호화된 데이터는 암호화하고 해독하는 두 부분 사이에 동일한 키가 공유되어 있다.

이 알고리즘은 블록안의 데이터를 동일한 블록 크기로 암호화하고

암호화된 데이터의 각블록은 이전의 암호화된 블록과 함께 체인 형태로 묶인다.

암호화된 데이터는 각 블록이 수비게 구별되도록 초기화 벡터라 불리는 키 값이 개인키와 함께 사용된다.

 

- 종류

. DESCryptoServiceProvider (DES 암호화 알고리즘)

. RC2CryptoServiceProvider (RC2 암호화 알고리즘)

. RijndaelManaged (Rijndael 알고리즘)

. TripleDESCryptoServiceProvider (Tiple DES 알고리즘)

-> 한 행에서 세 개의 DES 암호화 사용. (DES 암호화 알고리즘의 보안 단점을 보강함.)

-> 단, 처리속도는 DES 암호화 알고리즘의 약 3배 정도임.

 

[비대칭적 암호화]

 

- 설명

비대칭 암호화는 하나의 키를 다른 사용자에게 제공해 데이터를 암호화하는 기법이다. 이를 공개키라 부르는데 공개키는 데이터를 암호화 할수만 있고 개인키가 있어야 데이터를 해독할수 있다. 비대칭 알고리즘은 대칭 알고리즘과는 달리 일정한 블록 단위로 암호화 할수 없다. 따라서 네트웍환경과는 거리가 멀다.

 

- 종류

. DSACryptoServiceProvider (DSA 암호화 알고리즘)

. RSACryptoServiceProvider (RSA 암호화 알고리즘)

 

[복호화 불가]

 

MD5 : SHA1 에 비하여 성능 우수.
SHA1 : MD5에 비하여 암호화 우수.


[복호화 가능]

 

RSA : 비밀키 방식에 비교하여 사용자가 늘어남에 따른 보안위험 요소 적음. 비밀키 방식보다는 성능 떨어짐.
DES : 공개키 방식보다 성능 우수함. 사용자가 늘어남에 따른 보안 위험 요소 증가.

 

- AES(Advanced Encryption Standard)

비교적 쉽게 구현할 수 있으며 메모리를 거의 사용하지 않습니다. AES의 키 크기는 128, 192 또는 256비트입니다. 이 방법에서는 동일한 개인 키를 사용하여 데이터를 암호화 및 해독하는 반면 공개 키 방식에는 한 쌍의 키가 사용됩니다.

 

- MD5(Message Digest 5)

메일 메시지와 같은 응용 프로그램의 디지털 서명에 사용됩니다. 이 방법은 원래 데이터를 압축한 형태인 128비트 메시지 다이제스트를 생성합니다. MD5를 사용하면 위험하지 않은 응용 프로그램으로 가장하지만 실제로는 위험한 컴퓨터 바이러스 및 프로그램으로부터 시스템을 어느 정도 보호할 수 있습니다. 이러한 프로그램을 트로이 목마라고 합니다.

 

- SHA1(Secure Hash Algorithm)

160비트 메시지 다이제스트를 생성하므로 일반적으로 MD5보다 안전합니다. 가능하면 항상 SHA1 암호화를 사용해야 합니다.

 

- TripleDES(Triple Data Encryption Standard)

DES(Data Encryption Standard)를 약간 변형한 방식입니다. 이 방식은 일반 DES보다 3배 느리지만 키 크기가 192비트이므로 보다 안전합니다. 성능이 크게 중요하지 않은 경우에는 TripleDES를 사용하는 것이 좋습니다.

 

 

댓글