Go Down

Topic: In theory. (Read 1 time) previous topic - next topic


Hypothetically speaking here... don't presume anything.

writing a proxy (or say add on for a torrent client) for arduino via a com port at the highest speed, xor/bit encrypting every byte sending it on and decoding it the other end with the same reverse routine (or anything other form of encryption)...

but, the MAC addresses on both boards are known... it uses a combination of both mac addresses to encrypt a packet (i don't know how lol but i can get the mac addresses :P) ...kinda like ssl, once the packet and handshake completed, any data fed to the arduino port, pops right back out at ya with the encrypted form based on two unique codes nobody can see except the guy holding the board, so as long as that's unique, could we not deliver web content and other stuff, i guess a software version could be written if you read the MAC address both ends.... i wonder if that would get you round, you'd have to block ports to prevent the chinese getting word out?.. even then a generic port could be used with an encrypted payload...


or a daily number you feed in via a keypad or over serial...


I'm sorry, but there is absolutely nothing in your post / ridiculously long run-on that makes any sense.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com


Thinking to myself as i typed it, but the ones with an interest would know what i meant...

i'm talking about using the arduino or even a hacked router to encode packets outbound and decode inbound packets, enough to allow people behind an iron curtain to talk freely or to prevent our ISP's from seeing what websites we visit even what torrents we download, i thought about how arduino can do it but windows could providing it's a clean system with no malware installed to track / watch you.

using arduino to encode/decode is in theory possible, i'm just worried about the slow download speeds over usb/serial.


I think someone needs to read a bit more about real cryptography, threat models, the importance of authentication, the fact that designing crypto protocols that aren't trivially weak is _exceptionally difficult_...   "Cryptography Engineering" ISBN 978-0-470-47424-2 is a good place to start.

Also the Arduino isn't powerful enough for strong crypto at reasonable speeds, you need a 'proper' CPU for that.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


not sure what you read... or even what kind of programming you've ever done on real world authentication/cryptography or even if you've ever managed a simple exclusive or routine...

But i have no need to read up (or for that matter anyone) on any of what you suggested, i was talking more of how to make arduino act as a slave device to allow communication to and from the pc to be encrypted on a very simple level... so don't get over yourself.


Thinking to myself as i typed it, but the ones with an interest would know what i meant...

I'm pretty sure that you don't know what you mean, so I don't see how anyone else is supposed to.  :D

If you want to encrypt traffic within your network then there are various ways you can do this but the most obvious would be to set up an encrypted tunnel. If you want to invent a new type of network interface that takes network traffic via some other medium (you don't explain how the two end points would be connected if not via the existing network) then you would need to write a network driver for your proposed interface. This is non-trivial. If you are intending to terminate this 'encrypted connection' at a PC or similar then the PC would be the logical place to do whatever encryption you have in mind, and you could implement your own packet-munging layer quite easily without resorting to external hardware. (How do you think that packet shapers and firewalls work?)

The only time I would see any need for an Arduino is if your solution has to interact with some external hardware that your host can't access directly.


i know how to do both.... quite easily, my problem is the speed of which i can get arduino to modulate it's signal over USB.. 1mhz i've not benchmarked the IO speeds...


well sorry for the ambiguity, i was deep in thought as i typed it which i often do when this tired.... and on these painkillers i got for my foot, it is similar to being stoned now i think about it... but either way..

my real question was 2 things.. 1, what's the max theoritcal speed of USB transfrer. 2. would it be succesfull a basic enough prototype to convince someone to one day mass market with rollable key codes with more encrpytion and more layers... but right now i'd be curious how to write some kind of hyperterminal application and talk to someone all encrpyted via  a simple server pc > arduino > pc > router > adsl/etc > server > arduino > server > process it, and so on, could even be added into an existing modem/router to encrpyt the packet with a value (which please don't worry about...) and once again send it back....

but how long before your ISP works it out and decodes it, you move onto a better encryption routine and a new C++ file comes out to stop it... some may say you could use it to cover piracy eg torrent downloading illegal movies... but i say, fine you get to know my mac address and you get to know where i'm visiting ip the website you visit, but then the data you download can not be seen by anyone but you, now why this method of say ssl, a secure connection https? well if your ISP is watching then surely they can see the data you both send and receive, so all it would mean is to replay that exact same sequence of events and you get to see everything would you not? (Could be wrong but if you have all the packets sent/recv from both ends all of it, then you could simply modify the header to point to a new server..

but anyway side tracked, more secure a way they can't track the data because it's encrypted unless they too have an arduino and share the code  would it lead to someone cracking it to prevent us doing this? what's your opinion and fastest speed i could get over serial.


I don't think the MAC address makes its way much past the first router. There isn't room in the IP header for all the intermediate MAC addresses. There is a sending IP address and the return IP address. Your router knows which physical card (MAC) the internal IP address corresponds to.

My suggestion if you are worried about security is to read up on Tor.
Please post technical questions on the forum, not by personal message. Thanks!

More info: http://www.gammon.com.au/electronics


i know how to do both.... quite easily, my problem is the speed of which i can get arduino to modulate it's signal over USB.. 1mhz i've not benchmarked the IO speeds...

If you want to know how fast the USB works then I suggest you stop trying to convince us that your application makes sense (it sounds utterly bonkers to me) and go looking for USB speed tests. It'll go surprisingly fast - I seem to remember speeds of the order of megabits per second being achieved with Arduino - but don't rely on my memory, do a search and get it from the horse's mouth.

Go Up