Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Let the hacking begin... (Model S parts on the bench)

This site may earn commission on affiliate links.
I sent a mail to the jalopnik journalist, maybe he will correct the article. Its too late anyway since the article is copied everywhere it seems, even the daily mail uk website mentions it now :S

By the way, I dont know anything about cryptography, but now we have a encoded hash and its result, is it possible to calculate the key used? And thus knowing the key Tesla uses to encrypt/decrypt the firmware? Please don't shoot me if im talking nonsense here ;)
 
I sent a mail to the jalopnik journalist, maybe he will correct the article. Its too late anyway since the article is copied everywhere it seems, even the daily mail uk website mentions it now :S

By the way, I dont know anything about cryptography, but now we have a encoded hash and its result, is it possible to calculate the key used? And thus knowing the key Tesla uses to encrypt/decrypt the firmware? Please don't shoot me if im talking nonsense here ;)

No, because there isn't a key in use. Hash functions like SHA256 (the one used here) are used specifically for message authenticity and data verification, so by design you want it to give the same output every time for the same input.

If someone sends you a message and you know beforehand what the hash of the message is supposed to be, you can run the hash function on the message as-received and verify that it hasn't been altered (tampered/corrupted). (This of course then brings up the issue of how you transmit the hash securely, assuring that it itself hasn't been altered)
 
I sent a mail to the jalopnik journalist, maybe he will correct the article. Its too late anyway since the article is copied everywhere it seems, even the daily mail uk website mentions it now :S

By the way, I dont know anything about cryptography, but now we have a encoded hash and its result, is it possible to calculate the key used? And thus knowing the key Tesla uses to encrypt/decrypt the firmware? Please don't shoot me if im talking nonsense here ;)

The hashed message was constructed by wk, not by Tesla. And as pointed out there's no key. Rather think of it as a checksum that verifies the message, try different potential messages and see which one yields that particular hash and you've "decoded" it (reverse cryptography).
 
No, because there isn't a key in use. Hash functions like SHA256 (the one used here) are used specifically for message authenticity and data verification, so by design you want it to give the same output every time for the same input.

If someone sends you a message and you know beforehand what the hash of the message is supposed to be, you can run the hash function on the message as-received and verify that it hasn't been altered (tampered/corrupted). (This of course then brings up the issue of how you transmit the hash securely, assuring that it itself hasn't been altered)

And if you are into math, the SHA256 is a lossy function, which means you can't find the original input since different inputs could produce the same output. The SHA256 is a one-way function. Crypto is different, beside the fact that it appears like gibberish for most humans ;-)
 
And if you are into math, the SHA256 is a lossy function, which means you can't find the original input since different inputs could produce the same output. The SHA256 is a one-way function. Crypto is different, beside the fact that it appears like gibberish for most humans ;-)

Except that is the key benefit of sha256, finding those collisions is extremely difficult right now (basically impossible with current and known future tech). Otherwise they wouldn't be telling everyone to switch to it for their signatures in their SSL certificates.

I mean the only reason for dumping SHA128 is because they found theoretical collisions. Noone has actually produced such a collision but they said it would be theoretically possible around two years ago or so, and thus everyone is now moving full force to SHA256 (also known as just SHA2).

Edit: sorry if that sounds confrontational, just trying to provide a little more clarity on what you said. Mostly everything you said is correct and good info!
 
Except that is the key benefit of sha256, finding those collisions is extremely difficult right now (basically impossible with current and known future tech). Otherwise they wouldn't be telling everyone to switch to it for their signatures in their SSL certificates.

I mean the only reason for dumping SHA128 is because they found theoretical collisions. Noone has actually produced such a collision but they said it would be theoretically possible around two years ago or so, and thus everyone is now moving full force to SHA256 (also known as just SHA2).

Edit: sorry if that sounds confrontational, just trying to provide a little more clarity on what you said. Mostly everything you said is correct and good info!

Yes but there is a difference between being able to duplicate a known SHA256 hash output and it being tough to make duplicate values. A 256 bit hash *will* have collisions guaranteed so long as the data you are hashing is over 256 bits. It has to because there are more possibilities in the input than the output. 256 bits is 64 bytes so collisions are an absolute certainty with inputs over 64 bytes. Thus, this message is beyond the threshold and there is guaranteed some other input to SHA256 that would produce the same hash output. But, it is true, finding that collision would be nearly impossible. But, it exists. So, one can't be totally certain to have found the correct input given the hashing output value since multiple inputs could have created that hash value.

The weird thing is that there are more possible collisions than there are unique values. But, finding a specific collision is hard (basically impossible). That is, unless someone can devise an algorithm to work backward toward potential solutions but no such algorithm exists.
 
Basically "cracking" a SHA256 hash is what is going on when you "mine" for many crypto-currencies such as BitCoin.

So now several companies have produced extremely high speed ASICs (application-specific integrated circuits) that can solve (brute force) SHA256.
 
Basically "cracking" a SHA256 hash is what is going on when you "mine" for many crypto-currencies such as BitCoin.

So now several companies have produced extremely high speed ASICs (application-specific integrated circuits) that can solve (brute force) SHA256.

True, except unfortunately the bitcoin mining ASICs are useless for generic brute force, since they're tailored specifically for the double SHA256 done on the 80 byte bitcoin block header while incrementing the last 4 bytes of the header (nonce) in the hardware. Then the hardware is designed to return hashes that are below a certain target, not that match another hash.
 
Ease one critical path and you always end up with another. Even if the cost of computing an SHA256 hash was zero, you'd still have to generate permutations to test.

The number of permutations grows exponentially with each character, so even a multiple order of magnitude step in throughput might only get you a few extra characters.
 
True, except unfortunately the bitcoin mining ASICs are useless for generic brute force, since they're tailored specifically for the double SHA256 done on the 80 byte bitcoin block header while incrementing the last 4 bytes of the header (nonce) in the hardware. Then the hardware is designed to return hashes that are below a certain target, not that match another hash.

Yes, I wasn't implying we use ASICs for that, but explaining to the less technically inclined an example of what hashing is used for and sometimes why even "cracking" has legitimate uses.

I consulted for one of the mining ASIC companies to develop a 200A ~1V power supply to run the ASIC. Tricky 12 layer board!
 
Yes, I wasn't implying we use ASICs for that, but explaining to the less technically inclined an example of what hashing is used for and sometimes why even "cracking" has legitimate uses.

I consulted for one of the mining ASIC companies to develop a 200A ~1V power supply to run the ASIC. Tricky 12 layer board!

Yikes. 200A @ 1V! Only 200W but damn. I made a miner out of loose butterflylabs ASIC chips a few years back. Was like 1V @ 25A. Per chip. High current very low voltage is too annoying for my tastes.

Anyway, I was just making sure no one goes out looking for bitcoin hardware to try and crack generic hashes. Hehe.
 
Yikes. 200A @ 1V! Only 200W but damn. I made a miner out of loose butterflylabs ASIC chips a few years back. Was like 1V @ 25A. Per chip. High current very low voltage is too annoying for my tastes.

Anyway, I was just making sure no one goes out looking for bitcoin hardware to try and crack generic hashes. Hehe.

Wait I just ordered $10k worth of ASIC miners waiting for your next challenge :)
 
Back to actual bench hacking fun. :D

rearview-cam-on-bench.jpg


Finally got a rear cam cable setup that actually works. Now to do some more in depth poking around. :)
 
Ok that is awesome! Are you going to share details about that hack? :) looks like something that could be done without hacking the OS?

No real hack yet, just finally got the official cam to work.

The pic is taken with my phone of the screen showing the camera pointed at my phone screen while the phone is pointed at the CID screen. Just for fun. :p