2012-06-08 3 views
0

나는 foo.txt라고하는 파일이 있습니다. SHA-256은 SHA (foo.txt)입니다. 자, 파일을 여러 조각으로 나누어 p1, p2, ... pn이라고 말합니다. 이들 각 조각의 해시는 SHA (p1), SHA (p2), ... SHA (pn)입니다.해당 파일 조각의 해시에서 파일의 해시를 추출하십시오.

내 질문에, 어떤면에서 SHA (p1), SHA (p2), ..., SHA (pn) 만 주어진다면 SHA (foo.txt)를 유도 할 수 있습니까?

각 파일 조각에 해시가있는 문제를 해결하기 위해 노력하고 있습니다. 그러나 실제 파일의 SHA를 파생하거나 실제 파일에 액세스 할 필요가 없습니다.

답변

0

아니요, 불가능합니다. 보안 해시 기능의 성격에 위배됩니다.

당신이 할 수있는 유일한 일은 의 모든 해시를 (해당 정보의 길이와 함께) 개로 저장 한 다음 전체 파일의 해당 부분을 모두 확인하여 "결합 된"해시를 확인하는 것입니다. 같은 방식.

+0

그는 그가 할 수있는 것만은 아닙니다. 그의 필요에 따라, 머클 나무가 유용 할 수 있습니다. –

-1

물론, 방법이 있습니다.

해시 할 때 원하는 조각의 다이제스트와 일치하는 바이트 문자열을 찾습니다. 그들을 올바른 순서로 모으십시오. 해시 전체 파일을 재구성.

실제 조각과 충돌 할 문자열의 수가 무한대이므로이 방법은 오류 방지가 아닙니다. 또한 많은 시간이 걸릴 것입니다.

+0

보안 해시 함수의 요구 사항 중 하나는 지정된 해시와 일치하는 "바이트 문자열 찾기"가 불가능하거나 실행 불가능하다는 것입니다. – Thilo

+0

@ Thilo Infeasible, 가능하지만 가능합니다. 아닙니다.이 우주에서는 컴퓨팅 파워 나 시간이 충분하지 않지만 궁극적으로 정답을 생성하는 알고리즘을 설명하고 알고리즘을 설명 할 수 있습니다. (일명 짐승 같은 강제) – bdares

+0

나는 사용자가 실제적으로 구현하기가 완전히 불가능한 '해결책'을 원하지 않는다고 확신한다. –

관련 문제