HMAC generaator
Genereeri HMAC (räsipõhine sõnumi autentimiskood) SHA-256, SHA-384, SHA-512 või SHA-1 algoritmidega salajase võtme abil
Sisend
Väljund
Loe mind
Mis on HMAC?
HMAC (Hash-põhine sõnumi autentimiskood) on krüptograafiline tehnika, mis ühendab salajase võtme räsifunktsiooniga, et luua unikaalne autentimiskood. Erinevalt lihtsast räsimisest tagab HMAC nii andmete tervikluse kui ka autentsuse — kontrollides, et sõnumit ei ole muudetud, ja kinnitades saatja identiteeti.
HMAC toimib, töötades sõnumi läbi räsifunktsiooni (nagu SHA-256) kaks korda, segades seda salajase võtmega kindlal viisil. See kahekordne räsimine muudab selle vastupidavaks pikkuse laiendamise rünnakutele, mis mõjutavad tavalisi räsifunktsioone.
Kuidas HMAC töötab?
HMAC algoritm järgib neid samme:
- Võtme ettevalmistamine: Kui salajane võti on pikem kui räsilõigu suurus, räsitakse see esmalt. Kui lühem, täidetakse see nullidega.
- Sisemine räsimine: Võti XOR-itakse sisemise täitmise konstandiga (ipad), seejärel ühendatakse sõnumiga ja räsitakse.
- Välimine räsimine: Võti XOR-itakse välimise täitmise konstandiga (opad), seejärel ühendatakse sisemise räsi tulemusega ja räsitakse uuesti.
Valem on: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))
See konstruktsioon tagab, et isegi kui ründaja teab sõnumi räsit, ei saa ta luua kehtivat HMAC-i ilma salajast võtit teadmata.
Miks kasutada HMAC-i tavalise räsimise asemel?
| Funktsioon | Tavaline räsi | HMAC |
|---|---|---|
| Andmete terviklus | ✓ | ✓ |
| Autentimine | ✗ | ✓ |
| Nõuab salajast võtit | ✗ | ✓ |
| Kaitse pikkuse laiendamise vastu | ✗ | ✓ |
| Sobiv API autentimiseks | ✗ | ✓ |
Tavalised räsid (MD5, SHA-256) kontrollivad ainult seda, kas andmed pole muutunud. HMAC lisaks tõestab, et sõnum pärineb kelleltki, kes teab salajast võtit, muutes selle oluliseks turvalistes kommunikatsioonides.
[Ülejäänud tekst jätkub samamoodi, tõlgituna eesti keelde, järgides eelnevalt kirjeldatud tõlkimise reegleid.]