Wie benutze ich HMAC SHA256?

8

Laut den verschiedenen Dokumenten, die ich für HMAC SHA256 gelesen habe, habe ich Folgendes verstanden:

H (K XOR opad, H (K XOR ipad, Text)) wo H in meinem Fall SHA256 ist.

Aber die SHA256-Eingabe hat nur einen Parameter, d. h. eine Nachricht. Während H (K, Text) zwei Eingaben hat. Also, wie berechnet man H (k, Text)?

Soll ich zuerst Text mit k kodieren und dann H (codierter Text) verwenden, wobei codierter Text als Nachricht verwendet wird?

Danke

    
user1511069 10.07.2012, 14:03
quelle

1 Antwort

13
  • H () ist Ihre kryptographische Hash-Funktion, in diesem Fall SHA256 () aber könnte auch MD5 oder was auch immer sein;
  • K ist Ihr vordefinierter Schlüssel
  • Text ist die zu authentifizierende Nachricht
  • opad ist das äußere Padding (0x5c5c5c ... 5c5c, ein Block lang hexadezimal konstant)
  • ipad ist das innere Padding (0x363636 ... 3636, ein Block lang hexadezimal konstant)
  • Dann wird HMAC (K, m) mathematisch durch
  • definiert

HMAC (K, m) = H ((K ⊕ opad) ∥ H ((K ⊕ ipad) ∥ m)).

  • blocksized wird durch Ihre Hash-Funktion bestimmt (MD5 wäre 64) Bytes)
  • o_key_pad = [opad * blocksize] ⊕ Taste
  • i_key_pad = [ipad * blocksize] ⊕ Taste

Ihr Ergebnis wäre:

%Vor%

Hier finden Sie eine gute Lektüre: Ссылка

Mit dem folgenden Pseudocode, der fast wie meiner aussieht:

%Vor%     
Timmetje 10.07.2012, 14:35
quelle

Tags und Links