1995-09-05 - Re: Basic Public key algorithms.

Header Data

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

Raw message

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
#---






Thread