Hashquine PNG 1337 | Hackaday

Hashquine adalah cara yang menyenangkan untuk memamerkan trik kripto Anda — Ini adalah file yang berisi hashnya sendiri. Dalam beberapa jenis file itu sepele, Anda hanya memilih hash untuk memukul, dan kemudian memasukkan data acak dalam komentar atau bidang tak terlihat lainnya sampai Anda mendapatkan tabrakan. Skrip Python yang mencetak hashnya sendiri akan mudah. Tetapi tidak setiap jenis file begitu mudah. Ambil PNG misalnya. file-file ini dibagi menjadi beberapa bagian data, dan setiap bagian adalah CRC-32 dan adler32 checksum. Buat satu perubahan, dan semuanya berubah, di tiga tempat sekaligus. Semoga berhasil menemukan tabrakan itu. Jadi bagaimana tepatnya? [David Buchanan] menghasilkan PNG yang indah itu, yang sebenarnya md5sum dengan nilai dalam gambar? Sangat cerdik.

md5sum hashquine.pngSyukurlah [David] berbagi beberapa triknya, dan itu cukup rapi. Teknik yang dia perinci adalah hack meet-in-the-middle, di mana 36 pasang blok tabrakan MD5 ditemukan, dengan pemahaman bahwa 36 blok ini akan ditambahkan ke file. Untuk setiap blok, baik A atau B dari pasangan akan dicolokkan di lokasi itu, dan md5sum tidak akan berubah. Ini adalah total 2^36 kemungkinan kombinasi dari blok-blok ini, yang lebih banyak perhitungan daripada yang praktis untuk peretasan khusus ini. Solusinya adalah menghitung terlebih dahulu hasil dari setiap kemungkinan kombinasi dari 18 blok pertama, dan menyimpan hasilnya dalam tabel pencarian. Paruh kedua tabrakan dijalankan mundur dari nilai CRC target, dan hasilnya diperiksa terhadap tabel pencarian. Temukan hit, dan Anda baru saja menemukan serangkaian blok yang cocok dengan hasil md5sum dan CRC32 target Anda.

Terimakasih untuk [Julian] untuk tipnya! Dan seperti yang dia jelaskan, peretasan ini adalah salah satu yang semakin mengesankan semakin Anda memikirkannya. Menikmati!