Hier is een script te vinden, dat, als je belooft de makers niet juridisch aansprakelijk te stellen voor al het onheil dat er uit zou kunnen voortkomen, bereid is om bij gegeven challenge (uitdaging, vraag) de bijbehorende response (reactie, antwoord) te berekenen.
Bijvoorbeeld, bij de vraag
'SpeedTouch (00-90-D0-00-00-00)'luidt het antwoord
For challenge string 'SpeedTouch (00-90-D0-00-00-00)' the response is 1552815226
De puzzel is nu: Wat is het algoritme? Op welke manier wordt het antwoord berekend?
/* compute response to Alcatel challenge */ #include <stdio.h> #define M 0x5c22db93 #define BIT31 (1<<31) #define MASK 0xffffffff unsigned int image(char *s) { int i, j, b = ~0; for (i = 0; s[i]; i++) { for (j = 7; j >= 0; j--) { b = ((b & BIT31) ? ((b<<1)^M) : (b<<1)); if (s[i] & (1<<j)) b ^= M; } } return ~b & MASK; } int main(int argc, char **argv) { if (argc == 2) printf("%s: %u\n", argv[1], image(argv[1])); return 0; }
In Nederland breken veel eigenaren in hun eigen modem (een SpeedTouch Home) in, teneinde het te vertellen dat het zich moet gedragen als zijn grote broer (de SpeedTouch Pro), die enkele honderden guldens duurder is. Hoe dit gedaan moet worden is in April 2001 door Stefano Chiccarelli in Italië ontdekt. Dit blijkt buitengewoon succesvol.
De reden dat Shimomura en Perrine de code kraakten is een geheel andere: met behulp van kleine wijzigingen kun je het modem veel veiliger maken, zodat inbreken van buiten af onmogelijk of in elk geval veel moeilijker wordt.