creating2morrow / neveko

full-stack privacy application with enciphered messaging, monero multisig and built-in i2p marketplace
http://neveko.i2p
MIT License
29 stars 3 forks source link

Implement Key and Message Broadcast #37

Open creating2morrow opened 5 months ago

creating2morrow commented 5 months ago

Using Monero keys implement the capability for users to broadcast encrypted messages to subscribers, or vendors to broadcast to multiple customers etc.

(1) Alice generates a random session key, K, and encrypts M using K.
E (M)
K(2) Alice gets Bob’s, Carol’s, and Dave’s public keys from the database.
(3) Alice encrypts K with Bob’s public key, encrypts K with Carol’s public key, and then
encrypts K with Dave’s public key.
E (K), E (K), E (K)
B C D(4) Alice broadcasts the encrypted message and all the encrypted keys to anybody who cares
to receive it.
E (K), E (K), E (K), E (M)
B C D K(5) Only Bob, Carol, and Dave can decrypt the key, K, each using his or her private key.
(6) Only Bob, Carol, and Dave can decrypt Alice’s message using K.

Reference:

Schneier, B. (2015). Front Matter. In Applied Cryptography, Second Edition, B. Schneier (Ed.). https://doi.org/10.1002/9781119183471.fmatter