Secara teori itu mungkin, tetapi belum dilakukan.
Apa yang Anda cari disebut "tabrakan hash:" dua file dengan hash yang sama. Kode hash kriptografi seperti SHA-1 pada umumnya dirancang untuk membuat ini sulit. Karena SHA-1 adalah kode 160 bit, maka dibutuhkan upaya rata-rata 2 ^ 159 untuk menemukan duplikat. Jika suatu algoritma ditemukan yang andal melakukan lebih baik daripada itu terhadap hash kriptografi, hash dianggap "rusak."
MD-5 adalah contoh hash yang sangat rusak. Itu seharusnya memiliki kekuatan 128 bit, membutuhkan rata-rata 2 ^ 127 upaya. Seperti halnya, menyalahgunakan kerentanan yang diketahui, jumlah sebenarnya upaya yang dibutuhkan bisa serendah 2 ^ 47. Ini BANYAK lebih kecil dari 2 ^ 127. Bahkan, itu telah dilakukan dalam waktu kurang dari satu hari di sebuah cluster komputasi modern.
Saya memberikan contoh itu karena itu paling dekat dengan bagaimana Anda ingin menggunakan SHA-1. Namun, itu bukan pendekatan cryptanalysis yang paling umum digunakan untuk memastikan hash tidak rusak. Mereka biasanya memungkinkan tabrakan antara dua file, seperti yang dipilih oleh penyerang, bukannya Anda memilih satu file dan penyerang berusaha mencocokkannya. Serangan semacam ini memiliki keuntungan lebih mudah dibandingkan. Jika saya merasa "sulit" untuk meretas file Anda, apakah itu berarti file lain sama kuatnya? Serangan ini tempat penyerang dapat memilih kedua file memastikan kami menangkap yang terburuk dari yang terburuk.
Serangan semacam ini memungkinkan trik menarik yang dikenal sebagai " serangan ulang tahun ." Singkatnya, bisa menggunakan serangan ulang tahun membagi dua kekuatan algoritma, sehingga SHA-1 membutuhkan 2 ^ 80 upaya (rata-rata) dan MD5 membutuhkan 2 ^ 64 upaya (rata-rata). Ini adalah setengah dari 160 dan 128 masing-masing.
SHA-1 telah mengetahui serangan yang menurunkan kekuatannya dari 2 ^ 80 menjadi 2 ^ 69. Ini tidak akan terlalu berarti bagi Anda. 2 ^ 69 upaya adalah waktu yang lama .
Namun, dari sejarah, kami telah menemukan bahwa algoritma hash tidak rusak secara spontan, melainkan rusak seiring waktu. Tidak ada yang memecahkan algoritma seperti MD-5 yang mengambilnya dari 2 ^ 64 hingga 2 ^ 47 semalam. Ini terjadi seiring waktu, karena banyak orang menerbitkan makalah tentang matematika yang mereka gunakan menentangnya. Orang biasanya dapat menonton kompleksitas serangan turun perlahan dari awal algoritma (di mana serangan terbaik biasanya serangan ulang tahun).
Fakta bahwa kita melihat beberapa perubahan dalam tabrakan menunjukkan SHA-1 sedang melihat cahaya di ujung terowongan. Ini masih kuat, tetapi mungkin ada keinginan untuk naik ke SHA-3 terbaru yang saat ini jauh lebih aman.
Anda harus benar-benar membuat keputusan seperti itu dari perspektif model ancaman. Berapa banyak kerusakan yang bisa dilakukan oleh penyerang jika mereka mendapatkan salah satu dari tabrakan ini. Apakah skrip penyerang Anda kiddies dengan akses ke beberapa laptop, atau pemerintah dengan seluruh cluster superkomputer yang mereka miliki. Seberapa besar jendela waktu yang dimiliki penyerang untuk memecahkan hash sebelum tidak digunakan (banyak penggunaan kriptografi melibatkan "perubahan penjaga," seperti rotasi kata sandi). Semua ini akan mempengaruhi seberapa serius Anda harus mempertimbangkan tabrakan.