Home | History | Annotate | Line # | Download | only in daa
      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