Luați o secvență de buffer-uri de octeți, hash fiecare dintre ele, interpretați digesturile hash ca matrici pătrate cu elemente int fără semn de 8 biți și (matrice) înmulțiți-le în ordine. Definiți matricea finală să fie „hash” al listei de elemente.
Această definiție are câteva proprietăți utile. În special, proprietatea asociativă a înmulțirii matricei permite calcularea hash-ului listă al concatenării a două liste prin calcularea hash-ului fiecărei liste în mod independent și apoi reducerea acestora prin multiplicare pentru a obține hash-ul listă final. Acest lucru funcționează cu orice partiționare arbitrară. Non-comutativitatea prevede că diferitele comenzi ale elementelor creează un hash diferit pentru listă, așa cum s-ar aștepta pentru o listă.
(Explorez această definiție mai detaliat, incluzând exemple de cod de lucru într-un caiet python jupyter pe care l-am publicat intitulat Merklist. De asemenea, vă puteți juca singur cu el Google Colabși adăugați adnotări hypothes.is pe postare pentru feedback general. Pot ridica detalii de acolo la această întrebare dacă este necesar.)
Întrebare
- Este această definiție rezistentă la atacurile preimagine? Altfel spus, este posibil să se selecteze o secvență de elemente care are ca rezultat un hash arbitrar în lista țintă?
Rețineți că elementele trebuie să existe, astfel încât digerările de elemente care intră în list-hash au rezistență preimagine bazată pe funcția hash de bază (pe care putem presupune că este valabilă în domeniul de aplicare al acestei întrebări). Deci, într-adevăr întrebarea devine: Ordinea sau prezența acestor resume hash poate fi folosită pentru a modifica în mod arbitrar conținutul matricei finale? De exemplu, puteți genera o secvență de elemente care produce o listă-hash care este matricea zero? (Lovirea unei matrice zero înseamnă terminarea jocului, afaict.)
Am făcut câteva căutări și nu am găsit răspunsuri la niciuna dintre aceste întrebări, deși bănuiesc că s-ar putea datora atât ignoranței mele cu privire la terminologia corectă, cât și inexistenței răspunsurilor.