versadac
1
versadac - Scalable Recorder Firmware
Main Page
Classes
Files
File List
File Members
core
encryption
src
win32
OpenSSL-Win32
include
openssl
ecdh.h
1
/* crypto/ecdh/ecdh.h */
2
/* ====================================================================
3
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
4
*
5
* The Elliptic Curve Public-Key Crypto Library (ECC Code) included
6
* herein is developed by SUN MICROSYSTEMS, INC., and is contributed
7
* to the OpenSSL project.
8
*
9
* The ECC Code is licensed pursuant to the OpenSSL open source
10
* license provided below.
11
*
12
* The ECDH software is originally written by Douglas Stebila of
13
* Sun Microsystems Laboratories.
14
*
15
*/
16
/* ====================================================================
17
* Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved.
18
*
19
* Redistribution and use in source and binary forms, with or without
20
* modification, are permitted provided that the following conditions
21
* are met:
22
*
23
* 1. Redistributions of source code must retain the above copyright
24
* notice, this list of conditions and the following disclaimer.
25
*
26
* 2. Redistributions in binary form must reproduce the above copyright
27
* notice, this list of conditions and the following disclaimer in
28
* the documentation and/or other materials provided with the
29
* distribution.
30
*
31
* 3. All advertising materials mentioning features or use of this
32
* software must display the following acknowledgment:
33
* "This product includes software developed by the OpenSSL Project
34
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
35
*
36
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
37
* endorse or promote products derived from this software without
38
* prior written permission. For written permission, please contact
39
* licensing@OpenSSL.org.
40
*
41
* 5. Products derived from this software may not be called "OpenSSL"
42
* nor may "OpenSSL" appear in their names without prior written
43
* permission of the OpenSSL Project.
44
*
45
* 6. Redistributions of any form whatsoever must retain the following
46
* acknowledgment:
47
* "This product includes software developed by the OpenSSL Project
48
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
49
*
50
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
51
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
52
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
53
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
54
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
55
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
56
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
57
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
58
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
59
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
60
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
61
* OF THE POSSIBILITY OF SUCH DAMAGE.
62
* ====================================================================
63
*
64
* This product includes cryptographic software written by Eric Young
65
* (eay@cryptsoft.com). This product includes software written by Tim
66
* Hudson (tjh@cryptsoft.com).
67
*
68
*/
69
#ifndef HEADER_ECDH_H
70
#define HEADER_ECDH_H
71
72
#include <openssl/opensslconf.h>
73
74
#ifdef OPENSSL_NO_ECDH
75
#error ECDH is disabled.
76
#endif
77
78
#include <openssl/ec.h>
79
#include <openssl/ossl_typ.h>
80
#ifndef OPENSSL_NO_DEPRECATED
81
#include <openssl/bn.h>
82
#endif
83
84
#ifdef __cplusplus
85
extern
"C"
{
86
#endif
87
88
const
ECDH_METHOD
*ECDH_OpenSSL(
void
);
89
90
void
ECDH_set_default_method(
const
ECDH_METHOD
*);
91
const
ECDH_METHOD
*ECDH_get_default_method(
void
);
92
int
ECDH_set_method(
EC_KEY
*,
const
ECDH_METHOD
*);
93
94
int
ECDH_compute_key(
void
*out,
size_t
outlen,
const
EC_POINT
*pub_key,
EC_KEY
*ecdh,
95
void
*(*KDF)(
const
void
*in,
size_t
inlen,
void
*out,
size_t
*outlen));
96
97
int
ECDH_get_ex_new_index(
long
argl,
void
*argp, CRYPTO_EX_new
98
*new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
99
int
ECDH_set_ex_data(
EC_KEY
*d,
int
idx,
void
*arg);
100
void
*ECDH_get_ex_data(
EC_KEY
*d,
int
idx);
101
102
103
/* BEGIN ERROR CODES */
104
/* The following lines are auto generated by the script mkerr.pl. Any changes
105
* made after this point may be overwritten when the script is next run.
106
*/
107
void
ERR_load_ECDH_strings(
void
);
108
109
/* Error codes for the ECDH functions. */
110
111
/* Function codes. */
112
#define ECDH_F_ECDH_CHECK 102
113
#define ECDH_F_ECDH_COMPUTE_KEY 100
114
#define ECDH_F_ECDH_DATA_NEW_METHOD 101
115
116
/* Reason codes. */
117
#define ECDH_R_KDF_FAILED 102
118
#define ECDH_R_NON_FIPS_METHOD 103
119
#define ECDH_R_NO_PRIVATE_VALUE 100
120
#define ECDH_R_POINT_ARITHMETIC_FAILURE 101
121
122
#ifdef __cplusplus
123
}
124
#endif
125
#endif
ec_key_st
Definition:
ec_lcl.h:232
ecdh_method
Definition:
ech_locl.h:65
ec_point_st
Definition:
ec_lcl.h:266
Generated on Wed Aug 19 2020 10:33:40 for versadac by
1.8.9.1