OpenVPN
tests
unit_tests
openvpn
siphash_openssl.h
Go to the documentation of this file.
1
/*
2
* OpenVPN -- An application to securely tunnel IP networks
3
* over a single TCP/UDP port, with support for SSL/TLS-based
4
* session authentication and key exchange,
5
* packet encryption, packet authentication, and
6
* packet compression.
7
*
8
* Copyright (C) 2002-2026 OpenVPN Inc <sales@openvpn.net>
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License version 2
12
* as published by the Free Software Foundation.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License along
20
* with this program; if not, see <https://www.gnu.org/licenses/>.
21
*/
22
#ifndef SIPHASH_OPENSSL_H
23
#define SIPHASH_OPENSSL_H
24
25
#include <stdint.h>
26
#include <stdio.h>
27
#include <stdbool.h>
28
29
30
/* Prototypes for an implementation of SIPHASH in a crypto library */
36
void
*
37
siphash_openssl_init
(
size_t
hash_size);
38
39
43
int
44
siphash_openssl
(
void
*sip_context,
const
void
*in,
size_t
inlen,
45
const
void
*k, uint8_t *out,
size_t
outlen);
46
51
void
52
siphash_openssl_uninit
(
void
*sip_context);
53
62
bool
63
siphash_openssl_available
(
void
*sip_context);
64
#endif
/* ifndef SIPHASH_OPENSSL_H */
siphash_openssl
int siphash_openssl(void *sip_context, const void *in, size_t inlen, const void *k, uint8_t *out, size_t outlen)
Calculates SIPHASH using the crypto library function.
Definition
siphash_openssl.c:120
siphash_openssl_available
bool siphash_openssl_available(void *sip_context)
Returns if the crypto library is available (and should be used)
Definition
siphash_openssl.c:127
siphash_openssl_init
void * siphash_openssl_init(size_t hash_size)
Definition
siphash_openssl.c:133
siphash_openssl_uninit
void siphash_openssl_uninit(void *sip_context)
Free the siphash context used for the crypto library.
Definition
siphash_openssl.c:139
Generated by
1.9.8