pub trait HandshakeRequester {
// Required methods
fn create_public_request(&self) -> Result<Vec<u8>, HandshakeError>;
fn process_public_response(
&mut self,
response: &[u8],
) -> Result<(Box<dyn Encryptor>, Box<dyn Decryptor>), HandshakeError>;
}