( influencer | 2024. 02. 12., h – 18:51 )

bzt, itt nem mondtad, hogy sha, sha2 vagy sha3 algoritmusra gondoltál, én a sha3-512 verziót vettem alapul:

"sha512(sha512(sha512(jelszó) + jelszó első betűje) + jelszó második betűje)"

Meg is valósítottam ezt (akinek kell, ellenőrzésből vagy bármi célból, bemásolom a pár soros forrást is ide majd).

Üres jelszó:

string(128) "05ae03fd135de159cc512d0a34317d0c5270fc9d0c02ebc648828dec221272d8f20f83485bb16d0dc58acbc4a84ccc8363ef7413885936c8ee7cc943ef65cbd1"

"a" jelszó:

string(128) "0c03febb9f7f98271b9b646c8770f532ef601997bd3b3735c885cd260111342c1761b1cc93f5b608d8f8d02847f779000616a11c26694cd5183ddcccbc41ccc9"

"b" jelszó:

string(128) "ee7caefa8737a9641b6b398ca66c312ca96ea755801687cbbf7ac5742cd3453d0c523b66ff9fbb6a12441c5ebc05213001bffeef2a218b75e26f2bc1cfdb2412"

"9gVgbfFeyCeTxGKNcJkwLn7Jrot80GGZGrdPNh7FdnhuD2TY9y" jelszó:

string(128) "9fd350473d3e7d38cc9fd22397aa531cf0a25d16223b99b5869ae0c26ecf5e3d86b069d086d70fae3f25f2a787ab0950143e18a50a81d57c13a0b0a87d4c163e"

Minden úgy működik, ahogy várható volt.

sha3-512 értéke üres érték esetén, ami egyezik a wikipedia oldalon lévővel:

string(128) "a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26"

Aki használt már ilyet, az ezekben semmi meglepőt nem lát és feleslegesnek tűnik ezt iderakni. Mégis azért tettem ide, hogy legyen egy példával rendelkező alap, amivel összehasonlítjuk ng123 fejlesztését.

A sha3-512 esetén is, mint a többi hasonló algo alapján elmondható, hogy az avalanche effect miatt 1 karakter módosítás egy teljesen más karakterhasználatot eredményez.

Mivel a fenti példában több sha3-512 van egymásba ágyazva, így nem csak 1 karakter eltérés lesz, nyilván ugyanúgy más lesz az avalanche effect miatt, mindegy, hogy hány karakter az eltérés. 

Most, hogy ez itt van, érdemes lenne az ng123 algot is kipróbálni egy fix, ismert értékekkel beállított konfigurációs fájl (és lementett/portable backup kulcsok publikálása, megosztása) esetén, ha ez a 4 fenti bemenet van, bár az üres jelszót nem fogja engedni, akkor 3 marad.

Még ha látunk is majd 3 különböző sztringet, az sem jelent majd semmit, csak már egy lépéssel közelebb leszünk, hogy kiderüljön a működés.

ng123: tudnál ebben segíteni, hogy beállítod úgy, ahogy szerinted jó? Megosztod a lementett konfig fájlt és a kulcs mentéseket (és minden, ami egyedi, vagy kell, hogy másik gépen is használható legyen), majd lefuttatod: "a", "b", és "9gVgbfFeyCeTxGKNcJkwLn7Jrot80GGZGrdPNh7FdnhuD2TY9y" jelszavak esetén, hogy mi a kimenete a programodnak? A cél azt reprodukálni, hogy valaki egy új számítógépen használni akarja, és azonos kimenetet szeretne kapni a megadott jelszava használata esetén, egyedi konfigurációs fájl esetén.

bzt írta: "de talán még a kvantuumgépek ellen is véd"

Én ezt "talán" résszel sem mondanám, mert nem ismerem a kvantumszámítógépek működését, teljesítményét.