3
* Licensed Materials - Property of IBM
5
* trousers - An open source TCG Software Stack
7
* (C) Copyright International Business Machines Corp. 2006
15
#include "daa_structs.h"
16
#include "anonymity_revocation.h"
17
#include "daa_parameter.h"
21
* Transaction of a DAA Verifier to verify a signature (VerifierTransaction.java)
29
int is_anonymity_revocation_enabled; // boolean
30
BYTE *anonymity_revocation_condition;
31
int anonymity_revocation_condition_length;
32
CS_PUBLIC_KEY *anonymity_revocator_pk;
33
// private TssDaaSelectedAttrib[] selectedAttributes2Commit;
34
TSS_DAA_SELECTED_ATTRIB **selected_attributes2commit;
35
int selected_attributes2commitLength;
36
} DAA_VERIFIER_TRANSACTION;
38
/* the return (BYTE *) should be free after usage */
39
BYTE *compute_bytes( int seedLength, BYTE *seed, int length, const EVP_MD *digest);
41
bi_ptr compute_zeta( int nameLength, unsigned char *name, TSS_DAA_PK_internal *issuer_pk);
43
bi_ptr project_into_group_gamma( bi_ptr base, TSS_DAA_PK_internal *issuer_pk);
45
TSPICALL Tspi_DAA_VerifyInit_internal
48
UINT32* nonceVerifierLength, // out
49
BYTE** nonceVerifier, // out
50
UINT32 baseNameLength, // out
51
BYTE ** baseName // out
54
TSPICALL Tspi_DAA_VerifySignature_internal
55
( TSS_HDAA hDAA, // in
56
TSS_DAA_SIGNATURE signature, // in
57
TSS_HKEY hPubKeyIssuer, // in
58
TSS_DAA_SIGN_DATA sign_data, // in
59
UINT32 attributes_length, // in
60
BYTE **attributes, // in
61
UINT32 nonce_verifierLength, // out
62
BYTE *nonce_verifier, // out
63
UINT32 base_nameLength, // out
64
BYTE *base_name, // out
65
TSS_BOOL *isCorrect // out
69
Tspi_DAA_VerifySignature
71
TSS_HDAA_CREDENTIAL hDAACredential, // in
72
TSS_HDAA_ISSUER_KEY hIssuerKey, // in
73
TSS_HDAA_ARA_KEY hARAKey, // in
74
TSS_HHASH hARACondition, // in
75
UINT32 attributesLength, // in
76
UINT32 attributesLength2, // in
77
BYTE** attributes, // in
78
UINT32 verifierNonceLength, // in
79
BYTE* verifierNonce, // in
80
UINT32 verifierBaseNameLength, // in
81
BYTE* verifierBaseName, // in
82
TSS_HOBJECT signData, // in
83
TSS_DAA_SIGNATURE* daaSignature, // in
84
TSS_BOOL* isCorrect // out
89
BYTE *compute_sign_challenge_host(
92
TSS_DAA_PK_internal *issuer_pk,
93
int nonce_verifierLength,
95
int selected_attributes2commitLength,
96
TSS_DAA_SELECTED_ATTRIB **selected_attributes2commit,
97
int is_anonymity_revocation_enabled,
100
bi_ptr capital_tilde,
101
int attribute_commitmentsLength,
102
TSS_DAA_ATTRIB_COMMIT_internal **attribute_commitments,
103
TSS_DAA_ATTRIB_COMMIT_internal **attribute_commitment_proofs,
105
bi_ptr capital_tilde_v,
106
CS_PUBLIC_KEY *anonymity_revocator_pk,
107
CS_ENCRYPTION_RESULT *encryption_result_rand,
108
CS_ENCRYPTION_RESULT *encryption_result_proof);
110
#endif /*VERIFIER_H_*/