Skip to content

kollera/DoorKeeper

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DoorKeeper

Warning

May contain traces of software.

Hardware

https://www.wemos.cc/product/d1.html
https://en.wikipedia.org/wiki/ESP8266

Software

https://github.com/esp8266/Arduino

Dependencies (Arduino Libraries)

CRC32

https://github.com/bakercp/CRC32/

Crypto

https://github.com/rweather/arduinolibs/tree/master/libraries/Crypto

Sign & verify

Ed25519 https://en.wikipedia.org/wiki/Ed25519

Session key

Curve25519 https://en.wikipedia.org/wiki/Curve25519

Stream Cipher

ChaCha20 https://en.wikipedia.org/wiki/ChaCha20

ESP8266 hacked version of Crypto libs

use internal esp8266 hardware random generator
http://esp8266-re.foogod.com/wiki/Random_Number_Generator
https://github.com/kollera/arduinolibs

NTP

https://github.com/Juppit/esp8266-SNTPClock

Project

What is it all about?

An attempt to enable secure communication, authentication & authorization for my ESP8266 project.

Some details

Take a look here

FAQ

Why dont use SSL/TLS?

When i started my project, TLS for Arduino was not available (to be precise, it was, but not in a stable version).

Whats the advantage of your solution?

No idea. It's this public - private - elliptic - curve - stream - cipher ... thing. For details, ask the NSA!

Do you know how ECDH works?

No. But Wikipedia does.
https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman

Do you know how StreamCipher works?

No. But Wikipedia does.
https://en.wikipedia.org/wiki/Stream_cipher

Your code looks kind of messy.

Yes, thats right!

I found a bug / I know how to improve your code.

Excellent! Please use the bugtracker

Releases

No releases published

Packages

No packages published

Languages