xref: /xnu-8020.140.41/EXTERNAL_HEADERS/corecrypto/ccsha1.h (revision 27b03b360a988dfd3dfdf34262bb0042026747cc) !
1 /* Copyright (c) (2010,2011,2012,2014,2015,2016,2017,2018,2019) Apple Inc. All rights reserved.
2  *
3  * corecrypto is licensed under Apple Inc.’s Internal Use License Agreement (which
4  * is contained in the License.txt file distributed with corecrypto) and only to
5  * people who accept that license. IMPORTANT:  Any license rights granted to you by
6  * Apple Inc. (if any) are limited to internal use within your organization only on
7  * devices and computers you own or control, for the sole purpose of verifying the
8  * security characteristics and correct functioning of the Apple Software.  You may
9  * not, directly or indirectly, redistribute the Apple Software or any portions thereof.
10  */
11 
12 #ifndef _CORECRYPTO_CCSHA1_H_
13 #define _CORECRYPTO_CCSHA1_H_
14 
15 #include <corecrypto/ccdigest.h>
16 #include <corecrypto/cc_config.h>
17 
18 #define CCSHA1_BLOCK_SIZE   64
19 #define CCSHA1_OUTPUT_SIZE  20
20 #define CCSHA1_STATE_SIZE   20
21 
22 /* sha1 selector */
23 const struct ccdigest_info *ccsha1_di(void);
24 
25 /* Implementations */
26 extern const struct ccdigest_info ccsha1_ltc_di;
27 extern const struct ccdigest_info ccsha1_eay_di;
28 
29 #if  CCSHA1_VNG_INTEL
30 extern const struct ccdigest_info ccsha1_vng_intel_SupplementalSSE3_di;
31 #endif
32 
33 #if  CCSHA1_VNG_ARM
34 extern const struct ccdigest_info ccsha1_vng_arm_di;
35 #endif
36 
37 #define ccoid_sha1 ((unsigned char *)"\x06\x05\x2b\x0e\x03\x02\x1a")
38 #define ccoid_sha1_len 7
39 
40 #endif /* _CORECRYPTO_CCSHA1_H_ */
41