Mercurial > hg > ucis.core
comparison NaCl/Native.cs @ 20:c873e3dd73fe
Added NaCl cryptography code
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Mon, 15 Apr 2013 00:43:48 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
19:b9ef273964fd | 20:c873e3dd73fe |
---|---|
1 using System; | |
2 using System.Runtime.InteropServices; | |
3 | |
4 namespace UCIS.NaCl { | |
5 public static class Native { | |
6 [DllImport("nacl")] public static unsafe extern int crypto_onetimeauth_poly1305(Byte* outv, Byte* inv, UInt64 inlen, Byte* k); | |
7 [DllImport("nacl")] public static unsafe extern int crypto_core_salsa20(Byte* outv, Byte* inv, Byte* k, Byte* c); | |
8 [DllImport("nacl")] public static unsafe extern int crypto_core_hsalsa20(Byte* outv, Byte* inv, Byte* k, Byte* c); | |
9 [DllImport("nacl")] public static unsafe extern int crypto_box_curve25519xsalsa20poly1305_afternm(Byte* c, Byte* m, UInt64 mlen, Byte* n, Byte* k); | |
10 [DllImport("nacl")] public static unsafe extern int crypto_box_curve25519xsalsa20poly1305_afternm(Byte[] c, Byte[] m, UInt64 mlen, Byte[] n, Byte[] k); | |
11 [DllImport("nacl")] public static unsafe extern int crypto_box_curve25519xsalsa20poly1305_open_afternm(Byte* m, Byte* c, UInt64 clen, Byte* n, Byte* k); | |
12 [DllImport("nacl")] public static unsafe extern int crypto_box_curve25519xsalsa20poly1305_open_afternm(Byte[] m, Byte[] c, UInt64 clen, Byte[] n, Byte[] k); | |
13 | |
14 public static Boolean EnableNativeImplementation() { | |
15 //Todo: check if the library exists at all before probing for functions | |
16 return | |
17 UCIS.NaCl.crypto_onetimeauth.poly1305.EnableNativeImplementation() | | |
18 UCIS.NaCl.crypto_core.salsa20.EnableNativeImplementation() | | |
19 UCIS.NaCl.crypto_core.hsalsa20.EnableNativeImplementation() | | |
20 false; | |
21 } | |
22 } | |
23 } |