OLD | NEW |
1 /* crypto/srp/srp_lcl.h */ | 1 /* |
2 /* Written by Peter Sylvester (peter.sylvester@edelweb.fr) | 2 * Chacha stream algorithm. |
3 * for the EdelKey project and contributed to the OpenSSL project 2004. | 3 * |
| 4 * Created on: Jun, 2013 |
| 5 * Author: Elie Bursztein (elieb@google.com) |
| 6 * |
| 7 * Adapted from the estream code by D. Bernstein. |
4 */ | 8 */ |
5 /* ==================================================================== | 9 /* ==================================================================== |
6 * Copyright (c) 2004 The OpenSSL Project. All rights reserved. | 10 * Copyright (c) 2011-2013 The OpenSSL Project. All rights reserved. |
7 * | 11 * |
8 * Redistribution and use in source and binary forms, with or without | 12 * Redistribution and use in source and binary forms, with or without |
9 * modification, are permitted provided that the following conditions | 13 * modification, are permitted provided that the following conditions |
10 * are met: | 14 * are met: |
11 * | 15 * |
12 * 1. Redistributions of source code must retain the above copyright | 16 * 1. Redistributions of source code must retain the above copyright |
13 * notice, this list of conditions and the following disclaimer. | 17 * notice, this list of conditions and the following disclaimer. |
14 * | 18 * |
15 * 2. Redistributions in binary form must reproduce the above copyright | 19 * 2. Redistributions in binary form must reproduce the above copyright |
16 * notice, this list of conditions and the following disclaimer in | 20 * notice, this list of conditions and the following disclaimer in |
17 * the documentation and/or other materials provided with the | 21 * the documentation and/or other materials provided with the |
18 * distribution. | 22 * distribution. |
19 * | 23 * |
20 * 3. All advertising materials mentioning features or use of this | 24 * 3. All advertising materials mentioning features or use of this |
21 * software must display the following acknowledgment: | 25 * software must display the following acknowledgment: |
22 * "This product includes software developed by the OpenSSL Project | 26 * "This product includes software developed by the OpenSSL Project |
23 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" | 27 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" |
(...skipping 18 matching lines...) Expand all Loading... |
42 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR | 46 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR |
43 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 47 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
44 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | 48 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
45 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 49 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
46 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 50 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
47 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | 51 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
48 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 52 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
49 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | 53 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
50 * OF THE POSSIBILITY OF SUCH DAMAGE. | 54 * OF THE POSSIBILITY OF SUCH DAMAGE. |
51 * ==================================================================== | 55 * ==================================================================== |
52 * | |
53 * This product includes cryptographic software written by Eric Young | |
54 * (eay@cryptsoft.com). This product includes software written by Tim | |
55 * Hudson (tjh@cryptsoft.com). | |
56 * | |
57 */ | 56 */ |
58 #ifndef HEADER_SRP_LCL_H | 57 #ifndef HEADER_CHACHA_H |
59 #define HEADER_SRP_LCL_H | 58 #define HEADER_CHACHA_H |
60 | 59 |
61 #include <openssl/srp.h> | 60 #include <openssl/opensslconf.h> |
62 #include <openssl/sha.h> | |
63 | 61 |
64 #if 0 | 62 #if defined(OPENSSL_NO_CHACHA) |
65 #define srp_bn_print(a) {fprintf(stderr, #a "="); BN_print_fp(stderr,a); \ | 63 #error ChaCha support is disabled. |
66 fprintf(stderr,"\n");} | |
67 #else | |
68 #define srp_bn_print(a) | |
69 #endif | 64 #endif |
70 | 65 |
71 | 66 #include <stddef.h> |
72 | 67 |
73 #ifdef __cplusplus | 68 #ifdef __cplusplus |
74 extern "C" { | 69 extern "C" { |
75 #endif | 70 #endif |
76 | 71 |
77 | 72 /* CRYPTO_chacha_20 encrypts |in_len| bytes from |in| with the given key and |
| 73 * nonce and writes the result to |out|, which may be equal to |in|. The |
| 74 * initial block counter is specified by |counter|. */ |
| 75 void CRYPTO_chacha_20(unsigned char *out, |
| 76 » » const unsigned char *in, size_t in_len, |
| 77 » » const unsigned char key[32], |
| 78 » » const unsigned char nonce[8], |
| 79 » » size_t counter); |
78 | 80 |
79 #ifdef __cplusplus | 81 #ifdef __cplusplus |
80 } | 82 } |
81 #endif | 83 #endif |
82 | 84 |
83 #endif | 85 #endif |
OLD | NEW |