1 2 /* 3 * Licensed Materials - Property of IBM 4 * 5 * trousers - An open source TCG Software Stack 6 * 7 * (C) Copyright International Business Machines Corp. 2006 8 * 9 */ 10 11 #ifndef ANONYMITY_REVOCATION_H_ 12 #define ANONYMITY_REVOCATION_H_ 13 14 #include "bi.h" 15 #include "daa_structs.h" 16 17 /** 18 * Cramer Shoup public key (CSPublicKey.java) 19 */ 20 typedef struct tdCS_PUBLIC_KEY { 21 bi_ptr eta; 22 bi_ptr lambda1; 23 bi_ptr lambda2; 24 bi_ptr lambda3; 25 } CS_PUBLIC_KEY; 26 27 typedef struct tdCS_ENCRYPTION_RESULT { 28 bi_ptr c1; 29 bi_ptr c2; 30 bi_ptr c3; 31 bi_ptr c4; 32 } CS_ENCRYPTION_RESULT; 33 34 CS_ENCRYPTION_RESULT *create_CS_ENCRYPTION_RESULT( bi_ptr c1, bi_ptr c2, bi_ptr c3, bi_ptr c4); 35 36 /* 37 * Cramer-Shoup Encryption Result including randomness. 38 * 39 * from com.ibm.zurich.tcg.daa.anonymityrevocationCSEncryptionResultRandomness 40 */ 41 typedef struct tdCS_ENCRYPTION_RESULT_RANDOMNESS { 42 bi_ptr randomness; 43 CS_ENCRYPTION_RESULT *result; 44 } CS_ENCRYPTION_RESULT_RANDOMNESS; 45 46 /* 47 * Cramer-Shoup EncryptionProof 48 * from com.ibm.zurich.tcg.daa.anonymityrevocation.CSEncryptionProof 49 */ 50 CS_ENCRYPTION_RESULT_RANDOMNESS *compute_ecryption_proof( 51 const bi_ptr msg, 52 const bi_ptr delta1, 53 const bi_ptr delta2, 54 const bi_ptr delta3, 55 const bi_ptr randomness, 56 const CS_PUBLIC_KEY *key, 57 const struct tdTSS_DAA_PK_internal *daa_key, 58 const BYTE *condition, 59 const int conditionLength, 60 const EVP_MD *messageDigest); 61 62 #endif /*ANONYMITY_REVOCATION_H_*/ 63