EmbeddedDisco posted November 2018
I've been implementing the Disco protocol in C. It makes sense since Disco was designed specifically for embedded devices. The library is only 1,000 lines-of-code, including all the cryptographic primitives, and does everything the Go implementation does except for signing.
If you don't know what Disco is, it's a cryptographic library that allows you to secure communications (like TLS) and to hash, encrypt, authenticate, derive keys, generate random numbers, etc.
Check it out here. It's experimental. I'd be happy to receive any feedback :)
It's not as plug-and-play as the Golang version. There are no wrappers yet to encrypt, authenticate, hash, derive keys, etc. and I haven't made a decision as to what algorithm I should support for signatures (ed25519 with strobe? Or Strobe's Schnorr-variant with Curve25519?)
So it's mostly for people who know what they're doing for now.
Don't let that deter you though! I need people to play with it in order to improve the library. If you need help I'm here!
This is great news, thanks for the update. I work on deeply embedded devices and follow your blog.
I will check out the work on github, but (warning: American) right now we're in the middle of our Thanksgiving week, so it won't be immediate. But I'm excited about this.
Awesome. If you obtain any results from trying this on embedded devices, can you share them?
leave a comment...