20
|
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 } |