Xiyou Jin1 and Jonathan Sahagun2, 1USA, 2California State Polytechnic University, USA
Deuterium is a protocol for instant messaging that allows users to join a channel, securely exchange messages, and rotate the group key for security purposes. When a user wants to join a channel, they must first send their public key, wallet address, and a digital signature to verify their identity. If the user's identity is successfully verified, the channel’s creator will perform an elliptic Elliptic Curve Diffie-Hellman key exchange with the user using curve25519,generating a group key for encrypting messages in the channel. The group key is periodically rotated for security purposes. Users can send messages to the channel by encrypting them with the X25519-XSalsa-Poly1305 algorithm, including a Galois Message Authentication Code instead of an index after keys are exchanged, and attaching a digital signature to verify the authenticity of the message. The protocol also includes a "Termination event" for handling errors or exceptions that may occur during key exchange or message exchange.
MetaMask, Ethereum, PubSub, Encryption, Protocol