[comp.misc] public key encryption alg wanted...

mjr@osiris.UUCP (Marcus J. Ranum) (09/04/87)

	Anyone got PD algs for public-key encryption routines. I'm
working on a remote-server daemon that need to pass passwords back 
and forth....

	--mjr();
-- 
If they think you're crude, go technical; if they think you're technical,
go crude. I'm a very technical boy. So I get as crude as possible. These
days, though, you have to be pretty technical before you can even aspire
to crudeness...			         -Johnny Mnemonic

mdella@polyslo.UUCP (Marcos R. Della) (09/05/87)

I also am looking for a public key program. I have been working on one
in turbo pascal and have had some problems with large prime numbers on
the system. Does anyone have something written or know where I can start
looking for the information? All the info here at school covers the
techinical aspects, but doesn't get down into the actual hard code.
Unfortunatly, I don't have the time to keep writing from scratch...
 
If need be, I can take a C program also...

-- 
...!lll-crg --> !csustan --\                         | Whatever I said doesn't
                            >->!polyslo!caus-dp!root | mean diddly as I forgot
  ...!ihnp4 --> !csun -----/                         | it even before finishing
             ...!dmsd ----/                          | typing it all out!!!

srt@duke.cs.duke.edu (Stephen R. Tate) (09/09/87)

>I also am looking for a public key program. I have been working on one
>in turbo pascal and have had some problems with large prime numbers on
>the system. Does anyone have something written or know where I can start
>looking for the information?

I take it you want something that will run on a PC.  I have seen (and
have a copy of) a public domain public key system called PKCRYPT for
the PC.  I'm not sure about it though:  It uses the RSA scheme which
I seem to remember is under copyright (wasn't there a big discussion
about this?).  If there is some way around the copyright, then I have
a bunch of "large number" arithmetic routines that could be thrown
together for a public key system fairly quickly.  They are written
in C.

-- 
Steve Tate			UUCP: ..!{ihnp4,decvax}!duke!srt
				CSNET: srt@duke
				ARPA:  srt@cs.duke.edu
"There ain't nothin' in the world that a T-Bone Shuffle won't cure."

devine@vianet.UUCP (Bob Devine) (09/10/87)

  Since several people have asked for PKS code, here are some
places to find ideas and/or code.  I have no knowledge if any
of the articles worthwhile; I haven't had an opportunity to
look closely at them.  These articles appeared in easily-obtained
journals or magazines, so happy hunting.

1. This gives some good suggestions for writing RSA
	"A Proposed Standard for RSA Cryptosystems"
	Philip Zimmermann
	IEEE Computer, Sept 86 pp21-34

2. (full?) RSA code in RatFOR
	"RSA: A Public Key Cryptography System"
	C. E. Burton
	Dr Dobbs Journal, March pp 16-43 (part 1) and June 84 pp 32-59

3. Article with some Pascal code (not a complete implementation)
	"Public-key Encryption Techniques"
	T. F. Elbert
	Journal of Pascal and Ada, Sept/Oct 83 pp14-20

4. Some silliness about using Basic for cryptography
	"Implementing Cryptographic Algorithms in Microcomputer Basic"
	Byte, Oct 84  pp126-?

Bob Devine

peter@sugar.UUCP (09/11/87)

> [...public key encryption...prime numbers...]

Sounds like  you'r talking about RSA public key encryption. This technique
is patented by Rivest, Shamir, and Adelman (? did I get these names right?).

Therefore there is not now nor will there ever be (until the 17 or so years
is up, anyway) a public domain implementation of this.

If anybody knows anything about any of the non-patented public key systems,
(knapsack?), please post a followup.
-- 
-- Peter da Silva `-_-' ...!seismo!soma!uhnix1!sugar!peter
--                 'U`  <-- Public domain wolf.

quisquat@prlb2.UUCP (Jac. Quisquater) (09/11/87)

In article <226@vianet.UUCP> devine@vianet.UUCP (Bob Devine) writes:
>
>  Since several people have asked for PKS code, here are some
>places to find ideas and/or code.  I have no knowledge if any
>of the articles worthwhile; I haven't had an opportunity to
>look closely at them. 
>
>1. This gives some good suggestions for writing RSA
>	"A Proposed Standard for RSA Cryptosystems"
>	Philip Zimmermann
>	IEEE Computer, Sept 86 pp21-34
>  ...
>Bob Devine

It is, maybe, worthwhile to compare the section ``Shortcut for RSA decryption''
(attributed to Charles Merritt, 1984, 1985) of this paper (there is also
errata in another issue of IEEE Computer) and the paragraph
``Fast deciphering algorithm'' of the following paper:

J.-J. Quisquater and C. Couvreur, ``Fast decipherment algorithm for RSA
public-key cryptosystem'', Electronics Letters, 14th Oct. 1982, Vol.18, 
No. 21, pp. 905-907.

Any way ISO (International Standard Organisation) is studying the use
of public-key systems for signature (only) under the working group
TC97/SC20/WG2. I know that because I am the editor of the (draft) 
document (accepted and presented with Louis Guillou -- CCETT, Rennes, France --
at CRYPTO'87, Santa Barbara, Calif., 16-20 Aug.).

 Jean-Jacques Quisquater,

SMAIL:
 Philips Research Laboratory Brussels
 Avenue Van Becelaere, 2; Box 8; B-1170 Brussels, Belgium.
UUCP: 
 World:   ...{philabs,uunet,munnari,mcvax}!prlb2!jjq
INTERNET: 
 na.quisquater@score.stanford.edu

jbuck@epimass.EPI.COM (Joe Buck) (09/14/87)

In article <686@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
>> [...public key encryption...prime numbers...]
>
>Sounds like  you'r talking about RSA public key encryption. This technique
>is patented by Rivest, Shamir, and Adelman (? did I get these names right?).
>
>Therefore there is not now nor will there ever be (until the 17 or so years
>is up, anyway) a public domain implementation of this.

There is public-domain code (Dr. Dobbs' Journal and other places);
whether it's legal to use is another matter.

There are other number-theoretic public-key algorithms out there.
Also, it's not clear to me that the RSA patent could withstand a
well-financed challenge in court, and I suspect it will be thrown out
eventually.  The way the patent laws were set up, you can't patent a
discovery or a mathematical truth.  Until recently algorithms were
considered unpatentable since they were seen as mathematical laws.
There's a lot more than that to real software.  But RSA is a
straightforward application of Euler's Theorem.  Also, R, S, and A
didn't come up with the core concept of public-key encryption -- a
"one way" transformation.  Their contribution was to recognize a new
way in which to use 200 (or more)-year-old number theory.  Unless the
license fees are kept very reasonable and low, the patent will be
challenged and ruled invalid in the near future.  

A patent gives the patent holder grounds to sue someone who infringes
on it.  The government will not enforce the patent.  It does not give
a guarantee that the patent holder will emerge victorious; frequently
the patent holder emerges without the patent (because it is ruled
invalid).  

>If anybody knows anything about any of the non-patented public key systems,
>(knapsack?), please post a followup.

The knapsack approach has been broken; fast ways of solving knapsack
problems are now known.


-- 
- Joe Buck    jbuck@epimass.epi.com
	      {uunet,ucbvax,sun,decwrl,<smart-site>}!epimass.epi.com!jbuck
	      Old arpa mailers: jbuck%epimass.epi.com@uunet.uu.net