blob: f1f3447c75ae88314b4712c88c778ffef0d10019 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
/*
* Licensed Materials - Property of IBM
*
* trousers - An open source TCG Software Stack
*
* (C) Copyright International Business Machines Corp. 2006
*
*/
#ifndef DAA_PARAMETER_H_
#define DAA_PARAMETER_H_
// for message digest
//#include <openssl/evp.h>
#include "trousers/tss.h"
//#include "spi_internal_types.h"
#include "spi_utils.h"
#define DAA_PARAM_TSS_VERSION_LENGTH (4)
static const BYTE DAA_PARAM_TSS_VERSION[] = { 1, 2, 0, 0 };
#define DAA_PARAM_DEFAULT_CRYPTO_PROVIDER_NAME "BC"
// Name of default hash function
#define DAA_PARAM_MESSAGE_DIGEST_ALGORITHM "SHA1"
// Name of hash function used independently in TSS
#define DAA_PARAM_MESSAGE_DIGEST_ALGORITHM_TSS "SHA1"
// l_n (bits)
#define DAA_PARAM_SIZE_RSA_MODULUS (2048)
// l_f (bits)
#define DAA_PARAM_SIZE_F_I (104)
// l_q (2 * SIZE_F_I)
#define DAA_PARAM_SIZE_RHO (208)
// l_e
#define DAA_PARAM_SIZE_EXPONENT_CERTIFICATE (368)
// lPrime_e
#define DAA_PARAM_SIZE_INTERVAL_EXPONENT_CERTIFICATE (120)
// l_zero
#define DAA_PARAM_SAFETY_MARGIN (80)
// Byte length of TPM message digest (sha-1)
#define DAA_PARAM_LENGTH_MESSAGE_DIGEST (20)
// Byte length of TSS message digest (sha-256)
#define DAA_PARAM_LENGTH_MESSAGE_DIGEST_TSS (32)
// l_H depends on the message digest algo
#define DAA_PARAM_SIZE_MESSAGE_DIGEST (160)
// 8 * LENGTH_MESSAGE_DIGEST;
// l_GAMMA
#define DAA_PARAM_SIZE_MODULUS_GAMMA (1632)
#define DAA_PARAM_SIZE_SPLIT_EXPONENT (1024)
// TPM asym key size (bits)
#define DAA_PARAM_KEY_SIZE (2048)
// Default RSA public key exponent (Fermat 4)
#define DAA_PARAM_LENGTH_MFG1_ANONYMITY_REVOCATION (25)
// (SIZE_RHO-1)/8;
#define DAA_PARAM_LENGTH_MFG1_GAMMA (214)
// (SIZE_MODULUS_GAMMA + SIZE_SAFETY_MARGIN)/8;
#define DAA_PARAM_SIZE_RND_VALUE_CERTIFICATE (2536)
// (bits)
#define DAA_PARAM_SIZE_RANDOMIZED_ATTRIBUTES (DAA_PARAM_SIZE_F_I+DAA_PARAM_SAFETY_MARGIN+DAA_PARAM_SIZE_MESSAGE_DIGEST)
#define TSS_FLAG_DAA_SIGN_IDENTITY_KEY 0
#define TSS_FLAG_DAA_SIGN_MESSAGE_HASH 1
extern EVP_MD *DAA_PARAM_get_message_digest(void);
extern char *err_string(TSS_RESULT r);
#endif /*DAA_PARAMETER_H_*/
|