Subject Re: [Firebird-Architect] Re: database encryption
Author Jim Starkey
Geoff, this is so staggeringly silly as to qualify you as a prime
candidate for the Firebird "Helen of the Year" award.

AES, like most modern encryption algorithms, is *not* vulnerable to
plaintext attacks or, for that matter, any known practical attacks at
all. AES (special cases of Rindael) are the most studied of encryption
algorithms and the 256 bit version has been certified for US top
secret. The idea that it is susceptible to anything as childish as a
plaintext attack is ludicrous. But, if you have some special insight
into this, I'm sure that National Security Agency and the crypto
community would be all ears.

In a security architecture, the various encryption algorithms are
fungible. It doesn't make any difference to the architecture what block
cipher is used message encryption, what public key system is used for
key exchange, or change secure hash is used for signing or digests.
Whether or not AES has a theoretical attack is no bearing on the
architecture any more than the fact that DES can be broken in 45 minutes.

And, no, a developer doesn't have to understand the crypto to use it,
though he should know that 2048 is divisible by 32. A developer needs
know when to a block cipher or a public key cryptosystem and how to call
functions in a library, but that's about it.

On 11/7/2010 5:40 AM, Geoff Worboys wrote:
> Dimitry Sibiryakov wrote:
>> How strong is AES against known plaintext attack? Content
>> of some network packets and database pages can be predicted
>> with very high probability.
> As far as I know all symmetric encryption algorithms are
> deterministic and so are all subject to known-plaintext attack,
> but most of this sort of detail is in the implementation ... if
> you know how to do it properly you can cover such issues.
> Remember that the encryption algorithm is just one part of it,
> the protocol (both line and in-code) plays a critical part in
> making the algorithm secure. (This is the sort of stuff I was
> talking about with block-cipher modes of operation, I imagine
> the same sorts of techniques must apply to line encryption.)
> This is why you can't just pickup an algorithm and use it, you
> must understand how it should be used to ensure security.
> At the moment much of this conversation is the blind leading
> the blind. If anyone is going to take this project seriously
> they need to look at some appropriately qualified references.
> Something like the book I cited previously is likely to give
> you better advice than anything you will get on this list.
> Without real expertise on the project it may be relevant to
> try and use libraries with good reputations or see if you can
> find someone with the appropriate experience to help.