'반사'해시 알고리즘이 있습니까?


11

이론적이든 실용적이든 클래스의 알고리즘이 아래에 주어진 정의에 따라 '반사'로 간주 될 수 있도록 해시 알고리즘의 클래스가 있습니까?

  • hash1 = algo1 ( "입력 텍스트 1")
  • hash1 = algo1 ( "입력 텍스트 1"+ hash1)

+ 연산자는 알고리즘 (algo1)이 정확히 동일한 결과를 생성하도록 출력 (hash1)을 다시 입력 ( "입력 텍스트 1")으로 결합하기 위해 연결되거나 지정된 다른 작업 일 수 있습니다. 즉, 입력 및 입력 + 출력에서의 충돌. + 연산자는 두 입력을 모두 결합해야하며 algo는 입력의 일부를 버릴 수 없습니다.

알고리즘은 출력에서 ​​높은 엔트로피를 생성해야합니다. 출력을 다시 하나 또는 두 개의 가능한 입력으로 되 돌리는 것은 암호 적으로 어렵지 않을 수 있습니다.

나는 수학자가 아니지만 좋은 대답에는 왜 그런 종류의 알고리즘이 존재할 수 없는지에 대한 증거가 포함될 수 있습니다. 그러나 이것은 추상적 인 질문이 아닙니다. 시스템에 그러한 알고리즘을 사용하는 것이 실제로 관심이 있습니다.

이것은 /programming/4823680/reflexive-hash 에 처음 게시 된 질문의 복제본입니다.



2
모든 입력 텍스트 또는 하나의 입력 텍스트를 보유하는이 속성에 관심이 있습니까? 모든 입력 텍스트를 유지하려면 충돌을 구성하는 것이 의도적으로 쉽지 않으므로 좋은 해시 함수로 간주 될 수 있다고 생각하지 않습니다.
피터 테일러

누군가 자신의 해시가 포함 된 파일을 해시하려고합니다. ;)
Raphael

@ 피터 테일러-임의의 입력 텍스트에 대해 설명 된대로 작동하는 기능을 찾고 있습니다. 각각의 다른 입력은 일반적으로 가능한 모든 다른 입력에 대해 높은 상호 엔트로피를 갖는 해시를 생성합니다. 돌이킬 수없는 좋은 해시 함수가 작동합니다. 그러나 내가 찾고있는 해시 함수에는 돌이킬 수없는 속성이 필요하지 않습니다. 높은 엔트로피이면 충분합니다.

@Raphael-그렇습니다. 간결한 방법입니다.

답변:


9

요구 사항을 충족 하는 간단한 구성을 제공합니다 . 나는 단지 "반사"해시 함수 의 존재 에 응답하기 위해 그것을 제공한다 .

하자 제조 어떠한 해시 함수가 될 높은 엔트로피 출력하여. G가 임의 길이의 이진 문자열을 k 비트 이진 문자열 로 해시 한다고 가정합니다 . 여기서 k 는 양의 정수입니다. 하자 + 나타내는 병합 연산자 및하자 | x | 이진 문자열 x 의 길이를 나타냅니다 .GGkk+|x|x

입력 x 에 해시 함수 를 다음과 같이 정의하십시오 .Hx

  1. |x|kH(x)=defG(x)
  2. |x|>kLR(|x|k)kxx=L+R|R|=kR=H(L)H(L)H(x)=defRH(x)=defG(x)

내가 말했듯이, 이것은 사소한 구조입니다. 실제 (MD5, SHA-1, ... 등) 이론적 인 모든 해시 함수에 적용 할 수 있습니다.


H|R|=k

@Raphael : 오타를 지적 해 주셔서 감사합니다 (수정 됨). R = G (L) 인 경우를 제외하고, H는 G와 동일한 엔트로피를 갖는다. 조건에 따라이 조건에서 H (x)는 R과 같아야합니다. 엔트로피를 높이기 위해 여기서는 아무것도 할 수 없습니다. "반사"요구 사항으로 인해 출력이 변경되지 않습니다.
MS Dousti

@Sadeq : 해시 함수를 재귀 적으로 계산해야합니까? 어떤 식 으로든이 사실로부터 이익을 얻는 알고리즘은 무엇입니까?
Yasser Sobhdel

H(M+H(M)+H(M)++H(M))H(M)

Sadeq, 감사합니다. 나는 이것이 요청 된대로 내 질문에 대답 할 수 있다고 생각합니다 . 당신은 적절한 경고에 답을 숨겼습니다. 실용적인 관점에서, 나는 그것이 SHA-1과 같은 잘 알려진 알고리즘에 대한 오버레이라는 사실을 좋아합니다. 내가 올바르게 이해했다면 알고리즘은 필요한 충돌에 부딪 칠 때까지 해시를 재귀 적으로 계속 계산하고 중지합니다. 어떤 경우에 우리는 이것을 순진한 솔루션으로 더빙 할 수 있습니다. 내 관심사는 임베디드 알고리즘 (SHA-1 말)이 결국 필요한 충돌 해시를 칠 것이라는 점을 암시 가정있을 것 같습니다되어, 주어진
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.