home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: sci.crypt
- Path: sparky!uunet!utcsri!torn!cunews!nrcnet0!bnrgate!bcars267!keith
- From: keith@bnr.ca (Keith W. Campbell)
- Subject: Re: DES Encryption/ Encrypting more than once.
- Message-ID: <1992Oct15.211300.27098@bnr.ca>
- Sender: keith@bnr.ca
- Nntp-Posting-Host: bcars15
- Organization: Bell-Northern Research, Ontario, Canada
- References: <1992Oct13.174505.24230@b11.b11.ingr.com> <1992Oct15.125830.25539@bnr.ca> <unruh.719169829@unixg.ubc.ca>
- Date: Thu, 15 Oct 1992 21:13:00 GMT
- Lines: 99
-
- In article <1992Oct15.144341.15104@rchland.ibm.com> lwloen@vnet.ibm.com writes:
- >In article <1992Oct14.184555.26717@sqwest.wimsey.bc.ca> Mark Henderson
- >writes:
- >
- >>In article <ARI.HUTTUNEN.92Oct13203817@cardhu.cs.hut.fi> Ari.Huttunen@hut.fi
- >> (Ari Huttunen) writes:
- >>>In article <wa6JsB7w165w@works.uucp> ferret@works.uucp (Dave Ferret) writes:
- >>>
- >>>Any encryption scheme that has a fixed block length *must* do this. Think
- >>>of a series of encryptions:
- >>> x_1 -> x_2 -> x_3 -> ... -> x_k -> ... -> x_n -> ...
- >>>If 'n' is greater than the possible number of messages that can be encoded
- >>>in the fixed length block, there must be some blocks in the chain that
- >>>are the same (pigeonhole principle). Let x_k and x_n be the same blocks.
- >>>Then by encrypting x_k (n-k)-times yields x_k.
- >>>
- >>>(n-k) might be quite large, though. ;-)>
- >>
- >>However there is nothing in your argument to say that (k,n) are not
- >>dependent on the original block being encrypted.>
- >>
- >>for "circular", we want something more like:>
- >>
- >>there exists n such that
- >>
- >> n
- >>E (x) = x for all blocks x >>
- >>
- >>where E is the encryption function in question.
- >
- >Few encryption systems have this property in general. As I recall, the
- >system known as Bifid (see H. F. Gaines' Cryptanalysis for a brief
- >summary) has this property. For a given keysquare and period, n is not
- >known, but is fixed for that particular set.
-
- All encryption systems must have this property. While it is true that
- there will often be many different orders of blocks
- i
- order(x) = smallest i such that E (x) = x
-
- we can always take n = lcm( order(x) : over all blocks x ) to get
-
- n
- E (x) = x for all x
-
- We would hope that n is large for any system in use. This is true for
- DES, as you will see below.
-
- In article <unruh.719169829@unixg.ubc.ca> unruh@unixg.ubc.ca (Bill Unruh) writes:
- >keith@bnr.ca (Keith W. Campbell) writes:
- >
- >>It is only a problem if the cycle length is very short. A cycle length of
- >>one means that the plaintext and ciphertext are the same. If the cycle
- >>length is two, an attacker who can arrange to have a chosen text encrypted
- >>may discover the plaintext by having the ciphertext re-encrypted.
- >
- >>For DES these short cycles are very rare and such keys are easy to avoid.
- >>DES and other good ciphers which may be considered to be random mappings
- >>have average cycle lengths of sqrt(pi*n/8) steps where n is the number of
- >>possible plaintexts.
- >
- >>For DES, n=2^64 so the average cycle length is about 0.627*2^32.
- >>So in practice, the cycles of an
- >>encryption algorithm are not problematic.
- >
- >So a chosen plaintext attack of "only" 2^32 should crack DES, rather
- >than the 2^47 or something of the differential analysis attack? Sounds
- >like a significant advance in the breaking of DES since the former has
- >been widely reported as breaking DES:)?
-
- Sorry, but this does NOT lead to a practical attack on a system which
- uses DES. If you can entice the victim into n1 ~ 2^32 encryptions, you
- can get the plaintext. (Note that this only applies to systems which use
- DES in ECB mode). You still don't have the key nor an efficient method
- for encrypting or decrypting blocks not included in this cycle.
-
- You may continue to collect more plaintext-ciphertext pairs by following
- other cycles yielding cycle lengths n2, n3, ..., n_k. This process should
- give a complete description of the mapping after traversing k ~ 2^32 cycles.
- (There 2^64 points with about 2^32 in each cycle). Your obliging victim
- has done 2^64 encryptions for you; it would have been more efficient to
- check each of the 2^56 keys yourself.
-
- Michael Wiener and I submitted a paper to Crypto '92 entitled "DES is not
- a Group". The principal argument is as follows.
-
- Consider the closure of DES encryptions under composition. Our claim is
- that this group must include permutations which are not equivalent to DES
- encryption with any key. Each of the n_i collected above must divide
- the order of the group. Compute n = lcm( n_i, i=1..k ). If n > 2^56 then
- the group must be larger than the set of DES encryptions.
-
- The paper includes the lengths of several hundred cycles of DES.
- The lcm of those lengths exceeds 10^2499. It is clearly not practical
- to use E^n(x) to recover x for such large n.
- --
- Keith W. Campbell Bell-Northern Research
- P.O. Box 3511, Station C, Ottawa, Canada, K1Y 4H7
- e-mail: keith@bnr.ca voice: (613) 765-4564
-