Tabel pelangi

Meja pelangi. Rantai kata sandi/hash dibuat menggunakan beberapa fungsi reduksi (satu per kolom).

Tabel pelangi adalah tabel-pencarian terkomputasi yang digunakan untuk mengembalikan fungsi Kriptografi hash. Umumnya digunakan untuk meng-crack hash kata sandi. Tabel pelangi digunakan dalam mengembalikan bentuk polos dari kata sandi yang terdiri dari karakter tertentu dengan panjang sekian.

Hal ini merupakan contoh praktis dari penukaran ruang-waktu menggunakan waktu pemrosesan komputer yang kurang saat biaya dari penyimpan lebih dibandingkan dengan melakukan kalkulasi setiap hash untuk setiap percobaan atau waktu pemrosesan yang lebih dan penyimpan yang kurang dibandingkan dengan sebuah tabel-pencarian sederhana dengan satu entri setiap hash.

Penggunaan fungsi kunci turunan yang menerapkan kriptografi garam membuat serangan ini jadi sulit dilakukan.

Tabel pelangi merupakan perbaikan dari algoritme yang lebih sederhana sebelumnya, karya Martin Hellman[1] yang menggunakan inversi hash dengan mencari rantai pre-terkomputasi hash.

Etimologi

Rainbow Table illustration presented at Crypto 2003
Rainbow Table illustration presented at Crypto 2003

Istilah, "Tabel pelangi," pertama kali digunakan dalam makalah awal Oechslin. Istilah ini mengacu pada cara fungsi pengurangan yang berbeda digunakan untuk meningkatkan tingkat keberhasilan serangan. Metode asli oleh Hellman menggunakan banyak tabel kecil dengan metode fungsi pengurangan yang berbeda masing-masing. Tabel pelangi jauh lebih besar dan menggunakan sebuah metode fungsi pengurangan yang berbeda di setiap kolomnya. Saat warna-warna digunakan untuk merepresentasikan fungsi pengurangan, sebuah pelangi muncul di tabel pelangi. Gambar 2 dari makalah Oechslin berisi grafik hitam-putih yang menggambarkan bagaimana bagian-bagian ini terkait. Untuk presentasinya di konferensi Crypto 2003, Oechslin menambahkan warna pada grafik untuk membuat asosiasi pelangi lebih jelas. Grafik yang disempurnakan yang dipresentasikan pada konferensi ditampilkan di sebelah kanan.

Penggunaan umum

Hampir semua distribusi dan variasi dari Unix, Linux, dan BSD menggunakan hash dengan garam, meskipun banyak aplikasi hanya menggunakan hash (khususnya MD5) tanpa garam. Keluarga Microsoft Windows NT/2000 menggunakan: metode LAN Manager dan NT LAN Manager (berdasarkan dari MD4) dan juga tanpa garam, yang menjadikannya salah satu tabel yang paling populer dibuat. Tabel pelangi telah mengalami pengurangan penggunaan pada tahun 2020 karena penggaraman lebih umum dan serangan brute force berbasis GPU menjadi lebih praktis. Namun, tabel pelangi tersedia untuk delapan dan sembilan karakter kata sandi NTLM.[2]

Referensi

  1. ^ M.E. Hellman, "A CryptanalyticTime - Memory Trade-Off," IEEE Transactions on Information Theory, vol. 26, pp. 401-406, July 1980.
  2. ^ "A Case for Modern Rainbow Table Usage". rainbowcrackalack.com. Positron Security. 26 February 2021. 

Pranala luar