Implement Needham-Schroeder symmetric key protocol, both original version and fixed version using python.
The term Needham-Schroeder protocol may refer to one of the two communication protocols intended for use over an insecure network, both proposed by Michael Schroeder and Roger Needham.
These are:
The Needham-Schroeder Symmetric Key Protocol is based on a symmetric encryption algorithm. It forms the basis for the Kerberos protocol. This protocol aims to start a session key between two parties on a network, classically to protect further communication.
The Needham-Schroeder Public-Key Protocol, based on public-key cryptography. This protocol is intended to give mutual authentication between two parties communicating on a network, but in its proposed form is insecure.