본문 바로가기
보안 기술/암호

해쉬함수(Hash function)

by 비원(Be one) 2019. 12. 5.
반응형

해쉬함수(Hash function)는 다양한 길이의 데이터를 고정된 길이의 데이터로 변환하는 함수입니다.

해쉬함수로 변환된 문자열을 해쉬코드, 해쉬값이라고 부릅니다.

[Saver], [안녕하세요], [퇴근하고싶다.] 모두 문자열의 길이는 다르지만 해쉬코드의 길이는 모두 일정합니다.

 

편의상 암호 카테고리에 해쉬함수를 넣었지만, 해쉬함수와 암호는 엄연히 다른 개념입니다.

해쉬함수와 암호는 방향에서 분명한 차이가 있습니다.

 

암호는 양방향이므로 원본을 암호화해서 암호문을 만들었으면, 반대로 암호문을 복호화해서 원본으로 만들 수 있습니다.

그러나 해쉬함수는 단뱡향이기에 해쉬코드를 가지고 원본을 알 수 없습니다.

 

 

그러면 해쉬함수는 어디에 사용될까요?

 

해쉬함수는 임의의 길이를 고정된 길이로 바꾸는 특징으로 대량의 문서를 검색할 때 사용됩니다.

길이가 긴 문서가 대량으로 있을 때, 문서를 하나씩 검색하면 검색시간이 길어집니다.

그렇기에 해쉬함수로 문서를 해쉬해서 길이를 단축하고, 해쉬코드만 검색하면 검색시간을 단축할 수 있습니다.

 

또한 해쉬함수는 문서의 위변조를 할 때도 사용됩니다.

문자가 조금만 바뀌어도 해쉬코드는 크게 달라지기 때문에 해쉬코드를 확인함으로써 문서의 변화가 있었는지를 판별할 수 있습니다.

 

반응형

'보안 기술 > 암호' 카테고리의 다른 글

Base64 인코딩  (0) 2019.07.01