Hi!
I want to present you a OOT module which provides the functionality of
the NaCl crypto library for GNU Radio. The NaCl library is a well known
library written by Daniel J. Bernstein, Tanja Lange and Peter Schwabe
[0]. Because the library is not maintained by themselves, I have chosen
the well maintained fork libsodium [1]. This fork is also used by the
crypto messenger tox (awesome project! → [2]). NaCl is also used by the
messenger Threema (smartphone app).
The features of the OOT module are: Public-key en-/decryption,
secret-key en-/decryption and key-pair (public/secret) or key (only
secret) generation. The system is based on the message API. Furthermore,
I have implemented a byte stream en-/decryption using stream ciphers.
This one uses tagged streams for processing.
If you are interested, you can check out the repo on GitHub [3]. In the
folder examples/ are flowgraphs which explain the functionality. As
well, there are unit-tests So far everything works fine.
I have no idea whether this is already done and I am not a crypto
expert, but here it is!
Greetings
Stefan
[0] http://nacl.cr.yp.to/
[1] http://doc.libsodium.org/, GitHub - jedisct1/libsodium: A modern, portable, easy to use crypto library.
[2] GitHub - irungentoo/toxcore: The future of online communications.
[3] GitHub - stwunsch/gr-nacl: GNU Radio module for data encryption using NaCl library