[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Dogwash (sorry if this isn't the proper procedure...
for posting anouncements...but...
********************************
*Post-Preliminary Announcement:*
********************************
Inspiration: Dogwash was inspired by (some might say stolen from)
Bruce Schneier's Blowfish.
DogWash: A 128 bit block encryption algorithm/fiestal cipher,
product encryption algorithm....
Rounds: The number of rounds can be defined at runtime.
The range for the number of rounds is from 0 to 6140.
The speed of the algorithm is correlated to the number
of rounds used, with 16 rounds being reasonably fast.
Keylength: The maximum keylength is determined by the number
of rounds. For rounds=0, the maximum keylength
is 16 bytes, or 128 bits. For rounds=6140, the
maximum keylength is a ridiculous 49136 bytes,
or 393088 bits long. For a standard 16 rounds,
the maximum keylength is 144 bytes, or 1152 bits.
Subkeydata: 64k bytes of high entropy (7.95 bits/char) subkey
data are included in a header file. The subkey
data is mutated with the key, and the result is
used for encryption/decryption. Note that the
actual amount of subkey data used is a function
of the number of rounds requested.
The subkey data is not fixed and may be changed
so long as your correspondent is using the same
subkey data. (Note: subkey data is later
mutated with the session key. I only point out
that the subkey data may be changed for those
who might want to do that, for whatever reason.)
Sourcecode: The program is written in c++. Currently, it
requires a compilier that allows a 64 bit unsigned
integer addition, %(1<<63). The use of destructors
helps ensure that mutated subkey data is automatically
destroyed after an encryption or decryption session.
However, other risks exist, such as memory being
swapped to disk, or the final programmer forgetting
to protect his/her key. It should be very easy to
convert it to standard C.
Description: A PostScript file containing block diagrams and
a well written (well, probably better than this)
description may become available within the next
few months.
Security: I believe that DogWash is practically uncrackable,
but I haven't the credentials to make such a
pronouncement. (The only code I have cracked is
the Sunday paper's Cryptogram.) But, unlike blowfish,
this is not a fast encryption algorithm.