2013-05-26 2 views
0

나는 md5 해시를 무차별 적으로 다루는 나의 현재 작업에서 약간 혼란 스럽다. 나는 또한 학습 목적을 위해 해시 값을 24 비트까지 줄이는 것이 허용되었고, C에서 OpenSSL을 사용하여 md5 해시를 생성했습니다. 내 문제는 내가 짐작하는 정확한 방법을 이해하지 못한다. 내가 시도한 것은 다음과 같다.md5 해시를 어떻게 강요합니까?

모든 아스키 문자를 추가하고 해시 한 다음 대상 해시와 비교한다.

이것이 해시를 무력화하는 올바른 방법 인 경우 해시가 변경되므로 24 비트로 줄이는 방법은 무엇입니까?

+2

예, 해시가 충돌하는 것을 찾을 때까지 모든 가능한 입력 문자열을 반복합니다. –

답변

1

는 운동을 위해 "24 비트 줄이면"대신 입력 X 등이 md5(X)=<128 target bits (fixed)>을 찾고, 당신이 대신 X 등이 md5(X)=<124 unconstrainted bits><24 target bits>를 찾는 간단한 문제를 해결할 수 있다는 것을 의미한다.

즉, 당신이 당신의 목표에 도달했는지 여부를 결정하는 시험은 좀 더 관대합니다.


"브 루트 포스"는 조건을 만족할 때까지 모든 입력을 체계적으로 시도하는 것을 의미합니다. 알파벳 문자를 테스트하는 경우 예를 들어 a, b, ..., z, aa, ab, ac 등의 문자를 테스트하는 것을 의미합니다 (단, 자신을 영문자로 제한 할 필요는 없습니다. 길이가 1, 2, ...의 메시지)

관련 문제