Kezdőoldal » Tudományok » Természettudományok » Hexadecimális ellenörző kód...

Hexadecimális ellenörző kód generáló algoritmus megfejtése?

Figyelt kérdés

Szeretném megfejteni egy internetes kódgeneráló program algoritmusát. Azt már kitaláltam, hogy a 8 bájtos hexadecimális kód első 7 bájtja miképpen készül, és az is látszik, hogy a 8. bájt ebből az első hétből generálódik.

Ezt a paritás bájt (vagy ellenörző bájt) generáló algoritmust szeretném visszafejteni.

Az alkalmazás 8 bájtos hexadecimásis kódot állít elő, amiből az első 7 bájt FFFFFFFH formátumú, amihez a 8. szintén hexadecimális karakter egy ellenörző kód (az előző hét karakterből generálva)

A generált kód A1*B1 + A2*B2 + ... A7*B7 képletből számítható úgy, hogy veszi ennek a MOd 16 eredményét (a végösszeget elosztja 16-tal, és megnézi a maradékot)


ahol B1, B2, B7 az első 7 bájt,

és A1, A2... A7 a keresett 7 paraméter.


Próbálkoztam lineáris egyenletmegoldó módszerrel, de mivel a jobb oldalon szereplő értékek az A a mod16 *B1+A2*B2.... függvény 16-tal vett maradékát kell jelenték, itt lakadtam.



Példaképp pár együttható (itt már a hexadecimális A=10, B=11 stb átváltást megcsináltam).



B1 B2 B3 B4 B5 B6 B7

0 1 5 14 4 7 13

0 1 6 0 1 1 6

0 1 6 1 13 10 15

0 1 6 3 10 4 8

0 1 6 5 6 14 1

0 1 6 7 3 7 10

0 1 6 10 12 10 12

0 1 6 12 9 4 5


és a megfelelő paritás bájtok: (decimálisba átváltva)

8

6

14

5

10

9

11

4



Ez pl pillanatok alatt megoldaná, ha a jobboldalon nem mod 16 függvény szerepelne...

[link]

/wims/wims.cgi?session=0Z941FC509.1&+lang=en&+module=tool%2Flinear%2Flinsolver.en&+method=matrix&+cmd=resume


Valami ötlet?



2014. júl. 5. 13:17
 1/7 anonim ***** válasza:
72%
nekem nicns nagy kedvem belekavarodni, de annyit azért leírok, hogy érdemesebb sztem ilyesmit a prog.hu-n, vagy a sourcetreen megkérdezni
2014. júl. 5. 13:38
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
72%
sry nem sourcetree hanem stackoverflow
2014. júl. 5. 13:38
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:
valami megoldás, ha a jobb oldalon mod 16 szerepel egy mátrixban?
2014. júl. 5. 15:56
 4/7 anonim ***** válasza:
100%

Az algoritmusnak pont ez a lényege, hogy mod 16-ot vesz, és ezt nem tudod invertálni, legalább is egyértelműen nem.

DE: itt nem ezt ajánlanám az algoritmus töréséhez, mert burkoltam szerintem erről van szó.

A mod N függvényeknek van egy olyan tulajdonsága, két eltérő bemenet is előállíthat egy azonos eredményt: pl. 17 mod 16=1 de ugyanígy igaz 33 mod 16-ra is ez az eredmény.

Itt inkább írnék egy programot, ami ezeket az ún collisioningeket pörgetné, ez alapján oldaná meg a lineáris egyenletrendszeredet.Most egyelőre ennyi az ötletem, de holnap majd nekiülök a dolognak és megnézem, hátha van már(hasonló elvű) megoldás is

2014. júl. 5. 17:26
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:

Írtam, eredetileg 260 millió lehetséges megoldása van. No jó, mivel az első 3 helyiérték lényegében felejtős, vagy generálok pár továbbit ami alapján felejtős lehet, a megoldások száma nem ilyen sok.

Eredetileg azt gondoltam, 1-2-3... 7 lesz az együtthatók értéke, de nem. :)

2014. júl. 5. 17:36
 6/7 anonim ***** válasza:
260 millió megoldás nem sok egy gépnek. :) másodpercek kérdése. De ha igen jelentősen szűkül a kör, ha megfelelő helyiértékeket elhanyagolsz.
2014. júl. 6. 20:14
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:

Mondjuk excel makróval ültem neki, és néhány következtetés:

a mátrix 2. sora hibás. Ha ezt elhagyom, a maradék konzisztens marad.

A B1, B2 B3 bájtok elhagyhatók jelenleg, részben mert B1=0, részben mert (az első adatsor kivételével) egyformák (0,1,6)


Ezt figyelembe véve az utolsó 5 együtthatóra 4 lehetséges megoldás adódott,

2,4,6,11

2,4,10,5

14,2,10,5

14,6,10,3


Persze még egyáltalán nem vagyok a végén, hihetetlenül megbonyolítja a dolgot ez a 16-os maradék dolog.

2014. júl. 6. 22:57

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!