Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Assuming you have a block cipher that (when given a 128­-bit key) yields an instance of a true pseudorandom permutation... how can you use that block cipher within the above constraints to achieve practically perfect secrecy?

share|improve this question

closed as unclear what you're asking by Steve, Xander, Adi, GdD, Terry Chia Jan 22 '14 at 14:36

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question.If this question can be reworded to fit the rules in the help center, please edit the question.

Sungwon - please don't do that! – Rory Alsop Jan 21 '14 at 23:54

"Secrecy" depends on the context. Secrecy of what, where, when, against who ?

If you have an ideal block cipher, then you can use it in a mode of operation which turns it into an encryption system for data messages of arbitrary length. If the block cipher is ideal (there is no way to distinguish the block cipher from a randomly selected permutation that is easier than trying all possible keys), and the blocks are large enough, then encryption will ensure confidentiality up to the exhaustive search effort.

Note the subtle points, though:

  • Most block cipher modes require an IV with some mode-dependent requirements. For instance, CBC requires a uniformly random unpredictable IV. Some other modes are less strict and need only a non-repeating IV (e.g. a message counter suffices).
  • Encryption does not include integrity. However, some modes include an integrity check, which is a good idea (e.g. GCM).
  • Depending on the mode, it may be possible to leak information upon decryption; CBC in particular got attacked many times (see padding oracles). There again, modes with integrity checks like GCM tend to fare better.
  • Encryption hides data contents, not data length. Length can leak information, in particular when used with compression (because compression makes data length depend on data contents).
  • Encryption does not create secrecy, it just moves it around. With encryption, you can reduce the problem of keeping gigabytes of data confidential, into the problem of keeping a single 128-bit key confidential. Supposedly, the latter is easier than the former, but you still have to do something (that's called "key management").
share|improve this answer

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