Aceasta este o continuare a unei întrebări anterioare Înmulțirea matriceală a rezumatelor hash admite manipularea rezultatului?; această formulare a eșuat deoarece a admis matrici singulare și, prin urmare, degenerează la matricea zero după ce sunt înmulțite suficiente elemente. Răspunsul a sugerat să folosești un câmp precum $GF(256)$ în loc de un inel și respingerea matricilor singulare, ceea ce explorează această întrebare.
Acesta este postat încrucișat de la Matematică SE.
Luați în considerare o succesiune ordonată de elemente $a_n$, o functie $h$ care derivă o matrice inversabilă peste câmp finit ââ â din hash criptografic al unui singur element și o funcție $H$ care găsește produsul tuturor acestor matrici dintr-o secvență:
$H(a) = \prod_{i = 1}^{n} h(a_i)$
Defini $H(a)$ să fie hash-ul secvenței $a_n$.
Rețineți că din cauza asociativității, date fiind două secvențe $a_n$, $b_m$, atunci $H(a)*H(b) = H(a ⧺ b)$ (Unde $⧺$ înseamnă concatenează secvențele).
Presupunând că putem avea încredere că funcția de derivare a matricei inversabile are proprietățile unei funcții hash criptografice, Există un algoritm mai bun decât forța brută care poate găsi două secvențe diferite care au același hash?
Am codificat un exemplu al acestei definiții într-un caiet Julia pe care l-am publicat aici.