it-swarm-id.com

Apakah "garam asli" sama dengan "vektor inisialisasi"?

Dalam pertanyaan tentang garam asli vs. garam pals , jawabannya menggambarkan bagaimana garam nyata 'mengganggu algoritma enkripsi.' Saya tahu kira-kira cara kerja inisialisasi vektor; apakah ini konsep yang sama, atau sesuatu yang sama sekali berbeda?

38
Bryan Agee

A garam dan vektor inisialisasi sebagian besar sama dengan yang berikut ini sense: mereka adalah data publik, yang harus dihasilkan kembali untuk setiap instance (setiap kata sandi hash, setiap pesan terenkripsi). Garam adalah tentang dapat menggunakan kata sandi yang sama beberapa kali tanpa membuka kelemahan; atau, jika Anda mau, mencegah penyerang berbagi biaya serangan kata sandi seandainya kata sandi yang sama dapat digunakan pada beberapa contoh - yang semuanya adalah tabel precomputed (Rainbow) . Maksud IV dalam, katakanlah, enkripsi simetris dengan CBC, adalah mentolerir penggunaan kunci yang sama untuk mengenkripsi beberapa pesan berbeda.

Nama "vektor inisialisasi" mengisyaratkan proses berulang atas keadaan internal yang diberikan, IV menjadi apa negara diinisialisasi. Misalnya, fungsi hash MD5 didefinisikan sebagai tindakan berulang dari fungsi kompresi yang mengambil input kondisi saat ini (128 bit) dan blok pesan berikutnya (512 bit), dan menampilkan nilai status berikutnya; pada awalnya, negara diinisialisasi ke nilai konvensional yang disebut "IV". Dalam pengertian itu, sebagian besar "garam" yang digunakan dalam pemrosesan kata sandi bukanlah "vektor inisialisasi". Tapi ini sedikit interpretasi yang berlebihan dari ekspresi.

Namun, penamaan sebagian besar masalah Tradisi. "Garam" adalah sejenis IV yang:

  • terlibat dalam pemrosesan kata sandi;
  • harus berbeda untuk setiap instance pemrosesan (tidak bisa menjadi nilai konvensional tetap);
  • hanya membutuhkan keunikan ("tidak berulang"), bukan seleksi seragam di antara ruang kemungkinan garam (meskipun pemilihan acak seragam adalah cara yang baik dan murah untuk mendapatkan keunikan dengan probabilitas yang luar biasa, dengan asumsi bahwa garamnya cukup panjang).

Informasi (bagaimana garam/IV dimasukkan dengan tepat dan pada titik apa dalam algoritma) adalah ikan haring merah.

46
Thomas Pornin

Jawaban di atas benar ketika "garam" dibahas dalam konteks kata sandi. Namun, istilah "garam" juga digunakan untuk kegunaan lain dari nilai acak tetapi tidak rahasia.

Untuk perawatan garam yang sangat ketat, berkaitan dengan pengekstraksi acak, baca Ekstraksi Kriptografi dan Penurunan Kunci: Skema HKDF . Ada beberapa teori di sana mengapa penggunaan garam wajib untuk mendapatkan ekstraktor keacakan generik - meskipun ini tidak terlalu relevan dalam kasus kata sandi.

3
Nakedible