@@ -33,8 +33,6 @@ use zeroize::Zeroize;
3333
3434/// The message sent by the client to the server, to initiate registration
3535pub struct RegisterFirstMessage < Grp > {
36- /// User identity
37- id_u : Vec < u8 > ,
3836 /// blinded password information
3937 alpha : Grp ,
4038}
@@ -43,29 +41,25 @@ impl<Grp: Group> TryFrom<&[u8]> for RegisterFirstMessage<Grp> {
4341 type Error = ProtocolError ;
4442 fn try_from ( first_message_bytes : & [ u8 ] ) -> Result < Self , Self :: Error > {
4543 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" ) ?;
5045
5146 // Check that the message is actually containing an element of the
5247 // correct subgroup
5348 let arr = GenericArray :: from_slice ( & checked_slice[ checked_slice. len ( ) - elem_len..] ) ;
5449 let alpha = Grp :: from_element_slice ( arr) ?;
55- Ok ( Self { id_u , alpha } )
50+ Ok ( Self { alpha } )
5651 }
5752}
5853
5954impl < Grp : Group > RegisterFirstMessage < Grp > {
6055 /// Byte representation for the registration request
6156 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 ( )
6358 }
6459
6560 /// Serialization into bytes
6661 pub fn serialize ( & self ) -> Vec < u8 > {
6762 let mut registration_request: Vec < u8 > = Vec :: new ( ) ;
68- registration_request. extend_from_slice ( & serialize ( & self . id_u , 2 ) ) ;
6963 registration_request. extend_from_slice ( & serialize ( & self . alpha . to_arr ( ) , 2 ) ) ;
7064
7165 let mut output: Vec < u8 > = Vec :: new ( ) ;
@@ -87,9 +81,7 @@ impl<Grp: Group> RegisterFirstMessage<Grp> {
8781 if !remainder. is_empty ( ) {
8882 return Err ( PakeError :: SerializationError . into ( ) ) ;
8983 }
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 ) ?;
9385
9486 if !remainder. is_empty ( ) {
9587 return Err ( PakeError :: SerializationError . into ( ) ) ;
@@ -104,7 +96,7 @@ impl<Grp: Group> RegisterFirstMessage<Grp> {
10496 // correct subgroup
10597 let arr = GenericArray :: from_slice ( checked_slice) ;
10698 let alpha = Grp :: from_element_slice ( arr) ?;
107- Ok ( Self { id_u , alpha } )
99+ Ok ( Self { alpha } )
108100 }
109101}
110102
@@ -316,8 +308,6 @@ where
316308
317309/// The message sent by the user to the server, to initiate registration
318310pub struct LoginFirstMessage < CS : CipherSuite > {
319- /// User identity
320- id_u : Vec < u8 > ,
321311 /// blinded password information
322312 alpha : CS :: Group ,
323313 ke1_message : <CS :: KeyExchange as KeyExchange < CS :: Hash , CS :: KeyFormat > >:: KE1Message ,
@@ -339,7 +329,6 @@ impl<CS: CipherSuite> LoginFirstMessage<CS> {
339329 /// Serialization into bytes
340330 pub fn serialize ( & self ) -> Vec < u8 > {
341331 let mut credential_request: Vec < u8 > = Vec :: new ( ) ;
342- credential_request. extend_from_slice ( & serialize ( & self . id_u , 2 ) ) ;
343332 credential_request. extend_from_slice ( & serialize ( & self . alpha . to_arr ( ) , 2 ) ) ;
344333
345334 let mut output: Vec < u8 > = Vec :: new ( ) ;
@@ -356,9 +345,7 @@ impl<CS: CipherSuite> LoginFirstMessage<CS> {
356345 }
357346
358347 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 ) ?;
362349
363350 if !remainder. is_empty ( ) {
364351 return Err ( PakeError :: SerializationError . into ( ) ) ;
@@ -374,11 +361,7 @@ impl<CS: CipherSuite> LoginFirstMessage<CS> {
374361 & ke1m[ ..] ,
375362 ) ?;
376363
377- Ok ( Self {
378- id_u,
379- alpha,
380- ke1_message,
381- } )
364+ Ok ( Self { alpha, ke1_message } )
382365 }
383366}
384367
@@ -612,10 +595,7 @@ impl<CS: CipherSuite> ClientRegistration<CS> {
612595 ) ?;
613596
614597 Ok ( (
615- RegisterFirstMessage :: < CS :: Group > {
616- id_u : user_name. to_vec ( ) ,
617- alpha,
618- } ,
598+ RegisterFirstMessage :: < CS :: Group > { alpha } ,
619599 Self {
620600 id_u : user_name. to_vec ( ) ,
621601 id_s : server_name. to_vec ( ) ,
@@ -1069,11 +1049,7 @@ impl<CS: CipherSuite> ClientLogin<CS> {
10691049
10701050 let ( ke1_state, ke1_message) = CS :: KeyExchange :: generate_ke1 ( alpha. to_arr ( ) . to_vec ( ) , rng) ?;
10711051
1072- let l1 = LoginFirstMessage {
1073- id_u : user_name. to_vec ( ) ,
1074- alpha,
1075- ke1_message,
1076- } ;
1052+ let l1 = LoginFirstMessage { alpha, ke1_message } ;
10771053
10781054 Ok ( (
10791055 l1,
0 commit comments