1/* 2 * CCCryptorTestFuncs.h 3 * CCRegressions 4 * 5 * 6 */ 7 8#include "capabilities.h" 9#include <CommonCrypto/CommonCryptor.h> 10#ifdef CRYPTORWITHMODE 11#include <CommonCrypto/CommonCryptorSPI.h> 12#else 13typedef uint32_t CCMode; 14typedef uint32_t CCPadding; 15typedef uint32_t CCModeOptions; 16#endif 17 18/* This is a CCCrypt with the Updates split into two parts */ 19 20CCCryptorStatus 21CCMultiCrypt(CCOperation op, CCAlgorithm alg, CCOptions options, const void *key, size_t keyLength, const void *iv, const void *dataIn, size_t dataInLength, 22 void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved); 23 24 25/* This is a CCCrypt allowing mode specification */ 26 27CCCryptorStatus 28CCCryptWithMode(CCOperation op, CCMode mode, CCAlgorithm alg, CCPadding padding, const void *iv, 29 const void *key, size_t keyLength, const void *tweak, size_t tweakLength, 30 int numRounds, CCModeOptions options, 31 const void *dataIn, size_t dataInLength, 32 void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved); 33 34CCCryptorStatus 35CCMultiCryptWithMode(CCOperation op, CCMode mode, CCAlgorithm alg, CCPadding padding, const void *iv, 36 const void *key, size_t keyLength, const void *tweak, size_t tweakLength, 37 int numRounds, CCModeOptions options, 38 const void *dataIn, size_t dataInLength, 39 void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved); 40 41/* This is a Test Case "doer" using CCCrypt */ 42int 43CCCryptTestCase(char *keyStr, char *ivStr, CCAlgorithm alg, CCOptions options, char *cipherText, char *plainText); 44 45/* This is a Test Case "doer" using CCMultiCrypt */ 46int 47CCMultiCryptTestCase(char *keyStr, char *ivStr, CCAlgorithm alg, CCOptions options, char *cipherText, char *plainText); 48 49/* This is a Test Case "doer" using CCCryptWithMode */ 50int 51CCModeTestCase(char *keyStr, char *ivStr, CCMode mode, CCAlgorithm alg, CCPadding padding, char *cipherText, char *plainText); 52 53/* This is a Test Case "doer" using CCMultiCryptWithMode */ 54int 55CCMultiModeTestCase(char *keyStr, char *ivStr, CCMode mode, CCAlgorithm alg, CCPadding padding, char *cipherText, char *plainText); 56/* This is a Test Case "doer" using CCCryptorGCM */ 57int 58CCCryptorGCMTestCase(char *keyStr, char *ivStr, char *aDataStr, char *tagStr, CCAlgorithm alg, char *cipherText, char *plainText); 59int 60CCCryptorGCMDiscreetTestCase(char *keyStr, char *ivStr, char *aDataStr, char *tagStr, CCAlgorithm alg, char *cipherText, char *plainText); 61 62