diff options
author | Damien Miller <djm@mindrot.org> | 2013-12-07 11:24:01 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2013-12-07 11:24:01 +1100 |
commit | 5be9d9e3cbd9c66f24745d25bf2e809c1d158ee0 (patch) | |
tree | d2086d37436014ea44f0f024396a1a8638640b00 /crypto_api.h | |
parent | bcd00abd8451f36142ae2ee10cc657202149201e (diff) |
- markus@cvs.openbsd.org 2013/12/06 13:39:49
[authfd.c authfile.c key.c key.h myproposal.h pathnames.h readconf.c]
[servconf.c ssh-agent.c ssh-keygen.c ssh-keyscan.1 ssh-keyscan.c]
[ssh-keysign.c ssh.c ssh_config.5 sshd.8 sshd.c verify.c ssh-ed25519.c]
[sc25519.h sc25519.c hash.c ge25519_base.data ge25519.h ge25519.c]
[fe25519.h fe25519.c ed25519.c crypto_api.h blocks.c]
support ed25519 keys (hostkeys and user identities) using the public
domain ed25519 reference code from SUPERCOP, see
http://ed25519.cr.yp.to/software.html
feedback, help & ok djm@
Diffstat (limited to 'crypto_api.h')
-rw-r--r-- | crypto_api.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/crypto_api.h b/crypto_api.h new file mode 100644 index 000000000..633463dca --- /dev/null +++ b/crypto_api.h | |||
@@ -0,0 +1,43 @@ | |||
1 | /* $OpenBSD: crypto_api.h,v 1.1 2013/12/06 13:39:49 markus Exp $ */ | ||
2 | |||
3 | /* Placed in the public domain. */ | ||
4 | |||
5 | #ifndef crypto_api_h | ||
6 | #define crypto_api_h | ||
7 | |||
8 | #include <stdint.h> | ||
9 | #include <stdlib.h> | ||
10 | |||
11 | typedef int32_t crypto_int32; | ||
12 | typedef uint32_t crypto_uint32; | ||
13 | |||
14 | #define randombytes(buf, buf_len) arc4random_buf((buf), (buf_len)) | ||
15 | |||
16 | #define crypto_hashblocks_sha512_STATEBYTES 64U | ||
17 | #define crypto_hashblocks_sha512_BLOCKBYTES 128U | ||
18 | |||
19 | int crypto_hashblocks_sha512(unsigned char *, const unsigned char *, | ||
20 | unsigned long long); | ||
21 | |||
22 | #define crypto_hash_sha512_BYTES 64U | ||
23 | |||
24 | int crypto_hash_sha512(unsigned char *, const unsigned char *, | ||
25 | unsigned long long); | ||
26 | |||
27 | int crypto_verify_32(const unsigned char *, const unsigned char *); | ||
28 | |||
29 | #define crypto_sign_BYTES crypto_sign_ed25519_BYTES | ||
30 | #define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES | ||
31 | #define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES | ||
32 | |||
33 | #define crypto_sign_ed25519_SECRETKEYBYTES 64U | ||
34 | #define crypto_sign_ed25519_PUBLICKEYBYTES 32U | ||
35 | #define crypto_sign_ed25519_BYTES 64U | ||
36 | |||
37 | int crypto_sign_ed25519(unsigned char *, unsigned long long *, | ||
38 | const unsigned char *, unsigned long long, const unsigned char *); | ||
39 | int crypto_sign_ed25519_open(unsigned char *, unsigned long long *, | ||
40 | const unsigned char *, unsigned long long, const unsigned char *); | ||
41 | int crypto_sign_ed25519_keypair(unsigned char *, unsigned char *); | ||
42 | |||
43 | #endif /* crypto_api_h */ | ||