Are these schemes fundamentally different? Are other schemes fundamentally different in the sense that you can do different operations with them (or the same operations, but needing different primitives)?

For instance, Whit Diffie is on record as saying that he originally much preferred RSA because it provided signatures (at the time, things like ElGamal etc were not invented so RSA seemed superior).

RSA is often used as “key transport”, which seems like something Diffie-Hellman cannot do? But in a sense you can do it: Merely compute $k=g^{ab}$ and use $k$ and some symmetric cipher to “transport” your session key $k_s$? This requires the use of a symmetric cipher, whereas RSA key transport does not. Maybe there are other ways of doing it that only require the same primitives as RSA?

In addition, DH schemes like ElGamal seem to all require randomness to produce signatures (I could be wrong?), whereas RSA does not (except for padding I suppose?), but RSA does seem to require a hash function (I could be wrong)? Are they fundamentally different?

So my question is, are there fundamentally different properties of certain public key encryption schemes? Especially RSA and DH?

  • $\begingroup$ One small point: All examples mentioned above, absolutely require CSPRNGs or they fail catastrophically! $\endgroup$
    – Iam Nick
    Jan 17, 2016 at 20:55
  • $\begingroup$ To your last-but-one paragraph: One could also sign with RSA without hashing function but with some randomness. See Ex.4 in my code s13.zetaboards.com/Crypto/topic/7234475/1/. $\endgroup$ Jul 22, 2016 at 16:11