해시 암호화
설정 + 실행결과
실행결과
도움말
사용법
-
해시화할 문자를 입력하거나 파일을 불러오기 합니다.
해시함수에 입력값은 대소문자를 구분합니다. 주의해주세요.
- 종류를 선택하여 다양한 해시함수로 변환할 수 있습니다.
- 결과를 대문자로 보고싶다면, 대문자로 표기를 설정해주세요.
설정 도움말
- 종류 : 다양한 해시함수를 선택가능합니다.
- 비트 : Shake함수에서 활성화 됩니다. 다른 함수는 적용되지 않습니다.
- 표기 : 결과를 대문자로 표기할 수 있습니다.
기타
-
용량이 조금 큰(500MB 이상 ~ 4GB 정도) 파일은 OpenSSL 무설치 GUI 웹툴로 해시를 구하시는게 일반적으로 4배정도 더 빠를 수 있습니다.
-
사용중인 오픈소스 문제로 MD2에서 파일해시가 작동하지 않습니다.
-
해시 암호화는 단방향 암호화로 완벽한 복호화방법은 없습니다.
-
같은 내용을 암호화하면 결과는 동일하지만, 암호화된 결과로 원본을 유추할 수 없기 때문에 비밀번호 암호화에 많이 사용됩니다.
-
Shake는 길이 Bit를 추가로 설정가능합니다.
8의 배수로 설정가능하며.. Shake-128은 256, Shake-256은 512가 기본값입니다.
-
해시가 복호화 불가능한 이유
해시 암호화는 입력된 값을 특정 수식을 이용해 수학적으로 계산합니다.
계산 방식은 공개되어있지만, 암호화된 정보가 특정한 정보를 포함하진 않습니다.
어떤 의미냐면.. 예를들어, 수학적으로 3으로 나눈 나머지의 값을 얻는다고 합시다.
1 ~ 10의 숫자는 각각 1, 2, 0, 1, 2, 0, 1, 2, 0, 1 입니다.
3으로 나눈 나머지의 값이 1일때 원래 숫자는 무엇인가요?
3x+1 (x는 자연수) 입니다. 그러나, 1이라는 숫자로 원래 숫자(x)를 파악할 순 없습니다.
위의 예시에서는 0, 1, 2 단 3개로 암호화되었으나
40자리 Hex값을 반환하는 Sha1은 1640=1.4×1048개
64자리 Hex값을 반환하는 Sha256은 1664=1.1×1077개
128자리 Hex값을 반환하는 Sha3-512은 16128=1.3×10154개
위와같이 셀수없이 많은 결과가 나올 수 있습니다.
-
입력 내용이 다르지만, 중복값이 나올수도 있나요?
네 가능성이 적지만 있습니다.
셀수없이 많은 결과가 나오지만, 입력값은 무한대임에 비해 결과의 개수는 제한되어있기 때문에 값은 중복될수도 있습니다.
그러나 일반적으로 쓰이는 위의 해시 함수들은 최대한 겹쳐지는걸 피하게 설계되어있기 때문에 일반적으로 사용시 이와같은 현상을 발견할 확률은 매우 적습니다.
-
쇄도 효과가 무엇인가요?
입력값에 미세한 변화를 줄 경우 출력값에 상당한 변화가 일어나는 성질을 의미합니다.
실제로 값이 한개만 변해도 암호화된 값은 완전히 다른양상을 띕니다.
이런 알고리즘 설계는 암호문으로부터 규칙을 찾을수 없게 만들고, 추론을 불가하게 합니다.
TMI) 이와 비슷한 내용으로..
만약, 유튜브 영상코드가 랜덤한 11자리 코드가 아닌 연속적으로 증가되는 숫자였다면
규칙 때문에 유튜브의 비공개(링크 공유)영상은 구현되기 어렵습니다.
-
SHA1이 더 이상 안전하지 않은 이유
구글은 2017. 02. 23. 에 sha1에서 충돌을 발견하였다는 발표를 하였습니다.
SHA1은 1.4×1048개의 결과가 있어 1.4×1048개 이상의 파일(또는 문자)로 결과를 만들어보면 중복될 수 있으나
SHA1의 취약점 때문에 더 빠르게 동일한 해시의 파일을 만들수 있다는 내용이었습니다.
해시는 이전부터 동일한 파일(위조되지 않은 원본)임을 검증하는데 사용되었고, 디지털 인증서 등에도 검증용도(해시값이 같은 파일은 검증된 파일임을 지정하는 용도.)로 사용되었기에 임의로 동일한 해시를 만들수 있다는점은 큰 문제입니다.
오류제보 / 기능제안 글 작성하러가기