IDEA has been shown to have some weak keys. However, the odds of you
actually choosing such a key are nearly non-existent (The weak keys fall
into a certain pattern which doesn't fit any normal password.) The odds of
choosing one randomly are 1 in 2^96. There is also an XOR value that can be
run against keys that will completely eliminate the possibility of producing
a weak key.
RC5 is relatively untested at this point, and is therefore of unknown
security. Also, RSA has applied for patent on RC5, so it's not available for
use without license. (This will also likely discourage further attempts to
test it by the experts.)
Using a block cipher in place of a stream cipher does not make it a stream
cipher. :) It's still a block cipher. The lesson here is that unless you are
dealing with "continual real-time transmission" of data, stream ciphers are
not called for. (Even many transmission situations do not call for stream
ciphers, ie. SSL and IPsec, which use block ciphers.)
Undoubtedly, my favorite is Blowfish. I've used it, it performs very well,
source-code is readily available (www.counterpane.com), there are is known
crytanalysis against non-reduced-round Blowfish, and there are no licensing
issues.
Note that 16-round Blowfish (standard) is more than twice as fast as
16-round RC5, and 20-round Blowfish is still almost twice as fast. In order
to beat 20-round Blowfish, you would have to drop to 8 rounds of RC5. (RC5
is a real dog, though not as slow as DES) Note that Twofish is slightly
faster than Blowfish, even though it has a 128 bit block size vs. the 64 bit
block size of Blowfish and RC5.
Some more info on Twofish:
Twofish is from the same people who brought you Blowfish. (Bet you'd never
have guessed!) It is their submission for the Advanced Encryption Standard
(AES) which will replace DES. Currently, it is one of five finalists from an
original group of fifteen. It is unpatented, source code is uncopyrighted,
and is available for use without license. (code can be downloaded from
www.counterpane.com) It's also one of the most tested algorithms out there,
since the competition is banging on it to try to prove it unsuitable, in
favor of their own algorithms.
Michael J. Sheldon
Internet Applications Developer
Phone: 480.699.1084
http://www.desertraven.com/
PGP Key Available on Request
-----Original Message-----
From: David Cummins [mailto:[EMAIL PROTECTED]]
Sent: Saturday, May 20, 2000 20:18
To: [EMAIL PROTECTED]
Subject: Re: decrypt form variable...
Whoa! That's a rather complete answer... ;)
Although I would warn that some of the "cryptographically strong" schemes
have
been shown to have some weak keys, i.e. I think IDEA has some weak keys.
From
what I'm aware, RC5 with 16 rounds does not (so I'm a fan).
As far as stream ciphers go, could you just use a block cipher with an 8 bit
block size, and some form of cipher block chaining as a stream cipher? I
realise
8 bit sounds a bit (ok, a lot) low, but CBC does help. Maybe the stream
could
start with a random word (you know, like Unix salting).
David
Mike Sheldon wrote:
>
> >>Care to suggest a few? I've seen several, but I'm not sure how to
evaluate
> them.
>
> The trick is, there's no way you or I can adequately evaluate an
encryption
> algorithm for anything but speed. Therefore, you need to choose algorithms
> that have been tested by cryptanalysis experts (which is why public
> algorithms are so important).
>
> All information below has been at least partially obtained from "Applied
> Cryptography" by Bruce Schneier. The book includes C source-code for
several
> algorithms, including Blowfish, DES and IDEA. Highly reccommended if you
> have any interest in cryptography.
>
> For Hashes:
> MD5 is still the standard almost everyone uses, though SHA and RIPE-MD are
> probably more secure.
>
> For Symmetric-Key Block Ciphers:
> I like using Blowfish, it's public domain, and quite fast on 32-bit
> processors. It has been used in a few commercial products.
> The TwoFish algorithm is showing a lot of promise in the competition for
> replacement of DES as the US Government standard. Other than that, I don't
> know much about it.
> IDEA is also a strong public cipher, it just never seemed to gain much
> popularity. I'd be very comfortable using it.
> Three-round DES is still fine for most uses, and has the advantage of
being
> available in public libraries. Single-round DES should not be used for
> anything more valuable than your favorite cookie recipe.
>
> For Symmetric-Key Stream Ciphers:
> Stream ciphers are notably less secure than block ciphers, and are
> generally only recommended for things like real-time streaming of data
where
> encrypting a "block" at a time is not practical (IE: hardware
> implementations of "scramblers" for radio, etc...).
> RC4 is commonly used, though it is not truly public, and use of it might
> get you into conflict with RSA Data Security.
> All the other stream ciphers I've seen are described as highly insecure.
> Remember that these algorithms are not designed for "stored" information
> where an attacker would have time to break it.
>
> Assymetric-Key Ciphers, AKA Public-Key:
> RSA and DSA are the current heavyweights, though elliptic curve
algorithms
> show a lot of promise. However, these are quite complex, and you'd best
have
> a thorough understanding of cryptography if you are going to write your
own
> implementation. Using PGP or GPG is probably the most practical way of
using
> public-key cryptography.
>
> Michael J. Sheldon
> Internet Applications Developer
> Phone: 480.699.1084
> http://www.desertraven.com/
> PGP Key Available on Request
----------------------------------------------------------------------------
--
Archives: http://www.eGroups.com/list/cf-talk
To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or
send a message to [EMAIL PROTECTED] with 'unsubscribe' in
the body.
------------------------------------------------------------------------------
Archives: http://www.eGroups.com/list/cf-talk
To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.