# Gr-nacl: OOT module for data encryption using NaCl

**URL:** <https://www.ruby-forum.com/t/gr-nacl-oot-module-for-data-encryption-using-nacl/241605>\
**Category:** GNU Radio\
**Created:** [April 18, 2015, 5:30pm UTC](https://www.ruby-forum.com/t/gr-nacl-oot-module-for-data-encryption-using-nacl/241605 "2015-04-18T17:30:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [April 18, 2015, 5:30pm UTC](https://www.ruby-forum.com/t/gr-nacl-oot-module-for-data-encryption-using-nacl/241605/1 "2015-04-18T17:30:17Z")

</div>

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/](http://nacl.cr.yp.to/)  
[1] [http://doc.libsodium.org/](http://doc.libsodium.org/), [GitHub - jedisct1/libsodium: A modern, portable, easy to use crypto library.](https://github.com/jedisct1/libsodium)  
[2] [GitHub - irungentoo/toxcore: The future of online communications.](https://github.com/irungentoo/toxcore)  
[3] [GitHub - stwunsch/gr-nacl: GNU Radio module for data encryption using NaCl library](https://github.com/stwunsch/gr-nacl)

---

<div class="post-metadata">

**Author:** ![Stefan\_Wunsch](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/74df32/32.png) [@Stefan\_Wunsch](https://www.ruby-forum.com/u/Stefan_Wunsch)\
**Post date:** [April 19, 2015, 5:38pm UTC](https://www.ruby-forum.com/t/gr-nacl-oot-module-for-data-encryption-using-nacl/241605/2 "2015-04-19T17:38:47Z")

</div>

Very cool stuff, Stefan!

Thanks for publishing this!

Cheers,  
Martin

On 18.04.2015 08:28, Stefan Wunsch wrote:

> The features of the OOT module are: Public-key en-/decryption,  
> expert, but here it is!  
> Discuss-gnuradio mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

a
