Kezdőoldal » Tudományok » Alkalmazott tudományok » Kiszámolható a 2fa TOTP pin...

Kiszámolható a 2fa TOTP pin zsebszámológépen?

Figyelt kérdés

Tehát számítógép vagy okostelefon nélkül ki lehet-e számolni - érettségin is használható (nem programozható) számológépen - a 2faktoros belépés 6 jegyű pin kódját a 16 karakteres titkos kulcsból?

Ugyanazt amit pl a Google Authenticator is kiad. Ha igen hogyan?

A zsebszámológépen van függvénymemória, tucatnyi memóriahely és a kézimunkától se riadok vissza. Mondjuk egy Sharp EL-W506 gépen. Karórám van.

Igazából kíváncsiságból szeretném megoldani, nem napi használathoz.



ma 08:16
 1/4 anonim ***** válasza:

Elvileg ki lehet számolni - az algoritmus szabadon elérhető:

[link]

gyakorlatilag mire kiszámolod, lejár a rendelkezésre álló időintervallum.

ma 11:21
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
És hogy kell zsebszámológépen SHA-t számolni?
ma 11:42
 3/4 anonim ***** válasza:

A SHA-1 hash algoritmus kézi számítása zsebszámológéppel nem praktikus, mivel a SHA-1 egy bonyolult, iteratív algoritmus, amely bitműveleteket, paddinget és többlépcsős és sok lépésből álló számítást igényel. Azonban, ha szeretnéd megérteni a SHA-1 működését, itt van egy rövid áttekintés a folyamat lépéseiről:


SHA-1 Hash Számítási Folyamata


-- Bemeneti üzenet előkészítése:

--- Az üzenetet bitekre kell konvertálni.

--- A bemeneti üzenet végére 1 bitet adunk, majd 0-kat, hogy a hossza 448 bitre nőjön (modulo 512). Azaz így a hossz kongurens 448 modulo 512.

--- Ehhez a bemenethez hozzá kell fűzni (konkatenálni) 64 bites big-endian egész számként az eredeti üzenet hosszát, így az előfeldolgozott üzenet hossza 512 bit egészámú többszöröse lesz


-- Inicializálás:

--- Öt 32 bites változót inicializálunk (H0, H1, H2, H3, H4) az SHA-1 specifikáció szerint.


--- Üzenet blokkok feldolgozása:

-- Az üzenetet 512 bites blokkokra osztjuk.

-- Minden blokkot 16 darab 32 bites számra darabolunk, majd 80 számra bővítjük.

- az alábbi rekurzív algoritmus szerint, ahol w[i] az i.-ik szám : w[i] = (w[i-3] xor w[i-8] xor w[i-14] xor w[i-16]) leftrotate 1

-- A hash számítást 80 iteráción keresztül végezzük minden egyes blokra:

- az iterációk során különböző műveleteket hajtunk végre

- minden egyes blokk számítás végén frissítve a H0, H1, H2, H3, H4 változókat.


--- Hash érték kinyerése:

-- A végső hash érték a H0, H1, H2, H3, H4 változók összefűzésével nyerhető.


Egyébként az sha1 csak egy eleme a számításnak.

hmac-ot kell számolni sha1-el, aminek kulcsa az a 16 karakteres kulcs. A 16 karakter egy kirpitográfiai minimum követelmény, alapból 32 karakter kell minimum, de ennél hosszabb nem növeli a biztonságot ,ha kirpitográfiailag erős randomgenerátorral volt generálva.

A hmac értékből pedig az a 6 jegyű szám van számolva az idő függvényében, az idő mint paraméter egy egész szám unix timestamp-ban.

ma 13:05
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

"hmac-ot kell számolni sha1-el, aminek kulcsa az a 16 karakteres kulcs."

Pontosabban még azon is előfeldolgozás van a totp-ben, és ez lesz a hmac kulcsa.

ma 13:10
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!