I've been pointed here from the Cryptography Stack Exchange so hopefully you can help me here!
Long version of the story at the end....the short version is...
I want to identify this CRC/cipher/crypto and then I'll code it in C.
It's a challenge and response based exchange; a 4 byte challenge, and 4 byte response. They both change each time the exchange is carried out. Here's a real example
12 35 5B 74 00010010 00110101 01011011 01110100 Challenge 00111000 10010000 00001001 10110101 Response 38 90 09 B5
I'm able to feed it challenges and observe the responses without penalty - so I have this data too
00 00 00 00 00000000 00000000 00000000 00000000 Challenge 10110101 00100000 01100011 10111011 Response B5 20 63 BB FF FF FF FF 11111111 11111111 11111111 11111111 Challenge 11010101 00010000 10100001 00011110 Response D5 10 A1 1E
If anyone can break/hack this for me I'll love you forever etc etc
Long version The exchange happens between the engine control module, the instrument pack, and the body control module in my car...it takes place over the CAN networks and authorises the engine control module to start the engine. I really want to use this engine in a project car but need to get rid of this immobilisation issue (and body controller and instrument pack too) first.