You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.3 KiB
65 lines
2.3 KiB
From: stewarts@ix.netcom.com (Bill Stewart) |
|
Newsgroups: sci.crypt |
|
Subject: Re: Diffie-Hellman key exchange |
|
Date: Wed, 11 Oct 1995 23:08:28 GMT |
|
Organization: Freelance Information Architect |
|
Lines: 32 |
|
Message-ID: <45hir2$7l8@ixnews7.ix.netcom.com> |
|
References: <458rhn$76m$1@mhadf.production.compuserve.com> |
|
NNTP-Posting-Host: ix-pl4-16.ix.netcom.com |
|
X-NETCOM-Date: Wed Oct 11 4:09:22 PM PDT 1995 |
|
X-Newsreader: Forte Free Agent 1.0.82 |
|
|
|
Kent Briggs <72124.3234@CompuServe.COM> wrote: |
|
|
|
>I have a copy of the 1976 IEEE article describing the |
|
>Diffie-Hellman public key exchange algorithm: y=a^x mod q. I'm |
|
>looking for sources that give examples of secure a,q pairs and |
|
>possible some source code that I could examine. |
|
|
|
q should be prime, and ideally should be a "strong prime", |
|
which means it's of the form 2n+1 where n is also prime. |
|
q also needs to be long enough to prevent the attacks LaMacchia and |
|
Odlyzko described (some variant on a factoring attack which generates |
|
a large pile of simultaneous equations and then solves them); |
|
long enough is about the same size as factoring, so 512 bits may not |
|
be secure enough for most applications. (The 192 bits used by |
|
"secure NFS" was certainly not long enough.) |
|
|
|
a should be a generator for q, which means it needs to be |
|
relatively prime to q-1. Usually a small prime like 2, 3 or 5 will |
|
work. |
|
|
|
.... |
|
|
|
Date: Tue, 26 Sep 1995 13:52:36 MST |
|
From: "Richard Schroeppel" <rcs@cs.arizona.edu> |
|
To: karn |
|
Cc: ho@cs.arizona.edu |
|
Subject: random large primes |
|
|
|
Since your prime is really random, proving it is hard. |
|
My personal limit on rigorously proved primes is ~350 digits. |
|
If you really want a proof, we should talk to Francois Morain, |
|
or the Australian group. |
|
|
|
If you want 2 to be a generator (mod P), then you need it |
|
to be a non-square. If (P-1)/2 is also prime, then |
|
non-square == primitive-root for bases << P. |
|
|
|
In the case at hand, this means 2 is a generator iff P = 11 (mod 24). |
|
If you want this, you should restrict your sieve accordingly. |
|
|
|
3 is a generator iff P = 5 (mod 12). |
|
|
|
5 is a generator iff P = 3 or 7 (mod 10). |
|
|
|
2 is perfectly usable as a base even if it's a non-generator, since |
|
it still covers half the space of possible residues. And an |
|
eavesdropper can always determine the low-bit of your exponent for |
|
a generator anyway. |
|
|
|
Rich rcs@cs.arizona.edu |
|
|
|
|
|
|
|
|