Sifer blok

Daripada testwiki
Pergi ke pandu arah Pergi ke carian

Dalam kriptografi, penguncian blok ialah algoritma deterministik yang bekerja pada sekumpulan bit berukuran tetap yang disebut blok. Algoritma ini menggunakan trasnformasi tidak beraneka, iaitu menggunakan kunci simetri. Mereka tergolong kepada komponen dasar dan digunakan dalam banyak protokol kriptografi dan penyulitan data berukuran besar.

Meskipun penguncian blok hanya sesuai untuk menyulitkan satu blok data dalam satu masa dan satu kunci, beberapa mod operasi penguncian blok telah direka untuk membolehkan penguncian blok digunakan semula dengan selamat untuk mencapai keselamatan dan autentik. Namun, penguncian blok juga mampu jadi komponen pembangunan dalam berbagai protokol kriptografi, seperti fungsi hash universal dan penjana bilangan rawak.

Definisi

Suatu penguncian blok terdiri dari sepasang algoritma: penyulitan Templat:Var serif dan dekripsi Templat:Var serif.[1] Kedua algoritma menerima dua masukan: blok data berukuran Templat:Var serif bit dan kunci berukuran Templat:Var serif bit. Algoritma dekripsi ialah penyongsangan fungsi enkripsi, iaitu Templat:Math. Secara matematis,[2][3] suatu penguncian blok didefinisikan oleh sebuah fungsi enkripsi

EK(P)=E(K,P):{0,1}k×{0,1}n{0,1}n

yang menerima kunci Templat:Var serif berukuran Templat:Var serif bit (disebut ukuran kunci) dan teks asal Templat:Var serif berukuran Templat:Var serif (disebut ukuran blok) serta mengeluarkan teks berkunci Templat:Var serif berukuran Templat:Var serif bit. Untuk setiap Templat:Var serif, fungsi Templat:Var serifTemplat:Var serif(Templat:Var serif) wajib memiliki pemetaan yang dapat dibalik dalam Templat:Math. Penyongsangan fungsi Templat:Var serif didefinisikan sebagai fungsi

EK1(C)=DK(C)=D(K,C):{0,1}k×{0,1}n{0,1}n

yang menerima kunci Templat:Var serif dan teks berkunci Templat:Var serif serta mengeluarkan teks asal Templat:Var serif dengan syarat

K:DK(EK(P))=P.

Misalnya, sebuah penguncian blok menerima blok teks asal 128 bit sebagai masukan dan mengeluarkan blok teks berkunci 128 bit. Transformasi yang dilakukan bergantung pada kunci yang diberikan. Dekripsi juga mirip, iaitu menerima blok teks tersandi 128 bit sebagai masukan dan mengeluarkan blok teks asal 128 bit dengan kunci yang diberikan.[4]

Untuk setiap kunci Templat:Var serif, Templat:Var serifTemplat:Var serif ialah permutasi (pemetaan bijektif) dari blok masukan. Setiap kunci memilih satu permutasi dari Templat:Math kemungkinan.[2]

Rujukan

Templat:Reflist