Structs§

  • Challenge 🔒
    Handshake challenge. Contains public key of the creator, and a random nonce.
  • Response 🔒
    Handshake response. Contains public key of the creator, and signature related to the received challenge.

Enums§

Constants§

Functions§

  • Performs the handshake with a peer that called us. The goal is to obtain the public key of the peer, and split the communication stream into two halves. The peer needs to prove their identity by signing a randomly generated challenge, but apart from that, the returned communication channels will NOT be secured in any way. We assume that if the channel is compromised after the handshake, the peer will establish another connection, which will replace the current one.
  • Performs the handshake with a peer that we called. We assume that their public key is known to us. The goal is to authenticate ourselves, and split the communication stream into two halves. We need to prove our identity by signing a randomly generated challenge, but apart from that, the returned communication channels will NOT be secured in any way. We assume that if the channel is compromised after the handshake, we will establish another connection, which will replace the current one.
  • Wrapper that adds timeout to the function performing handshake.
  • Wrapper that adds timeout to the function performing handshake.