Binary Handshake Protocol
This protocol provides authentication and initializes stream encryption for later protocols.
- server confirms the client knows the password (don't allow random people to start broadcasting your webcam to the internet)
- client confirms the server knows the password (probably not neccessary for this case, but why not)
- establish a secure client-to-server stream
- establish a secure server-to-client stream
- be replay-resistent, both for servers and clients (don't allow someone who sniffed your wifi to start broadcasting your webcam to the internet)