Penjana Whirlpool

5 daripada 2 penilaian

Penjana Whirlpool ialah alat percuma yang menukarkan input rentetan kepada cincangan kriptografi Whirlpool dengan panjang tetap.

Apakah itu Whirlpool, dan adakah ia masih selamat?

Whirlpool ialah fungsi cincangan kriptografi 512 bit yang masih dianggap selamat daripada serangan perlanggaran dan praimej secara praktikal, walaupun jarang digunakan dalam sistem baharu. Vincent Rijmen dan Paulo S. L. M. Barreto mula menerangkannya pada tahun 2000. Versi yang disemak semula kemudiannya dimasukkan ke dalam piawaian ISO/IEC 10118-3.

Fungsi cincangan Whirlpool menukarkan data input kepada cap jari yang dipanggil cerna. Operasi cincangan Whirlpool bersifat sehala, dan panjang cernanya sentiasa sama sama ada input hanya satu aksara atau beberapa halaman teks. Dengan Whirlpool, perubahan kecil sekalipun pada input sepatutnya menghasilkan cerna yang jauh berbeza.

Whirlpool menghasilkan 512 bit, bersamaan 64 bait. Apabila dipaparkan dalam format perenambelasan, cerna tersebut mengandungi 128 aksara perenambelasan. Tiada kaedah praktikal yang diketahui untuk memecahkan algoritma penuh ini, tetapi penggunaannya yang terhad bermakna SHA-256 atau SHA-512 biasanya lebih mudah disepadukan dengan perisian dan protokol semasa.

Bagaimanakah cara menggunakan penjana Whirlpool?

Masukkan rentetan tepat yang mahu dicincang, kemudian gunakan nilai yang dipaparkan dalam medan hasil Hash Whirlpool. Salin keseluruhan cerna Whirlpool tanpa menambah atau membuang sebarang aksara.

Pengiraan Whirlpool dilakukan pada pelayan. Input yang dihantar kepada Penjana Whirlpool bergerak ke pelayan melalui HTTPS dan tidak disimpan. Oleh sebab input meninggalkan peranti semasa diproses, jangan masukkan kata laluan, kunci peribadi atau bahan lain yang sama sekali tidak boleh dihantar kepada perkhidmatan luar.

Hasil perenambelasan biasa mempunyai bentuk seperti berikut:

  • Memasukkan invoice-2026 menghasilkan cerna 512 bit yang dipaparkan sebagai 128 aksara perenambelasan.
  • Memasukkan Invoice-2026 menghasilkan cerna 128 aksara yang berbeza kerana huruf besar tersebut mengubah input.
  • Memasukkan invoice-2026 juga menghasilkan cerna yang berbeza kerana ruang di hujung ialah sebahagian daripada rentetan.

Apabila menyemak nilai yang diketahui, pastikan kedua-dua pihak menggunakan Whirlpool dan bukannya algoritma 512 bit yang lain. Cerna sepanjang 128 aksara sahaja tidak membuktikan bahawa ia ialah Whirlpool.

Bolehkah cincangan Whirlpool dinyahsulit atau diterbalikkan?

Tidak, cincangan Whirlpool tidak boleh dinyahsulit kerana pencincangan bukan penyulitan dan tidak mempunyai kunci penyahsulitan. Seseorang hanya boleh mencuba pelbagai input, mencincang setiap satunya dan mencari cerna yang sepadan.

Proses meneka ini mungkin dapat menemukan input yang pendek atau mudah dijangka. Cincangan bagi perkataan lazim boleh ditemukan dengan menguji kamus atau nilai yang telah dikira sebelum ini, walaupun fungsi cincangan itu sendiri tidak diterbalikkan. Input yang lebih panjang dan sukar dijangka jauh lebih sukar diteka, tetapi itu tidak menjadikan Whirlpool mentah sesuai untuk menyimpan kata laluan.

Pangkalan data kata laluan sepatutnya menggunakan skim pencincangan kata laluan seperti Argon2id, scrypt atau bcrypt, bukan Whirlpool mentah. Skim ini menyokong garam dan pemprosesan yang sengaja memerlukan sumber tinggi, sekali gus memperlahankan percubaan meneka secara besar-besaran. Whirlpool ialah cincangan kegunaan umum dan dengan sendirinya tidak menyediakan perlindungan khusus untuk kata laluan tersebut.

Kegunaan Whirlpool yang masih sesuai

Whirlpool masih berguna apabila spesifikasi, arkib atau aplikasi sedia ada menetapkan penggunaannya secara khusus. Cerna 512 bitnya juga menjadikan padanan tidak sengaja amat tipis kemungkinannya, tetapi keputusan untuk menggunakannya biasanya perlu berdasarkan keserasian.

  • Jumlah semak boleh mendedahkan perubahan tidak sengaja pada muat turun, sandaran dan data yang dipindahkan apabila nilai Whirlpool yang dipercayai sudah tersedia.
  • Penyahduplikasian boleh menggunakan cerna sebagai pengecam calon, diikuti perbandingan bait demi bait sebelum data dipadamkan.
  • Keserasian legasi mungkin memerlukan Whirlpool untuk arkib lama, katalog integriti atau aplikasi yang sudah menyimpan cernanya.
  • Pengindeksan data boleh menggunakan cerna sebagai pengecam dengan panjang tetap apabila sistem tersebut sudah menyeragamkan penggunaan Whirlpool.

Jumlah semak Whirlpool biasa tidak membuktikan siapa yang mencipta sesuatu fail. Penyerang yang boleh menggantikan kedua-dua fail dan cincangan terbitannya boleh membuatkan kedua-duanya sepadan. Oleh itu, sistem yang disahkan memerlukan tandatangan digital atau kod pengesahan mesej berasaskan kunci.

Jangan pilih MD2, MD4 atau SHA-1 sebagai peningkatan keselamatan. Algoritma lama tersebut sudah tidak selamat dari segi rintangan perlanggaran. Penjana MD2, Penjana MD4 dan Penjana SHA-1 digunakan terutamanya untuk menghasilkan semula nilai yang diperlukan oleh sistem legasi.

Butiran input apakah yang mengubah cincangan Whirlpool?

Whirlpool memproses setiap bait input, termasuk ruang, tanda baca, penggunaan huruf besar dan kecil serta penamat baris. Oleh itu, dua rentetan yang kelihatan serupa pada skrin mungkin mempunyai cincangan yang berbeza.

  • Ruang pada awal dan akhir ialah sebahagian daripada input Whirlpool melainkan dibuang sebelum pencincangan.
  • Bagi Whirlpool, penamat baris yang ditulis sebagai LF ialah input yang berbeza daripada aturan CRLF yang lazim digunakan oleh perisian Windows.
  • Aksara beraksen dan bukan Latin mesti ditukarkan kepada bait menggunakan pengekodan aksara. UTF-8 dan pengekodan lain tidak semestinya menghasilkan cerna yang sama.
  • Nombor yang dimasukkan ke dalam Penjana Whirlpool dianggap sebagai aksara. Teks 0015 berbeza daripada 15.
  • Input kosong masih mempunyai cerna Whirlpool yang ditetapkan. Ia tidak diwakili oleh hasil kosong.
  • Input yang sangat panjang tetap menghasilkan 512 bit.

Untuk mendapatkan hasil yang boleh diulang, kekalkan pengekodan dan penamat baris asal serta elakkan pemangkasan automatik atau penormalan Unicode. Algoritma ini mencincang bait dan tidak mengetahui bahawa dua jujukan dengan pengekodan berbeza mungkin mewakili teks yang kelihatan sama.

Soalan lazim

Adakah huruf besar dalam nilai perenambelasan mengubah cincangan?

Tidak. Dalam cerna Whirlpool, huruf perenambelasan boleh ditulis dalam bentuk huruf besar atau kecil tanpa mengubah cerna yang mendasarinya. Jika dua nilai perenambelasan yang sah hanya berbeza dari segi huruf besar dan kecil, kedua-duanya mewakili bait yang sama.

Adakah cerna 512 bit memberikan keselamatan perlanggaran 512 bit?

Tidak. Bagi cincangan 512 bit yang ideal, rintangan perlanggaran generik adalah kira-kira 256 bit disebabkan had hari lahir. Rintangan praimej generik pula adalah kira-kira 512 bit, walaupun angka tersebut tidak dapat mengatasi kelemahan input atau reka bentuk aplikasi yang buruk.

Bolehkah saya menggunakan penjana ini untuk mencincang fail?

Alat ini ditetapkan untuk input rentetan, jadi bait fail sebarangan tidak sepatutnya ditampal ke dalam medan teks. Gunakan aplikasi setempat atau pustaka yang boleh memproses fail dan menyokong Whirlpool secara khusus, kemudian bandingkan keseluruhan cerna perenambelasan sepanjang 128 aksara.

Perlukah saya menambahkan garam pada jumlah semak Whirlpool?

Biasanya tidak. Jumlah semak mesti boleh dihasilkan semula daripada data asal, manakala garam rawak mengubah hasil dan perlu disimpan untuk menghasilkannya semula. Garam digunakan terutamanya dalam reka bentuk pencincangan kata laluan, dan Whirlpool sahaja bukan pilihan yang sesuai untuk tujuan tersebut.

Sebelum bergantung pada sesuatu hasil, semak nama algoritma, pengekodan input, ruang kosong dan panjang penuh cerna. Simpan jumlah semak yang dijangkakan di lokasi dipercayai yang berasingan daripada data yang hendak disahkan.

Alat popular