Crypto checksum
Ik ben al een poosje bezig voor een hobby projekt om een hexadecimale crypto checksum te ontcijferen echter het is te complex voor mij.
Misschien kan iemand mij hierbij helpen. Ik heb enkele voorbeeld getallen met bijbehorende checksum.
De eerste berekening is dec * 10 en dan HEX, het betreft dus de berekening van de checksum die erachter staat (2 bytes).
Alvast mijn dank.
dec HEX (dec*10) HEX checksum
0 00000000 2103
1 0A000000 5B70
2 14000000 D5E5
3 1E000000 AF96
4 28000000 D8C6
5 32000000 3730
10 64000000 0D65
100 E8030000 8FE9
1000 10270000 C65E
100000 40420F00 61D2
200000 80841E00 B0A9
crypto checksum
Re: crypto checksum
Je notatie verrast me. Weet je hoe je hexadecimale getallen schrijft als decimale getallen?
1 0000000A
2 00000014
etc.
Ik verwachtteJe schreef:1 0A000000
2 14000000
1 0000000A
2 00000014
etc.
Stap 1 van het oplossen van een probleem is te erkennen dat je een probleem hebt.
(Raffiek Torreman)
(Raffiek Torreman)
Re: crypto checksum
Bedankt voor uw reaktie, de opbouw is hetzelfde zoals deze in de eprom wordt geschreven cq. gelezen. Vandaar de ''vreemde'' volgorde. Bytes kunnen ook zijn ''geswapped''. Probleem is de checksum, welke zeer complex is. 0 dec checksum = HEX 2103 Vaak worden bytes opgeteld om tot een checksum te komen, zo eenvoudig is het deze keer niet.David schreef:Je notatie verrast me. Weet je hoe je hexadecimale getallen schrijft als decimale getallen?Ik verwachtteJe schreef:1 0A000000
2 14000000
1 0000000A
2 00000014
etc.
Re: crypto checksum
Ik zie (nog) niet hoe je de checksum kan uitrekenen/ontcijferen. Misschien helpt het om de checksums in een ander getallenstelsel te schrijven, bijv. het tientallig stelsel. Alleen al omdat je waarschijnlijk meer gewend bent om daarmee te werken.
Stap 1 van het oplossen van een probleem is te erkennen dat je een probleem hebt.
(Raffiek Torreman)
(Raffiek Torreman)
Re: crypto checksum
Je hebt 32-bits getallen (in little-endian notatie) met elk een 16-bits checksum.
Je zoekt de functie die de getallen afbeeldt op de checksum.
Dergelijke functies kunnen elke vorm hebben, je zoekruimte is erg groot: in feite heeft elk van de 16 bits van de checksum een eigen functie met 32 binaire invoervariabelen (de bits van je getal).
Je hebt al een aantal waarden gegeven, bijvoorbeeld:
0(hex) => 321(hex)
A(hex) =>705B(hex)
Als je van elk getal de checksum kan bepalen, zou ik eerst nagaan wat de machten van 2 opleveren:
1(hex) => ??
2(hex) => ??
4(hex) => ??
8(hex) => ??
10(hex) => ??
20(hex) => ??
40(hex) => ??
etc.
Je weet dan wat elk individueel bit van je getal doet op de checksum.
Vervolgens kan je kijken wat 2 bits doen, en of het effect daarvan is af te leiden uit de resultaten van de checksums over de 2 individuele bits,
bijvoorbeeld:
90(hex) => ??
is de checksum van 90(hex) samen te stellen uit de checksums van 80(hex) en 10(hex) ?
Je zoekt de functie die de getallen afbeeldt op de checksum.
Dergelijke functies kunnen elke vorm hebben, je zoekruimte is erg groot: in feite heeft elk van de 16 bits van de checksum een eigen functie met 32 binaire invoervariabelen (de bits van je getal).
Je hebt al een aantal waarden gegeven, bijvoorbeeld:
0(hex) => 321(hex)
A(hex) =>705B(hex)
Als je van elk getal de checksum kan bepalen, zou ik eerst nagaan wat de machten van 2 opleveren:
1(hex) => ??
2(hex) => ??
4(hex) => ??
8(hex) => ??
10(hex) => ??
20(hex) => ??
40(hex) => ??
etc.
Je weet dan wat elk individueel bit van je getal doet op de checksum.
Vervolgens kan je kijken wat 2 bits doen, en of het effect daarvan is af te leiden uit de resultaten van de checksums over de 2 individuele bits,
bijvoorbeeld:
90(hex) => ??
is de checksum van 90(hex) samen te stellen uit de checksums van 80(hex) en 10(hex) ?
Re: crypto checksum
Bedankt voor de tijd en moeite, ik zal dit weekend proberen om te achterhalen welke checksums bij de opgegeven machten horen. Gaat even wat tijd kosten maar ik kom erop terug. 1,2,4 en 8 HEX zal denk ik niet lukken. Want vermoedelijk is de checksum gebaseerd op *10. Minimale decimale waarde 1 = HEX A.arie schreef:Je hebt 32-bits getallen (in little-endian notatie) met elk een 16-bits checksum.
Je zoekt de functie die de getallen afbeeldt op de checksum.
Dergelijke functies kunnen elke vorm hebben, je zoekruimte is erg groot: in feite heeft elk van de 16 bits van de checksum een eigen functie met 32 binaire invoervariabelen (de bits van je getal).
Je hebt al een aantal waarden gegeven, bijvoorbeeld:
0(hex) => 321(hex)
A(hex) =>705B(hex)
Als je van elk getal de checksum kan bepalen, zou ik eerst nagaan wat de machten van 2 opleveren:
1(hex) => ??
2(hex) => ??
4(hex) => ??
8(hex) => ??
10(hex) => ??
20(hex) => ??
40(hex) => ??
etc.
Je weet dan wat elk individueel bit van je getal doet op de checksum.
Vervolgens kan je kijken wat 2 bits doen, en of het effect daarvan is af te leiden uit de resultaten van de checksums over de 2 individuele bits,
bijvoorbeeld:
90(hex) => ??
is de checksum van 90(hex) samen te stellen uit de checksums van 80(hex) en 10(hex) ?
Ik ken namelijk iemand in Rusland die de checksum kan uitrekenen deze wil echter het algoritme niet prijsgeven.
Re: crypto checksum
Ik kan helaas niet van de opgegeven waarden de checksum bepalen, alleen van gehele decimale getallen.
Bijv HEX 20 = dec 32 /10 = 3.2
HEX40 = dec 64 /10 = 6.4
Iemand nog een suggestie? Ik kan dus wel van elk decimaal getal de checksum laten bepalen.
Bijv HEX 20 = dec 32 /10 = 3.2
HEX40 = dec 64 /10 = 6.4
Iemand nog een suggestie? Ik kan dus wel van elk decimaal getal de checksum laten bepalen.
Re: crypto checksum
Probleem opgelost het een crc16 checksum met een polynoom. De checksum wordt dus mede uit een tabel berekend.