@@ -33,8 +33,6 @@ use zeroize::Zeroize;
33
33
34
34
/// The message sent by the client to the server, to initiate registration
35
35
pub struct RegisterFirstMessage < Grp > {
36
- /// User identity
37
- id_u : Vec < u8 > ,
38
36
/// blinded password information
39
37
alpha : Grp ,
40
38
}
@@ -43,29 +41,25 @@ impl<Grp: Group> TryFrom<&[u8]> for RegisterFirstMessage<Grp> {
43
41
type Error = ProtocolError ;
44
42
fn try_from ( first_message_bytes : & [ u8 ] ) -> Result < Self , Self :: Error > {
45
43
let elem_len = Grp :: ElemLen :: to_usize ( ) ;
46
- let checked_slice =
47
- check_slice_size_atleast ( first_message_bytes, elem_len, "first_message_bytes" ) ?;
48
-
49
- let id_u = checked_slice[ ..checked_slice. len ( ) - elem_len] . to_vec ( ) ;
44
+ let checked_slice = check_slice_size ( first_message_bytes, elem_len, "first_message_bytes" ) ?;
50
45
51
46
// Check that the message is actually containing an element of the
52
47
// correct subgroup
53
48
let arr = GenericArray :: from_slice ( & checked_slice[ checked_slice. len ( ) - elem_len..] ) ;
54
49
let alpha = Grp :: from_element_slice ( arr) ?;
55
- Ok ( Self { id_u , alpha } )
50
+ Ok ( Self { alpha } )
56
51
}
57
52
}
58
53
59
54
impl < Grp : Group > RegisterFirstMessage < Grp > {
60
55
/// Byte representation for the registration request
61
56
pub fn to_bytes ( & self ) -> Vec < u8 > {
62
- [ & self . id_u [ .. ] , & self . alpha . to_arr ( ) . to_vec ( ) [ .. ] ] . concat ( )
57
+ self . alpha . to_arr ( ) . to_vec ( )
63
58
}
64
59
65
60
/// Serialization into bytes
66
61
pub fn serialize ( & self ) -> Vec < u8 > {
67
62
let mut registration_request: Vec < u8 > = Vec :: new ( ) ;
68
- registration_request. extend_from_slice ( & serialize ( & self . id_u , 2 ) ) ;
69
63
registration_request. extend_from_slice ( & serialize ( & self . alpha . to_arr ( ) , 2 ) ) ;
70
64
71
65
let mut output: Vec < u8 > = Vec :: new ( ) ;
@@ -87,9 +81,7 @@ impl<Grp: Group> RegisterFirstMessage<Grp> {
87
81
if !remainder. is_empty ( ) {
88
82
return Err ( PakeError :: SerializationError . into ( ) ) ;
89
83
}
90
-
91
- let ( id_u, remainder) = tokenize ( data, 2 ) ?;
92
- let ( alpha_bytes, remainder) = tokenize ( remainder, 2 ) ?;
84
+ let ( alpha_bytes, remainder) = tokenize ( data, 2 ) ?;
93
85
94
86
if !remainder. is_empty ( ) {
95
87
return Err ( PakeError :: SerializationError . into ( ) ) ;
@@ -104,7 +96,7 @@ impl<Grp: Group> RegisterFirstMessage<Grp> {
104
96
// correct subgroup
105
97
let arr = GenericArray :: from_slice ( checked_slice) ;
106
98
let alpha = Grp :: from_element_slice ( arr) ?;
107
- Ok ( Self { id_u , alpha } )
99
+ Ok ( Self { alpha } )
108
100
}
109
101
}
110
102
@@ -316,8 +308,6 @@ where
316
308
317
309
/// The message sent by the user to the server, to initiate registration
318
310
pub struct LoginFirstMessage < CS : CipherSuite > {
319
- /// User identity
320
- id_u : Vec < u8 > ,
321
311
/// blinded password information
322
312
alpha : CS :: Group ,
323
313
ke1_message : <CS :: KeyExchange as KeyExchange < CS :: Hash , CS :: KeyFormat > >:: KE1Message ,
@@ -339,7 +329,6 @@ impl<CS: CipherSuite> LoginFirstMessage<CS> {
339
329
/// Serialization into bytes
340
330
pub fn serialize ( & self ) -> Vec < u8 > {
341
331
let mut credential_request: Vec < u8 > = Vec :: new ( ) ;
342
- credential_request. extend_from_slice ( & serialize ( & self . id_u , 2 ) ) ;
343
332
credential_request. extend_from_slice ( & serialize ( & self . alpha . to_arr ( ) , 2 ) ) ;
344
333
345
334
let mut output: Vec < u8 > = Vec :: new ( ) ;
@@ -356,9 +345,7 @@ impl<CS: CipherSuite> LoginFirstMessage<CS> {
356
345
}
357
346
358
347
let ( data, ke1m) = tokenize ( input[ 1 ..] . to_vec ( ) , 3 ) ?;
359
-
360
- let ( id_u, remainder) = tokenize ( data, 2 ) ?;
361
- let ( alpha_bytes, remainder) = tokenize ( remainder, 2 ) ?;
348
+ let ( alpha_bytes, remainder) = tokenize ( data, 2 ) ?;
362
349
363
350
if !remainder. is_empty ( ) {
364
351
return Err ( PakeError :: SerializationError . into ( ) ) ;
@@ -374,11 +361,7 @@ impl<CS: CipherSuite> LoginFirstMessage<CS> {
374
361
& ke1m[ ..] ,
375
362
) ?;
376
363
377
- Ok ( Self {
378
- id_u,
379
- alpha,
380
- ke1_message,
381
- } )
364
+ Ok ( Self { alpha, ke1_message } )
382
365
}
383
366
}
384
367
@@ -612,10 +595,7 @@ impl<CS: CipherSuite> ClientRegistration<CS> {
612
595
) ?;
613
596
614
597
Ok ( (
615
- RegisterFirstMessage :: < CS :: Group > {
616
- id_u : user_name. to_vec ( ) ,
617
- alpha,
618
- } ,
598
+ RegisterFirstMessage :: < CS :: Group > { alpha } ,
619
599
Self {
620
600
id_u : user_name. to_vec ( ) ,
621
601
id_s : server_name. to_vec ( ) ,
@@ -1069,11 +1049,7 @@ impl<CS: CipherSuite> ClientLogin<CS> {
1069
1049
1070
1050
let ( ke1_state, ke1_message) = CS :: KeyExchange :: generate_ke1 ( alpha. to_arr ( ) . to_vec ( ) , rng) ?;
1071
1051
1072
- let l1 = LoginFirstMessage {
1073
- id_u : user_name. to_vec ( ) ,
1074
- alpha,
1075
- ke1_message,
1076
- } ;
1052
+ let l1 = LoginFirstMessage { alpha, ke1_message } ;
1077
1053
1078
1054
Ok ( (
1079
1055
l1,
0 commit comments