User Tools

Site Tools


sha3

This is an old revision of the document!


SHA-3

SHA-3 je hash funkcija, odnosno funkcija sažetka, temeljna na Keccak algoritmu, novoj spužvastoj konstrukciji te značajno izmjenjenim matematičkim principima u odnosu na prethodne iteracije SHA standarda. U odnosu na prethodne iteracije standarda, izmjenjen je i način nadopunjavanja zadnjeg bloka teksta (padding), koji se u SHA-3 obavlja po shemi M||10*1

Kao i kod SHA-2, postoje 4 verzije SHA-3 algoritma, ovisno o duljini ulaznog bloka, ali se same duljine ulaznih blokova razlikuju. Tako razlikujemo SHA3-224 (1152 bitova), SHA3-256 (1088 bitova), SHA3-384 (832 bitova) i SHA3-512 (576 bitova).

Broj riječi i veličina bloka u SHA3 također ovise o verziji SHA3 koja se koristi i računaju se po formuli 25w = c + r, gdje je w broj riječi, c kapacitet (2 puta veličina sažetka), a r veličina bloka (ostatak).

SHA-3 funkcija f se obavlja u nr = 12 + w koraka. Sama funkcija se sastoji od 5 osnovnih funkcija za manipulaciju bitovima stanja: θ, ρ, π, χ i ι. Pseudokod je dan u nastavku:

Keccak-f[b](A)
 	za i 0 do nr-1
 		// (x,y) element {0…4}
 		// funkcija θ
 		C[x] = A[x,0] xor A[x,1] xor A[x,2] xor A[x,3] xor A[x,4];
 		D[x] = C[x-1] xor rot(C[x+1],1);
 		A[x,y] = A[x,y] xor D[x];
 		// funkcije ρ i π
  		B[y,2*x+3*y] = rot(A[x,y], r[x,y]);
// funkcija χ
 	A[x,y] = B[x,y] xor ((not B[x+1,y]) and B[x+2,y]); 

 	// funkcija ι
 	A[0,0] = A[0,0] xor RC
 return A; 
 

Izvori

[1] Christof Paar, Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin Heidelberg, 2009.
[2] https://platforma.hacknite.hr/challenges
[3] Kriptografija i kriptoanaliza, predavanja, FER
[4] https://keccak.team/index.html

sha3.1695636371.txt.gz · Last modified: 2025/06/03 10:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki