From: Bill Stewart <stewarts@ix.netcom.com>
To: droelke@rdxsunhost.aud.alcatel.com (Daniel R. Oelke)
Message Hash: 61d828c94052acc5ba8016d178765846c63d951e8b3b68012ac506cdf15198e1
Message ID: <199509050020.RAA27203@ix9.ix.netcom.com>
Reply To: N/A
UTC Datetime: 1995-09-05 00:23:55 UTC
Raw Date: Mon, 4 Sep 95 17:23:55 PDT
From: Bill Stewart <stewarts@ix.netcom.com>
Date: Mon, 4 Sep 95 17:23:55 PDT
To: droelke@rdxsunhost.aud.alcatel.com (Daniel R. Oelke)
Subject: Re: Basic Public key algorithms.
Message-ID: <199509050020.RAA27203@ix9.ix.netcom.com>
MIME-Version: 1.0
Content-Type: text/plain
At 01:01 PM 9/2/95 CDT, droelke@rdxsunhost.aud.alcatel.com (Daniel R. Oelke)
wrote:
>After doing quite a bit of poking around, I am somewhat discouraged
>in my attempts to find a simple *pure* public key encryption method,
>without a lot of other stuff wrapped around it.
Pure public-key is usually not very useful, since it's rather slow
for encrypting big messages by itself. PKP has the patents to all public-
key systems until mid-1997, and for RSA until some time like 2001,
and Schnorr for longer. Unfortunately, RSAREF (except for one version
where they slipped) requires non-commercial users to limit themselves
to the published interface or get explicit permission, and the published
interface always throws in DES with a random key for encryption.
Since you're talking embedded systems, you're probably commercial and
high enough volume that the cost for licensing RSA is probably low enough.
>What I need is to encrypt between 45 and 55 bits of information
>using a public key algorithm in an embedded environment.
45-55 bits may be tough, depending on the constraints of your
environment - most public-key systems need 768-1024 bits of
key to be reasonably secure, and need to send an output field
at least that long to be decodeable. If that's not a problem,
you've got some choices. For instance, you could use Diffie-Hellman
to create a shared secret, and just XOR that with your material
(have the workstation generate a master x, g, and p, and
store g**x in your embedded system; choose a random y each time, and
send g**y mod p and the first |M| bits of (g**xy mod p) xor M.
To do that, you need to store g**x, g, and p, possibly in ROM,
and enough code to do modular exponentiation and random number generation;
hopefully your system will have some kind of quasi-physical source of
randomness.
#---
# Thanks; Bill
# Bill Stewart, Freelance Information Architect, stewarts@ix.netcom.com
# Phone +1-510-247-0664 Pager/Voicemail 1-408-787-1281
#---
Return to September 1995
Return to “Bill Stewart <stewarts@ix.netcom.com>”
1995-09-05 (Mon, 4 Sep 95 17:23:55 PDT) - Re: Basic Public key algorithms. - Bill Stewart <stewarts@ix.netcom.com>