This is a port of cyaSSL 2.7.0.

Dependents:   CyaSSL_DTLS_Cellular CyaSSL_DTLS_Ethernet

Committer:
ashleymills
Date:
Thu Sep 05 15:55:50 2013 +0000
Revision:
1:c0ce1562443a
Parent:
0:714293de3836
Nothing;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ashleymills 0:714293de3836 1 /* sha.h for openssl */
ashleymills 0:714293de3836 2
ashleymills 0:714293de3836 3
ashleymills 0:714293de3836 4 #ifndef CYASSL_SHA_H_
ashleymills 0:714293de3836 5 #define CYASSL_SHA_H_
ashleymills 0:714293de3836 6
ashleymills 0:714293de3836 7 #include <cyassl/ctaocrypt/settings.h>
ashleymills 0:714293de3836 8
ashleymills 0:714293de3836 9 #ifdef YASSL_PREFIX
ashleymills 0:714293de3836 10 #include "prefix_sha.h"
ashleymills 0:714293de3836 11 #endif
ashleymills 0:714293de3836 12
ashleymills 0:714293de3836 13 #ifdef __cplusplus
ashleymills 0:714293de3836 14 extern "C" {
ashleymills 0:714293de3836 15 #endif
ashleymills 0:714293de3836 16
ashleymills 0:714293de3836 17
ashleymills 0:714293de3836 18 typedef struct CYASSL_SHA_CTX {
ashleymills 0:714293de3836 19 int holder[24]; /* big enough to hold ctaocrypt sha, but check on init */
ashleymills 0:714293de3836 20 } CYASSL_SHA_CTX;
ashleymills 0:714293de3836 21
ashleymills 0:714293de3836 22 CYASSL_API void CyaSSL_SHA_Init(CYASSL_SHA_CTX*);
ashleymills 0:714293de3836 23 CYASSL_API void CyaSSL_SHA_Update(CYASSL_SHA_CTX*, const void*, unsigned long);
ashleymills 0:714293de3836 24 CYASSL_API void CyaSSL_SHA_Final(unsigned char*, CYASSL_SHA_CTX*);
ashleymills 0:714293de3836 25
ashleymills 0:714293de3836 26 /* SHA1 points to above, shouldn't use SHA0 ever */
ashleymills 0:714293de3836 27 CYASSL_API void CyaSSL_SHA1_Init(CYASSL_SHA_CTX*);
ashleymills 0:714293de3836 28 CYASSL_API void CyaSSL_SHA1_Update(CYASSL_SHA_CTX*, const void*, unsigned long);
ashleymills 0:714293de3836 29 CYASSL_API void CyaSSL_SHA1_Final(unsigned char*, CYASSL_SHA_CTX*);
ashleymills 0:714293de3836 30
ashleymills 0:714293de3836 31 enum {
ashleymills 0:714293de3836 32 SHA_DIGEST_LENGTH = 20
ashleymills 0:714293de3836 33 };
ashleymills 0:714293de3836 34
ashleymills 0:714293de3836 35
ashleymills 0:714293de3836 36 typedef CYASSL_SHA_CTX SHA_CTX;
ashleymills 0:714293de3836 37
ashleymills 0:714293de3836 38 #define SHA_Init CyaSSL_SHA_Init
ashleymills 0:714293de3836 39 #define SHA_Update CyaSSL_SHA_Update
ashleymills 0:714293de3836 40 #define SHA_Final CyaSSL_SHA_Final
ashleymills 0:714293de3836 41
ashleymills 0:714293de3836 42 #define SHA1_Init CyaSSL_SHA1_Init
ashleymills 0:714293de3836 43 #define SHA1_Update CyaSSL_SHA1_Update
ashleymills 0:714293de3836 44 #define SHA1_Final CyaSSL_SHA1_Final
ashleymills 0:714293de3836 45
ashleymills 0:714293de3836 46
ashleymills 0:714293de3836 47 typedef struct CYASSL_SHA256_CTX {
ashleymills 0:714293de3836 48 int holder[28]; /* big enough to hold ctaocrypt sha, but check on init */
ashleymills 0:714293de3836 49 } CYASSL_SHA256_CTX;
ashleymills 0:714293de3836 50
ashleymills 0:714293de3836 51 CYASSL_API void CyaSSL_SHA256_Init(CYASSL_SHA256_CTX*);
ashleymills 0:714293de3836 52 CYASSL_API void CyaSSL_SHA256_Update(CYASSL_SHA256_CTX*, const void*,
ashleymills 0:714293de3836 53 unsigned long);
ashleymills 0:714293de3836 54 CYASSL_API void CyaSSL_SHA256_Final(unsigned char*, CYASSL_SHA256_CTX*);
ashleymills 0:714293de3836 55
ashleymills 0:714293de3836 56 enum {
ashleymills 0:714293de3836 57 SHA256_DIGEST_LENGTH = 32
ashleymills 0:714293de3836 58 };
ashleymills 0:714293de3836 59
ashleymills 0:714293de3836 60
ashleymills 0:714293de3836 61 typedef CYASSL_SHA256_CTX SHA256_CTX;
ashleymills 0:714293de3836 62
ashleymills 0:714293de3836 63 #define SHA256_Init CyaSSL_SHA256_Init
ashleymills 0:714293de3836 64 #define SHA256_Update CyaSSL_SHA256_Update
ashleymills 0:714293de3836 65 #define SHA256_Final CyaSSL_SHA256_Final
ashleymills 0:714293de3836 66
ashleymills 0:714293de3836 67
ashleymills 0:714293de3836 68 #ifdef CYASSL_SHA384
ashleymills 0:714293de3836 69
ashleymills 0:714293de3836 70 typedef struct CYASSL_SHA384_CTX {
ashleymills 0:714293de3836 71 long long holder[32]; /* big enough, but check on init */
ashleymills 0:714293de3836 72 } CYASSL_SHA384_CTX;
ashleymills 0:714293de3836 73
ashleymills 0:714293de3836 74 CYASSL_API void CyaSSL_SHA384_Init(CYASSL_SHA384_CTX*);
ashleymills 0:714293de3836 75 CYASSL_API void CyaSSL_SHA384_Update(CYASSL_SHA384_CTX*, const void*,
ashleymills 0:714293de3836 76 unsigned long);
ashleymills 0:714293de3836 77 CYASSL_API void CyaSSL_SHA384_Final(unsigned char*, CYASSL_SHA384_CTX*);
ashleymills 0:714293de3836 78
ashleymills 0:714293de3836 79 enum {
ashleymills 0:714293de3836 80 SHA384_DIGEST_LENGTH = 48
ashleymills 0:714293de3836 81 };
ashleymills 0:714293de3836 82
ashleymills 0:714293de3836 83
ashleymills 0:714293de3836 84 typedef CYASSL_SHA384_CTX SHA384_CTX;
ashleymills 0:714293de3836 85
ashleymills 0:714293de3836 86 #define SHA384_Init CyaSSL_SHA384_Init
ashleymills 0:714293de3836 87 #define SHA384_Update CyaSSL_SHA384_Update
ashleymills 0:714293de3836 88 #define SHA384_Final CyaSSL_SHA384_Final
ashleymills 0:714293de3836 89
ashleymills 0:714293de3836 90 #endif /* CYASSL_SHA384 */
ashleymills 0:714293de3836 91
ashleymills 0:714293de3836 92 #ifdef CYASSL_SHA512
ashleymills 0:714293de3836 93
ashleymills 0:714293de3836 94 typedef struct CYASSL_SHA512_CTX {
ashleymills 0:714293de3836 95 long long holder[36]; /* big enough, but check on init */
ashleymills 0:714293de3836 96 } CYASSL_SHA512_CTX;
ashleymills 0:714293de3836 97
ashleymills 0:714293de3836 98 CYASSL_API void CyaSSL_SHA512_Init(CYASSL_SHA512_CTX*);
ashleymills 0:714293de3836 99 CYASSL_API void CyaSSL_SHA512_Update(CYASSL_SHA512_CTX*, const void*,
ashleymills 0:714293de3836 100 unsigned long);
ashleymills 0:714293de3836 101 CYASSL_API void CyaSSL_SHA512_Final(unsigned char*, CYASSL_SHA512_CTX*);
ashleymills 0:714293de3836 102
ashleymills 0:714293de3836 103 enum {
ashleymills 0:714293de3836 104 SHA512_DIGEST_LENGTH = 64
ashleymills 0:714293de3836 105 };
ashleymills 0:714293de3836 106
ashleymills 0:714293de3836 107
ashleymills 0:714293de3836 108 typedef CYASSL_SHA512_CTX SHA512_CTX;
ashleymills 0:714293de3836 109
ashleymills 0:714293de3836 110 #define SHA512_Init CyaSSL_SHA512_Init
ashleymills 0:714293de3836 111 #define SHA512_Update CyaSSL_SHA512_Update
ashleymills 0:714293de3836 112 #define SHA512_Final CyaSSL_SHA512_Final
ashleymills 0:714293de3836 113
ashleymills 0:714293de3836 114 #endif /* CYASSL_SHA512 */
ashleymills 0:714293de3836 115
ashleymills 0:714293de3836 116
ashleymills 0:714293de3836 117
ashleymills 0:714293de3836 118
ashleymills 0:714293de3836 119 #ifdef __cplusplus
ashleymills 0:714293de3836 120 } /* extern "C" */
ashleymills 0:714293de3836 121 #endif
ashleymills 0:714293de3836 122
ashleymills 0:714293de3836 123
ashleymills 0:714293de3836 124 #endif /* CYASSL_SHA_H_ */
ashleymills 0:714293de3836 125