DoorKeeper
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples/DoorKeeper
media
.gitignore
DoorKeeper.cpp
DoorKeeper.h
README.md
arducrypt.cpp
arducrypt.h
library.json
protocol.md

README.md

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