5 * Created on 12/01/2010
7 * Copyright (c) 2010,2011,2012,2014,2015 Apple Inc. All rights reserved.
11 #ifndef _CORECRYPTO_CCSHA1_H_
12 #define _CORECRYPTO_CCSHA1_H_
14 #include <corecrypto/ccdigest.h>
15 #include <corecrypto/cc_config.h>
17 #define CCSHA1_BLOCK_SIZE 64
18 #define CCSHA1_OUTPUT_SIZE 20
19 #define CCSHA1_STATE_SIZE 20
22 const struct ccdigest_info
*ccsha1_di(void);
24 extern const uint32_t ccsha1_initial_state
[5];
26 /* shared between several implementations */
27 void ccsha1_final(const struct ccdigest_info
*di
, ccdigest_ctx_t
,
28 unsigned char *digest
);
32 extern const struct ccdigest_info ccsha1_ltc_di
;
33 extern const struct ccdigest_info ccsha1_eay_di
;
35 #if !defined(__NO_ASM__) && CCSHA1_VNG_INTEL
36 //extern const struct ccdigest_info ccsha1_vng_intel_di;
37 extern const struct ccdigest_info ccsha1_vng_intel_SupplementalSSE3_di
;
38 extern const struct ccdigest_info ccsha1_vng_intel_NOSupplementalSSE3_di
;
41 #if !defined(__NO_ASM__) && CCSHA1_VNG_ARMV7NEON
42 extern const struct ccdigest_info ccsha1_vng_armv7neon_di
;
45 /* TODO: Placeholders */
46 #define ccoid_sha1 ((unsigned char *)"\x06\x05\x2b\x0e\x03\x02\x1a")
47 #define ccoid_sha1_len 7
49 #endif /* _CORECRYPTO_CCSHA1_H_ */