본문 바로가기

Security/암호화와 암호화 방식

No.3 해시(Hash)

(1) 해시란? 

 

 => 하나의 문자열을 이를 상징하는 더 짧은 길이의 값이나 키로 변환 하는 것입니다.

해시는 암호화는 아니지만 대칭 암호화 , 비대칭 암호화 와 같이 사용하면 다양한 기능이 구현됩니다.

 

 

(2) MD5

 

= > 대표적인 해시 알고리즘입니다.

32개의 16진수로 이루어져 있습니다.

 

즉 어떠한 평문이 있을때 MD5 해시 알고리즘을 거치게 되면 거치기 전의 값을 추측하는것이 불가능하게된다.

 

예를들어

 

 Hi ----------------->( 해시 알고리즘 과정 ) ---------->(051395920adeff49a304e4053bcefa)

 

위 처럼 32개의 문자로 변하게 됩니다.

평문의 길이가 어떻든 무조건 32개의 문자 와 숫자의 조합으로 변합니다.

 

(3) 해시의 용도?

 

=> 해시는 원래 데이터베이스의 탐색을 효과적으로 만들기 위해서 사용되었습니다.

예를들어 a,b,c 사용자가 있을때 16개의 저장공간을 가지는 데이터 셋이 있다고 할때

a : 0010

b : 1011

c : 1101

 

의 데이터셋 위치에 있다고 할때 c의 정보를 찾기위해선 위에서 부터 하나씩 탐색을 해야 되기 때문에 시간이 오래 걸리게 됩니다. 이를 보완하기 위해서 데이터에 라벨을 위와 같이 붙이고 참조 값을 그 라벨값중의 하나로 생성되도록 알고리즘을 만드는 것 이것이 바로 해시의 기본 용도 입니다.

 

하지만 보안에서는 해시를 무결성 확인을 위한 알고리즘으로 사용됩니다.

정보가 오직 허가된 사람들에게만 개방되고 또 그들에 의해서만 수정 될 수 있음을 보장하는 것입니다.

 

대표적인툴로 MD5.exe를 이용해 평문을 해시값으로 만들수 있습니다.

 

(4) 해시 알고리즘의 종류?

 

-MD 알고리즘 : MD2, MD4, MD5 이렇게 세가지가 있으며

MD5가 가장 최신으로 32비트 컴퓨터에 최적화 되어 있습니다.

 

 

-SHA 알고리즘 : 160비트의 값을 생성하는 해시 함수로서, MD4의 발전형태입니다.

 MD5보단 조금 느리지만 좀 더 안전합니다.

 

위와 같은 두 알고리즘은 TLS, SSL, PGP, SSH, S/MINE, IPsec 등에 널리 사용되고 있습니다.

 

[출처] No.3 해시(Hash)|작성자 Securely

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

SSL Certificate  (0) 2017.10.23
No.2 비대칭 암호화 방식  (0) 2012.07.11
No.1 대칭 암호화 방식  (0) 2012.07.11