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