CubeHash

pengantar

Fungsi hash kriptografi adalah serangkaian langkah yang mengubah blok data yang berubah-ubah menjadi urutan panjang tetap. Setiap perubahan dalam data masukan menyebabkan perubahan nilai fungsi. Fungsi hash digunakan untuk menghitung checksum, saat membuat tanda tangan elektronik, saat menyimpan kata sandi dalam sistem keamanan dalam bentuk kode hash, dll.





Keluarga fungsi hash CubeHash diusulkan sebagai standar SHA-3 baru dalam kompetisi hash National Institute of Standards and Technology (NIST) 2009 .





Artikel ini menjelaskan prinsip operasi keluarga ini, dan juga membahas tentang resistensi algoritme terhadap berbagai serangan.





Deskripsi Algoritma

Berikut ini adalah algoritma kerja menurut spesifikasi [1].





Pengoperasian algoritma ditentukan oleh 3 parameter:





  • - ukuran urutan keluaran dalam bit,





  • - jumlah putaran,





  • - ukuran blok pesan input dalam byte,





Ide dari algoritma ini adalah untuk mengubah keadaan secara berurutan berdasarkan urutan masukan. Algoritme terdiri dari 5 langkah:





  • inisialisasi keadaan internal





  • memecah pesan menjadi beberapa blok





  • transformasi keadaan berulang













.





32 - ( little-endian).





3 . . .





. . . .





. . .





1, .





.





F

, , , . 10 :









  1. ,





  2. ,





  3. ,





  4. ,





  5. 1





  6. ,





  7. ,





  8. 4





  9. ,









[2]:





-

:





  • : - .





  • : 2 .





-, , - , , , .





CubeHash

, . .. , , .





50% . . , 128 [3].





. . , . . , 64 [3].





.





[4] , , .





. ( ), . , , .





, , , . , , , [2]. , , , .





F

128- [2]. 15 :









AABBCCDD





EEFFGGHH





IIJJKKLL





MMNNOOPP









ABABCDCD





EFEFGHGH





IJIJKLKL





MNMNOPOP









ABBACDDC





EFFEGHHG





IJJIKLLK





MNNMOPPO









ABCDABCD





EFGHEFGH





IJKLIJKL





MNOPMNOP









ABCDBADC





EFGHFEHG





IJKLJILK





MNOPNMPO









ABCDCDAB





EFGHGHEF





IJKLKLIJ





MNOPOPMN









ABCDDCBA





EFGHHGFE





IJKLLKJI





MNOPPONM









ABCDEFGH





ABCDEFGH





IJKLMNOP





IJKLMNOP









ABCDEFGH





BADCFEHG





IJKLMNOP





JILKNMPO









ABCDEFGH





CDABGHEF





IJKLMNOP





KLIJOPMN









ABCDEFGH





DCBAHGFE





IJKLMNOP





LKJIPONM









ABCDEFGH





EFGHABCD





IJKLMNOP





MNOPIJKL









ABCDEFGH





FEHGBADC





IJKLMNOP





NMPOJILK









ABCDEFGH





GHEFCDAB





IJKLMNOP





OPMNKLIJ









ABCDEFGH





HGFEDCBA





IJKLMNOP





PONMLKJI









32- . . , , , . , .





.









  • ( )





  • ,





  • .





  • ,





, 2 ^ {501}. . 2 ^ {256}.





(cycle per byte cpb). , 1 .





SHA-256, SHA-512 CubeHash16/32 Intel Core 2Duo 6f6 (a) Intel Core 2 Duo E8400 1067a (b) [5]:





  • 11.47 cpb: CubeHash 16/32, (b), amd64 architecture.





  • 12.60 cpb: SHA-512, (b), amd64 architecture.





  • 12.60 cpb: SHA-512, (a), amd64 architecture.





  • 12.66 cpb: CubeHash 16/32, (a), amd64 architecture.





  • 12.74 cpb: CubeHash 16/32, (b), x86 architecture.





  • 14.07 cpb: CubeHash 16/32, (a), x86 architecture.





  • 15.43 cpb: SHA-256, (b) x86 architecture.





  • 15.53 cpb: SHA-256, (b), amd64 architecture.





  • 15.56 cpb: SHA-256, (a), amd64 architecture





  • 17.76 cpb: SHA-512, (b), x86 architecture.





  • 20.00 cpb: SHA-512, (a), x86 architecture





  • 22.76 cpb: SHA-256, (a), x86 architecture





CubeHash SHA-3 -, NIST. Cubehash , . , CubeHash , .





. , CubeHash 8 / 1-512 CubeHash 1 / 1-512, CubeHash 1 / 1-512 , CubeHash 1 / 2-512. - CubeHash 1/128- h.





: .





  1. DJ Bernstein. Spesifikasi Cubehash (2.b.1)





  2. Vikash Jha. Kriptanalisis dari Cubehash.





  3. Philip Doughty Jr. Serangan umum di CubeHash, kandidat SHA-3.





  4. Benjamin Bloom dan Alan Kaminsky. Serangan Blok Tunggal dan Uji Statistik di CubeHash.





  5. DJ Bernstein. Tweak parameter CubeHash: 16 kali lebih cepat.












All Articles