Encrypted Chat Protocol

Encrypted Chat Protocol, or ECP is a protocol for wired or wireless communication that encrypts the contents and optionally anonymizes the senders using a throwaway private key. After the encrypted communication is established and all participants have entered a chat, a handshake between participants is performed so that they can be assured of their respective identities. This is done by a two-way encryption/signing, provided that the users have the public keys of the recipients.

After authentication is done, messages are sent either in encrypted or unencrypted form, to the recipients. Unencrypted broadcasts are still signed with the user's throwaway private key.

Encrypted Chat Protocol is the default chat protocol used for implant telepathy. Messages can be a mixture of text, voice, video, emotional signals, and allow for multimedia transfer of files, video, or human memories.

Authentication
Post-encryption authentication goes as follows:
 * 1) The user broadcasts (encrypted) his real identity in email form (it could be an alias, like "K41n@kain_rules", or a real identity, like "inoue.minori@cyberpol.gob.hk2"), and a salt-result length requirement (sizes M,N) used for later authentication.
 * 2) Recipients, who possess the identity's public key send a random hash algorithm, encrypted with the user's public key. The function takes an input of size M and returns an output of length N. Along with it, they send an unencrypted salt of size M.
 * 3) For each of the recipients, the user decrypts the hash algorithm and executes it on salt M. Then it sends the result, encrypted, to the recipient. Highly anonymous users specify an output length of 8, 6, or even 4 bits to provide plausible deniability, and later send fake results and request retries. Highly anonymous chats can tolerate up to N/2 attempts to establish authentication along with plausible deniability. These highly-anonymous chats usually assume that the chat communicators are in close range, and often rely on secondary authentication methods, i.e. exchanging physical keys or knowledge outside the chat.
 * 4) The recipient compares the result with their provided hashed salt. If the result matches with the hashed salt, authentication is positive and the user is believed to be whoever he claims to be.

Advanced Uses
Advanced uses of ECP often require specialized add-ons to be installed inside the users' neural implants. A few of the uses are:
 * Cybersex sessions. Cybersex sessions use high-bandwidth ECP session to transmit emotional states, and are a form of zero-risk sexual entertainment. Users are able to achieve orgasm by synchronizing emotional states with no need of external input.
 * Instant friendships. Anonymous users can establish friendships in short time by performing mutual Personal Memory Sharing: Sharing sensorial data of human memories along with emotional states, and even past thoughts (not to be confused with False Memory Implantation). Personal Memory Sharing requires a memory-reading implant to be installed. Since memories are signed using the user's real-life identity, there is no risk of impersonation. Cases of strangers exchanging their personal memories and falling in love after a few minutes are not uncommon. It should be said that opening a memory with a high emotional content could result in emotional shock, PTSD and other psychiatric diseases, and is not recommended for unwary users.
 * Political campaigning. Political leaders often share fragmented and/or filtered memories to their followers to earn their trust. It is a very effective method of acquiring loyal followers.