Something like:
Alice sends a request to Bob, "hi Bob, can you look after a secret share for me?" Bob replies "yes, encrypt it to this ephemeral public key bob_e". Bob's stores this key on disk, for now. Alice also generates an ephemeral key, alice_e and encrypts the share, sending bob alice_e.public, secretbox(share_bob, alice_e*bob_e) then deletes alice_e's private key. (note: alice sends the public key she used to bob, he'll need that to decrypt the share)
I think I see the intention of this, but I've got tangled on which keys are being used where.
I'm assuming all keys are assymetric, so there's alice_e.public
and alice_e.private
.
Re-writing the story with more detail it might then look like :
- Alice ask Bob, "hi Bob, can you look after a secret share for me?"
- Bob replies "yes, encrypt it to this ephemeral public key
bob_e.public
". Bob's storesbob_e.public
andbob_e.private
keys on disk, for now. - Alice also generates an ephemeral key-pair,
alice_e.public
,alice_e.private
and then sends Bob:secretbox(share_for_bob, alice_e.public*bob_e.public)
(encrypted share)alice_e.public
(he'll need that to decrypt the share)
- Alice then deletes her ephemeral
alice_e.private
Things I don't understand:
- I can see where
alice_e.private
is ever used - aren't all of the keys that were used to make the secretbox key (
alice_e.public*bob_e.public
) now on the log? .. making it not the ephemeral