Keccak


SHA-3 ("'Keccak"') adalah algoritma variabel-bit hashing dikembangkan oleh sebuah kelompok yang dipimpin oleh Joan Dimen pada tahun 2012. Pada 5 Agustus 2015, algoritma ini disetujui dan diterbitkan sebagai FIPS 202 standar. Algoritma Sha-3 berdasarkan prinsip dari kriptografi spons.

Riwayat[sunting]

Pada tahun 2004-2005, beberapa algoritma hashing diserang, termasuk serangan serius terhadap algoritma SHA-1 yang disetujui oleh Institut Nasional Standar dan teknologi (NIST).

Dalam respon, NIST mengadakan seminar terbuka dan mengumumkan kompetisi untuk mengembangkan algoritma hashing baru pada 2 November 2007.

Pada 2 Oktober 2012, pemenang kontes adalah algoritma Korcak dan standardisasi sebagai algoritma SHA-3 baru.

Pada 5 Agustus 2015, algoritma ini disetujui dan diterbitkan sebagai FIPS 202 standar.

Algoritma dikembangkan oleh Guido Bertoni, Joan Dimen, Gilles van Asche dari Stmicroelektronik dan Michael Peters dari NXP.

Algoritmanya didasarkan pada fungsi hash sebelumnya Panama dan Radogatún. Panama dikembangkan oleh Dimen dan Craig Clapp pada tahun 1998, RadioGatún dilaksanakan atas dasar Panama Dimen, Peters dan van Ashe pada tahun 2006.

Selama kontes, kontestan diizinkan untuk membuat perubahan algoritma mereka untuk memperbaiki masalah yang terdeteksi. Perubahan dibuat untuk algoritma Korcak:

  • Jumlah putaran meningkat dari 12 + l ke 12 + 2l;
  • Padding has been changed from a complex shape to a simpler one, explained below;
  • Kecepatan (r) " r " telah ditingkatkan ke batas keamanan (sebelumnya dibulatkan ke kekuatan terdekat dari 2).

Keterangan algoritm[sunting]

Fungsi dari Keccak consists of the berikut: Keccak[r,c](M) {

Tahap menyerap[sunting]

Tahap menyerap dapat diwakili sebagai fungsi berikut: Keccak-f[b](A)

  • Disini b adalah nilai dari fungsi yang dipilih (baku 1600).
  • Dan fungsi putaran () adalah semutasi semu-acak diterapkan pada setiap putaran. Jumlah putaran "' nr "' dihitung dari nilai-nilai r dan c.

Operasi yang dilakukan pada setiap putaran mewakili fungsi berikut: Round[b](A,RC)

Di sini,fungsi membusuk(X, n) menunjukkan pergeseran siklik elemen X oleh posisi n.

R[] array adalah set nilai yang telah ditentukan berapa banyak bytes untuk shift di setiap putaran:

Lihat juga di BitcoinWiki[sunting]

HitBTC

X16R