Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/sha2/sha512t.h
39586 views
1
/*-
2
* Copyright (c) 2015 Allan Jude <[email protected]>
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
*
14
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24
* SUCH DAMAGE.
25
*/
26
27
#ifndef _SHA512T_H_
28
#define _SHA512T_H_
29
30
#include "sha512.h"
31
32
#ifndef _KERNEL
33
#include <sys/types.h>
34
#endif
35
36
#define SHA512_224_DIGEST_LENGTH 28
37
#define SHA512_224_DIGEST_STRING_LENGTH (SHA512_224_DIGEST_LENGTH * 2 + 1)
38
#define SHA512_256_DIGEST_LENGTH 32
39
#define SHA512_256_DIGEST_STRING_LENGTH (SHA512_256_DIGEST_LENGTH * 2 + 1)
40
41
__BEGIN_DECLS
42
43
/* Ensure libmd symbols do not clash with libcrypto */
44
#ifndef SHA512_224_Init
45
#define SHA512_224_Init _libmd_SHA512_224_Init
46
#endif
47
#ifndef SHA512_224_Update
48
#define SHA512_224_Update _libmd_SHA512_224_Update
49
#endif
50
#ifndef SHA512_224_Final
51
#define SHA512_224_Final _libmd_SHA512_224_Final
52
#endif
53
#ifndef SHA512_224_End
54
#define SHA512_224_End _libmd_SHA512_224_End
55
#endif
56
#ifndef SHA512_224_Fd
57
#define SHA512_224_Fd _libmd_SHA512_224_Fd
58
#endif
59
#ifndef SHA512_224_FdChunk
60
#define SHA512_224_FdChunk _libmd_SHA512_224_FdChunk
61
#endif
62
#ifndef SHA512_224_File
63
#define SHA512_224_File _libmd_SHA512_224_File
64
#endif
65
#ifndef SHA512_224_FileChunk
66
#define SHA512_224_FileChunk _libmd_SHA512_224_FileChunk
67
#endif
68
#ifndef SHA512_224_Data
69
#define SHA512_224_Data _libmd_SHA512_224_Data
70
#endif
71
#ifndef SHA512_224_Transform
72
#define SHA512_224_Transform _libmd_SHA512_224_Transform
73
#endif
74
75
#ifndef SHA512_256_Init
76
#define SHA512_256_Init _libmd_SHA512_256_Init
77
#endif
78
#ifndef SHA512_256_Update
79
#define SHA512_256_Update _libmd_SHA512_256_Update
80
#endif
81
#ifndef SHA512_256_Final
82
#define SHA512_256_Final _libmd_SHA512_256_Final
83
#endif
84
#ifndef SHA512_256_End
85
#define SHA512_256_End _libmd_SHA512_256_End
86
#endif
87
#ifndef SHA512_256_Fd
88
#define SHA512_256_Fd _libmd_SHA512_256_Fd
89
#endif
90
#ifndef SHA512_256_FdChunk
91
#define SHA512_256_FdChunk _libmd_SHA512_256_FdChunk
92
#endif
93
#ifndef SHA512_256_File
94
#define SHA512_256_File _libmd_SHA512_256_File
95
#endif
96
#ifndef SHA512_256_FileChunk
97
#define SHA512_256_FileChunk _libmd_SHA512_256_FileChunk
98
#endif
99
#ifndef SHA512_256_Data
100
#define SHA512_256_Data _libmd_SHA512_256_Data
101
#endif
102
#ifndef SHA512_256_Transform
103
#define SHA512_256_Transform _libmd_SHA512_256_Transform
104
#endif
105
106
void SHA512_224_Init(SHA512_CTX *);
107
void SHA512_224_Update(SHA512_CTX *, const void *, size_t);
108
void SHA512_224_Final(unsigned char [__min_size(SHA512_224_DIGEST_LENGTH)],
109
SHA512_CTX *);
110
#ifndef _KERNEL
111
char *SHA512_224_End(SHA512_CTX *, char *);
112
char *SHA512_224_Data(const void *, unsigned int, char *);
113
char *SHA512_224_Fd(int, char *);
114
char *SHA512_224_FdChunk(int, char *, off_t, off_t);
115
char *SHA512_224_File(const char *, char *);
116
char *SHA512_224_FileChunk(const char *, char *, off_t, off_t);
117
#endif
118
void SHA512_256_Init(SHA512_CTX *);
119
void SHA512_256_Update(SHA512_CTX *, const void *, size_t);
120
void SHA512_256_Final(unsigned char [__min_size(SHA512_256_DIGEST_LENGTH)],
121
SHA512_CTX *);
122
#ifndef _KERNEL
123
char *SHA512_256_End(SHA512_CTX *, char *);
124
char *SHA512_256_Data(const void *, unsigned int, char *);
125
char *SHA512_256_Fd(int, char *);
126
char *SHA512_256_FdChunk(int, char *, off_t, off_t);
127
char *SHA512_256_File(const char *, char *);
128
char *SHA512_256_FileChunk(const char *, char *, off_t, off_t);
129
#endif
130
131
__END_DECLS
132
133
#endif /* !_SHA512T_H_ */
134
135