1. HASH 함수는 암호화 함수가 아닙니다.
암호화라는 것은 복호화가 가능해야 하지만,
MD5나 SHA1 등의 HASH 알고리즘을 통해서 만들어진 결과값을 가지고
원래의 입력값을 만들어내는 것은 불가능합니다.
2. 각각의 HASH 알고리즘은 입력값의 크기에 상관없이 동일한 크기의 결과값을 만들어냅니다.
예를 들어, SHA256 알고리즘의 경우 입력값이 1바이트이던 100MB이던 256비트(32바이트)의
결과값을 만들어냅니다.
즉, 질문자가 원하는 크기의 결과값을 만들어내는 알고리즘을 선택해서 사용하면 됩니다.
그리고 앞서 여러 분들이 말씀드렸지만 해시는 암호화가 아닙니다. 해시를 랜덤함수로서 암호화에 이용하기는 하지만 해시 그 자체가 보안성이 있는 암호화를 보장하는 것이 아니라 별도로 암호화를 위한 검증된 알고리듬을 디자인해야만 합니다. 하지만 해시를 기본 모듈로 이용하는 암호화 알고리듬에서는 해시 자체도 랜덤함수로서 좋은 성질을 가질 것을 요구합니다.
MD5는 hash collision이 너무 쉽게 찾아지기 때문에 암호론 학자들이 쓰지 말라고 합니다. 해시 알고리듬을 연구하는 분들은 일단 보안 관련 소프트웨에에서 MD5를 없애는 것이 가장 시급한 일이라고 말할 정도입니다. :-)
hash하는 데 데이터가
hash하는 데 데이터가 작든 크든 상관 없습니다. MD5 같은 알고리즘이 필요하시다면 그냥 MD5 쓰시면 됩니다.
HASH는...
1. HASH 함수는 암호화 함수가 아닙니다.
암호화라는 것은 복호화가 가능해야 하지만,
MD5나 SHA1 등의 HASH 알고리즘을 통해서 만들어진 결과값을 가지고
원래의 입력값을 만들어내는 것은 불가능합니다.
2. 각각의 HASH 알고리즘은 입력값의 크기에 상관없이 동일한 크기의 결과값을 만들어냅니다.
예를 들어, SHA256 알고리즘의 경우 입력값이 1바이트이던 100MB이던 256비트(32바이트)의
결과값을 만들어냅니다.
즉, 질문자가 원하는 크기의 결과값을 만들어내는 알고리즘을 선택해서 사용하면 됩니다.
HASH는 암호화용이
HASH는 암호화용이 아니라 무결성 확인용.
어쨌든 MD5는 쓰지마세요
그리고 앞서 여러 분들이 말씀드렸지만 해시는 암호화가 아닙니다. 해시를 랜덤함수로서 암호화에 이용하기는 하지만 해시 그 자체가 보안성이 있는 암호화를 보장하는 것이 아니라 별도로 암호화를 위한 검증된 알고리듬을 디자인해야만 합니다. 하지만 해시를 기본 모듈로 이용하는 암호화 알고리듬에서는 해시 자체도 랜덤함수로서 좋은 성질을 가질 것을 요구합니다.
MD5는 hash collision이 너무 쉽게 찾아지기 때문에 암호론 학자들이 쓰지 말라고 합니다. 해시 알고리듬을 연구하는 분들은 일단 보안 관련 소프트웨에에서 MD5를 없애는 것이 가장 시급한 일이라고 말할 정도입니다. :-)
차라리 SHA 알고리듬들을 쓰세요.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
음.. 암호화의
음.. 암호화의 대표적은 rsa, aes 등입니다. 암호화 알고리즘에 대한 언급은 없어서 한번 적어봅니다. ^^
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
아하~
그렇군요 :)
댓글 달기