1
$\begingroup$

I was going through Indy-SDK when these two schemes were referenced. I want to know the precise differences between the two.

Indy-SDK links for reference to:

authenticated-encryption scheme

anonymous-encryption scheme

$\endgroup$
1
$\begingroup$

authenticated-encryption scheme

This one takes the sender's public key $g^a$ and the recipients public key $g^b$ and using the currently available secret key ($a$ or $b$) computes $g^{ab}$ and derives a symmetric encryption key from that. This is called a static-static Diffie-Hellman key exchange. It provides authentication for the sender because only the sender knows the correct (static) $a$ to come up with the same shared secret as the receiver.

anonymous-encryption scheme

They work the same as the authenticated one, but this time the sender picks a new $a$ for each message and includes $g^a$ as part of the ciphertext. This way anybody could have picked this $a$ - including an adversary that intercepted the ciphertext, dropped it and computed a new one. This uses a so-called static-ephemeral Diffie-Hellman key exchange and the security guarantees are not unlike those of an unsigned, encrypted PGP message.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.