Main Site Documentation

New article about NaCl Crypto Library on Mountaineer Platform


#1

Hi.

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

http://www.tinyclr.it/nacl-crypto-library-on-mountaineer-431-platform.aspx

Enjoy!


#2

Excellent post, very very interesting read!

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


#3

Here the announcement:

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

Cuno


#4

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: http://curvecp.org/packets.html . 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: https://github.com/zeromq/libcurve ). 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.


#5

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