]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_cryptkit/lib/CipherFileFEED.h
Security-57336.10.29.tar.gz
[apple/security.git] / OSX / libsecurity_cryptkit / lib / CipherFileFEED.h
1 /* Copyright (c) 1998,2011,2014 Apple 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, INC. AND THE
6 * ORIGINAL LICENSEE THAT OBTAINED THESE MATERIALS FROM APPLE,
7 * INC. ANY USE OF THESE MATERIALS NOT PERMITTED BY SUCH AGREEMENT WILL
8 * EXPOSE YOU TO LIABILITY.
9 ***************************************************************************
10 *
11 * CipherFileFEED.h - FEED and FEEDExp related cipherfile support
12 *
13 * Revision History
14 * ----------------
15 * 18 Feb 97 at Apple
16 * Created.
17 */
18
19 #ifndef _CK_CFILEFEED_H_
20 #define _CK_CFILEFEED_H_
21
22 #include "ckconfig.h"
23
24 #if CRYPTKIT_CIPHERFILE_ENABLE
25
26 #include "Crypt.h"
27 #include "feeCipherFile.h"
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 /*
34 * Private functions.
35 */
36 feeReturn createFEED(feePubKey sendPrivKey,
37 feePubKey recvPubKey,
38 const unsigned char *plainText,
39 unsigned plainTextLen,
40 int genSig, // 1 ==> generate signature
41 unsigned userData, // for caller's convenience
42 feeCipherFile *cipherFile); // RETURNED if successful
43 feeReturn decryptFEED(feeCipherFile cipherFile,
44 feePubKey recvPrivKey,
45 feePubKey sendPubKey,
46 unsigned char **plainText, // RETURNED
47 unsigned *plainTextLen, // RETURNED
48 feeSigStatus *sigStatus); // RETURNED
49 feeReturn createFEEDExp(feePubKey sendPrivKey,
50 feePubKey recvPubKey,
51 const unsigned char *plainText,
52 unsigned plainTextLen,
53 int genSig, // 1 ==> generate signature
54 unsigned userData, // for caller's convenience
55 feeCipherFile *cipherFile); // RETURNED if successful
56 feeReturn decryptFEEDExp(feeCipherFile cipherFile,
57 feePubKey recvPrivKey,
58 feePubKey sendPubKey, // optional
59 unsigned char **plainText, // RETURNED
60 unsigned *plainTextLen, // RETURNED
61 feeSigStatus *sigStatus); // RETURNED
62
63 #ifdef __cplusplus
64 }
65 #endif
66
67 #endif /* CRYPTKIT_CIPHERFILE_ENABLE */
68
69 #endif /*_CK_CFILEFEED_H_*/