New answers tagged


For anyone else curious and wanting to run the math via a language that is more available/accessible (eg a REPL via a web browser), I ported the answer by Charles to Javascript (ES6) below: const a = 1/3 const b = 2/3 const l = (x) => Math.log(x) const e = (x) => Math.exp(x) function to_symmetric_bits(asymmetric_bits) { const t = asymmetric_bits * l(...


You are forgetting that messages usually consist of many blocks and that many messages contain much more structure than just English text. For example an RSA private key will, when encoded, have a easy to distinguish header and will consist of many blocks of plaintext / ciphertext when encrypted with a block cipher. The same is true for Word documents, XML ...


One hexadecimal digit is equivalent to 4 bits, so 16 of them would be 16 * 4 = 64 bits. Intuitively, since one hexadecimal digit takes up exactly half an octet, your bit strength compared to using the full octet is also halved, so 128 / 2 = 64.

Top 50 recent answers are included