1/* Copyright (c) 1998 Apple Computer, Inc. All rights reserved. 2 * 3 * NOTICE: USE OF THE MATERIALS ACCOMPANYING THIS NOTICE IS SUBJECT 4 * TO THE TERMS OF THE SIGNED "FAST ELLIPTIC ENCRYPTION (FEE) REFERENCE 5 * SOURCE CODE EVALUATION AGREEMENT" BETWEEN APPLE COMPUTER, INC. AND THE 6 * ORIGINAL LICENSEE THAT OBTAINED THESE MATERIALS FROM APPLE COMPUTER, 7 * INC. ANY USE OF THESE MATERIALS NOT PERMITTED BY SUCH AGREEMENT WILL 8 * EXPOSE YOU TO LIABILITY. 9 *************************************************************************** 10 * 11 * ckSHA1_priv.h - private low-level API for SHA-1 hash algorithm 12 * 13 * Revision History 14 * ---------------- 15 * 22 Aug 96 Doug Mitchell at NeXT 16 * Created. 17 */ 18 19/* Useful defines/typedefs */ 20 21#ifndef _CK_SHA1_PRIV_H_ 22#define _CK_SHA1_PRIV_H_ 23 24#include "ckconfig.h" 25 26#if !CRYPTKIT_LIBMD_DIGEST 27 28#ifdef __cplusplus 29extern "C" { 30#endif 31 32typedef unsigned char BYTE; 33typedef unsigned long LONG; 34 35/* The SHS block size and message digest sizes, in bytes */ 36 37#define SHS_BLOCKSIZE 64 38#define SHS_DIGESTSIZE 20 39 40/* The structure for storing SHS info */ 41 42typedef struct { 43 LONG digest[ 5 ]; /* Message digest */ 44 LONG countLo, countHi; /* 64-bit bit count */ 45 LONG data[ 80 ]; /* SHS data buffer */ 46 } SHS_INFO; 47 48extern void shsInit(SHS_INFO *shsInfo); 49extern void shsUpdate(SHS_INFO *shsInfo, 50 const BYTE *buffer, 51 int count); 52extern void shsFinal(SHS_INFO *shsInfo); 53 54#ifdef __cplusplus 55} 56#endif 57 58#endif /* !CRYPTKIT_LIBMD_DIGEST */ 59 60#endif /* _CK_SHA1_PRIV_H_ */ 61