[MUD-Dev] Re: Modular MUD
Adam J. Thornton
adam at phoenix.Princeton.EDU
Mon Aug 31 10:15:40 CEST 1998
On Mon, Aug 31, 1998 at 05:00:41AM -0700, Caliban Tiresias Darklock wrote:
> I want to do something in my server to try and protect the user's password
> in at least some half-assed fashion. Export controls are a problem,
> however, and what I'm trying to find at this point is something legally
> exportable from the US -- but all I seem to be able to find is all this
> stuff that works on million-bit keys. Does anyone know where I can find
> decent reasonably-sized (56 bits or less) encryption code? And does anyone
> know whether a program which doesn't include source code and doesn't permit
> the encryption of arbitrary data would still be a problem?
Ah, finally something I *do* know something about.
For starters, if it will protect jack, you can't export it. Seriously,
you'd still have to apply for a license for it, even if it's binary only
and doesn't permit arbitrary data encryption. And the odds that you would
get that license are about zero.
Do you need a public-key system? If so, you're really SOL. If private key
will do...this is going to sound incredibly cheesy, but use DES. DES is
exportable, and easy to crack for cheap, but if you're not protecting
anything all that valuable, it's an awful lot better than nothing. There
are free implementations available, and it's simple to use; I recommend
using it in CBC (cipher block chaining) mode. Electronic Codebook Mode is
easier but much more prone to spoofing. If you don't care about encrypting
the password while it's in transit, go with DES. If you do you'll need to
either set up key exchange somewhere or find a public-key system. I think
Diffie-Hellman is out from under patent now, though, so you could use that,
but it's still not exportable.
DES is a 64-bit key. 56 bits are information and 8 bits are parity. It
operates on 64 bits of plaintext and produces 64 bits of ciphertext. And
if you want, you can chain 3 rounds of DES together to effectively double
the strength of the cipher, so it acts as if it had a 112-bit key. This is
usually done in an encrypt-decrypt-encrypt cycle, so that if you set all
three keys to be identical, you get single DES. 3DES is about as strong as
anything out there. I'm not actually sure about the legality of exporting
3DES; if the world made any sense it would be just like DES, but it may
not.
You could also look into using a secure hashing algorithm to produce a
checksum of your password, but the feds _also_ know that a digital
signature algorithm can be turned into a stream cipher with no difficulty,
so it's probably not exportable, although you could see if SHA or MD5 are
exportable without a license. I don't think they are, but I could be
wrong.
The folks over at sci.crypt would know, and it's probably in the FAQ.
Adam
--
adam at princeton.edu
"There's a border to somewhere waiting, and a tank full of time." - J. Steinman
More information about the mud-dev-archive
mailing list