diff options
Diffstat (limited to 'drivers/s390/crypto/zcrypt_cex2a.h')
-rw-r--r-- | drivers/s390/crypto/zcrypt_cex2a.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/s390/crypto/zcrypt_cex2a.h b/drivers/s390/crypto/zcrypt_cex2a.h index 8f69d1dacab8..0350665810cf 100644 --- a/drivers/s390/crypto/zcrypt_cex2a.h +++ b/drivers/s390/crypto/zcrypt_cex2a.h | |||
@@ -51,8 +51,10 @@ struct type50_hdr { | |||
51 | 51 | ||
52 | #define TYPE50_MEB1_FMT 0x0001 | 52 | #define TYPE50_MEB1_FMT 0x0001 |
53 | #define TYPE50_MEB2_FMT 0x0002 | 53 | #define TYPE50_MEB2_FMT 0x0002 |
54 | #define TYPE50_MEB3_FMT 0x0003 | ||
54 | #define TYPE50_CRB1_FMT 0x0011 | 55 | #define TYPE50_CRB1_FMT 0x0011 |
55 | #define TYPE50_CRB2_FMT 0x0012 | 56 | #define TYPE50_CRB2_FMT 0x0012 |
57 | #define TYPE50_CRB3_FMT 0x0013 | ||
56 | 58 | ||
57 | /* Mod-Exp, with a small modulus */ | 59 | /* Mod-Exp, with a small modulus */ |
58 | struct type50_meb1_msg { | 60 | struct type50_meb1_msg { |
@@ -74,6 +76,16 @@ struct type50_meb2_msg { | |||
74 | unsigned char message[256]; | 76 | unsigned char message[256]; |
75 | } __attribute__((packed)); | 77 | } __attribute__((packed)); |
76 | 78 | ||
79 | /* Mod-Exp, with a larger modulus */ | ||
80 | struct type50_meb3_msg { | ||
81 | struct type50_hdr header; | ||
82 | unsigned short keyblock_type; /* 0x0003 */ | ||
83 | unsigned char reserved[6]; | ||
84 | unsigned char exponent[512]; | ||
85 | unsigned char modulus[512]; | ||
86 | unsigned char message[512]; | ||
87 | } __attribute__((packed)); | ||
88 | |||
77 | /* CRT, with a small modulus */ | 89 | /* CRT, with a small modulus */ |
78 | struct type50_crb1_msg { | 90 | struct type50_crb1_msg { |
79 | struct type50_hdr header; | 91 | struct type50_hdr header; |
@@ -100,6 +112,19 @@ struct type50_crb2_msg { | |||
100 | unsigned char message[256]; | 112 | unsigned char message[256]; |
101 | } __attribute__((packed)); | 113 | } __attribute__((packed)); |
102 | 114 | ||
115 | /* CRT, with a larger modulus */ | ||
116 | struct type50_crb3_msg { | ||
117 | struct type50_hdr header; | ||
118 | unsigned short keyblock_type; /* 0x0013 */ | ||
119 | unsigned char reserved[6]; | ||
120 | unsigned char p[256]; | ||
121 | unsigned char q[256]; | ||
122 | unsigned char dp[256]; | ||
123 | unsigned char dq[256]; | ||
124 | unsigned char u[256]; | ||
125 | unsigned char message[512]; | ||
126 | } __attribute__((packed)); | ||
127 | |||
103 | /** | 128 | /** |
104 | * The type 80 response family is associated with a CEX2A card. | 129 | * The type 80 response family is associated with a CEX2A card. |
105 | * | 130 | * |