Skip to content

Marcusz97/cryptographic-protocols-arduino-and-PC

 
 

Repository files navigation

This project demonstrates how an Arduino board and a PC can implement cryptographic protocols.

The protocols implemented are (i) Digital Signature (ii) Key Exchange using Diffie-Hellman algorithm (iii) Key Exchange using RSA (a public-key encryption algorithm)

In the digital signature protocol, either of the entities can digitally sign a message and send it to the other entity. The signature asserts the integrity of the message. If the message is tampered in any way while in transit, the receiving entity will come to know about it.

In the second protocol, viz. key exchange using Diffie-Hellman algorithm, the entity which is willing to exchange data can initiate the exchange of an AES-128 key. Once both the entities possess the AES key, they can exchange data by encrypting it with that key.

In the third protocol, the key exchange is done prior to exchange of data, by using RSA. Again, after the entities have exchange an AES-128 key, they can exchange data by first encrypting it with that key.

In the fourth protocol, is a simple of asymmetric encrypting using RSA library for encrypt and decrypt messages

In-depth discussion of the project can be found at: https://dl.dropboxusercontent.com/u/83966315/cryptographic-protocols-between-arduino-and-PC/cryptographic-protocols-between-arduino-and-PC.pdf

COPYRIGHT NOTICE

Copyright (C) 2013 Arpit Chauhan, Inderjit Sidhu, Aditya Pandey and Archit Pandey

cryptographic-protocols-arduino-and-PC is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

cryptographic-protocols-arduino-and-PC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the software. It is in the file LICENSE.MD. If not available there, see http://www.gnu.org/licenses/

About

This project demonstrates how cryptographic protocols can be implemented for the case when an Arduino board and a PC communicate.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 53.9%
  • Python 30.4%
  • Other 15.7%