New article about NaCl Crypto Library on Mountaineer Platform

Hi.

We just posted a new article about brand new Mountaineer 4.3.1 Crypto Library:

Enjoy!

6 Likes

Excellent post, very very interesting read!

well done to all involved and a massive boast to NETMF and IoT.

Here the announcement:

https://www.ghielectronics.com/community/forum/topic?id=15383&page=1#msg154090

Cuno

3 Likes

Nice article! I have a few points I want to add. Especially if you want to implement a protocol on top of NaCl:
[ul]DJB provides a really good protocol example on his curvecp webpage: The CurveCP packet format . I really recommend to have a look at his website before implementing any protocol or message exchange based on NaCl (ZeroMQ also implements the same protocol as well: GitHub - zeromq/libcurve: An encryption and authentication library for ZeroMQ applications ). The base protocol is also useful if you want to encrypt multiple messages with the same private key.[/ul]
[ul]On Mountaineer the hardware number generator is used to generate keys. On .NET we use the System.Security.Cryptography.RandomNumberGenerator to get a cryptographic random number generator for keys (we don’t use System.Random which is a pseudo-random number generator).[/ul]
[ul]The C# implementation doesn’t allocate additional internal memory. A byte array passed to CryptoBox.Box is directly passed into the NaCl C-library. Hence the C# library requires C-style padding.[/ul]
[ul]CryptoBox uses CryptoSecretBox internally. CryptoBox has an additional step where the shared key is computed (CryptoBox.BeforeNm) and fed into CryptoSecretBox (AfterNm).[/ul]

The library can be tested here: https://bitbucket.org/oberon-microsystems/oberon.nacl.samples/src (it works on both Windows and the new Mountaineer 4.3.1 beta 3 release)

Additional information regarding the NaCl implementation can be found on the Mountaineer website: http://www.mountaineer.org/resources/tidbits/using-the-nacl-crypto-library/

Disclaimer: I’m the main developer behind the Oberon.NaCl implementation.

4 Likes

Links to the API reference pages and first measurements are given here:
https://www.ghielectronics.com/community/forum/topic?id=15383&page=1#msg154139