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