2010-04-08 3 views
3

콘텐츠가 아닌 파일 이름이 들어있는 crc32 해시 목록을 검색하고 있습니다.crc32 짧은 문자열 해독

나는 "vacationplans_2010.txt"미만 25 자 길이

같은 이름을 해시 문자열을 해독 할 수 있어야합니다.

이 가능합니까?

답변

7

단방향 해시 기능입니다. 암호 해독 할 수 없습니다.

+4

downvoters, 클릭하기 전에 논의하십시오. – Andrey

+0

downvote하지 않았지만 통지 : CRC는 단방향 해시 함수가 아니며 단지 안전하지 않은 해시 함수입니다. –

+1

그것은 여전히 ​​편향입니다. –

2

hash function과 같이 CRC32는 주어진 (가변) 입력 값을 계산합니다. 계산은 되돌릴 수 없습니다. 즉 해쉬 만 주어진 원래 값을 안정적으로 얻을 수는 없습니다.

4

다른 사용자가 대답 한 내용에도 불구하고 CRC32는 암호화 해시 함수가 아닙니다; 무결성 검사 (데이터 체크섬)를위한 것입니다. 암호화 해시 함수는 종종 "단방향 해시 함수"로 설명되며 CRC32에는 "단방향"부분이 없습니다.

가능한 모든 25 자 이하의 파일 이름 집합이 2^32를 초과하므로 일부 파일 이름은 동일한 해시 값을 갖도록 바인딩됩니다. 따라서 CRC32 값 중 일부는 얻을 수 있습니다 - 여러 가지 소스 (파일 이름)가있을 것입니다. "진짜"근원을 결정할 방법이 필요합니다. 인간의 결정은 우리의 두뇌가 훌륭한 패턴 인식 장치이기 때문에 최선의 선택이라고 생각합니다. 그러나 그것은 실제로 당신의 시나리오에 달려 있습니다.

몇 가지 방법을 사용하면 원하는 부분을 부분적으로 달성 할 수 있습니다. 브 루트 포스이 그 중 하나입니다. (단, 파일 이름이 25 자 이상인 경우에는 무차별 공격이 오래 걸릴 수 있습니다.) 수정 된 사전 공격이 또 다른 옵션입니다. 다른 옵션은 CRC32 알고리즘의 분석을 기반으로하며 알고리즘의 구현 세부 사항을 숙지해야합니다 (그렇지 않으면 구현하려는 내용을 이해하는 데 어려움이 있습니다). 예를 들어 article 또는 artice을 참조하십시오.

편집 : 브루스 슈나이어 (다른 것들 사이에 적용되는 암호의 저자)에 의해 정의 :

편도 함수는 계산하기 비교적 쉽게,하지만 되돌릴 을 상당히 어렵습니다. .... 이 문맥에서 "hard"는 다음과 같이 정의됩니다. 컴퓨터에 모두 이 할당 된 경우에도 에서 f (x)에서 x를 계산하는 데 수백만 년이 걸릴 수 있습니다.

해시 함수라고 불리는 고정 길이 (작다) 출력 문자열 을 가변 길이 입력 문자열 을 (프리 이미지) 취하여 변환 수학하거나하는 기능, (인 해쉬 값).

단방향 해시 의 보안은 일방성입니다.

+0

이 설명에서 모든 해시 알고리즘은 "일방적 인 부분이 없습니다". 데이터에 대해 무차별 대항력을 사용하여 원하는 결과를 산출 할 수있는 알고리즘을 항상 찾을 수 있기 때문입니다. CRC32에 "일방 통행 (one-way)"부분이없고 왜 SHA384가 없는지에 대해 설명해 주셨으면합니다. –

+0

"단방향"부분을 정의하지 않았습니다. brute-force를 고려한다면 One Time Pad와 파생 알고리즘 (일부 비밀 공유 체계와 같은)을 제외하고는 모든 것이 안전하지 않습니다. "단방향"부분은 "역전하기 어렵다"는 알고리즘에 의존합니다. 즉, 주어진 이미지에 대해 소스에 대해 아무것도 배우기가 어렵다는 것을 의미합니다. "편도"는 잘 정의 된 기준이 아닙니다. 현재의 연구 및 알고리즘 연구에 달려 있습니다. 연구 커뮤니티를 통해 확산되는 새로운 지식을 기반으로 변화 할 수 있습니다. CRC는 결코 "일방적"으로 만들어지지 않았으며 디자이너는 그렇게하지 않으려 고 노력했습니다. –

+0

http://en.wikipedia.org/wiki/Hash_function http://en.wikipedia.org/wiki/Cryptographic_hash_function 차이점을 확인 하시겠습니까? – Andrey

관련 문제