• Secure Instant Point-to-Point (P2P) Messaging
• In this project, you need to design a secure
instant messaging tool for Alice and Bob (like
Gtalk, skype or ICQ chat). The system supports
the following functions
– Alice and Bob can use the tool to send instant
messages to each other.
Alice and Bob share the same password (or
passphrase), they must use the password to set up
the tool to correctly encrypt and decrypt
messages shared between each other.
– Each message during Internet transmission must
be encrypted using a 56-bit key.
You can use any computer language (Java,
C++, Python) and leverage any existing opensource
software, tools, or commands (e.g.,
md5sum, sha1sum) to design the system.
• With a 56-bit key, what cipher you should use?
• DO NOT directly use the password as the key,
how can you generate the same key between
Alice and Bob to encrypt messages?
• What will be used for padding?
A graphical user interface (GUI) is preferred.
– Display ciphertext and plaintext
• How should Alice and Bob set up an initial
connection and also maintain the connection
with each other on the Internet?
– You may refer to socket/network programming in
a particular computer language
• Design a key management mechanism to
periodically update the key used between
Alice and Bob. Justify why the design can