We have a problem with asymmetric crypto:
We currently use DSA for SSKs. DSA, as specified in FIPS 186-2, has a
1024 bit keylength and the message hash must be 160 bit SHA-1. We have 3
DSA groups in freenet/crypt/Global.java. Each of these has a 1024 bit p
and a 160 bit q, which in practice means that SSK pubkeys (or node
pubkeys when we use it for authentication) will be 1024 bits, and we can
only use a 160-bit hash. FIPS 186-2 does not specify specific groups,
but explains how to create your own groups in a secure manner.

In the last year or so, a Chinese cryptographer, Professor Wang, has
devised a (so far theoretical, as it is 2^69) attack on SHA-1. Since
"attacks always get better" (Bruce Schneier I think), it is prudent to
move to SHA-256, which has a longer output length, and is less likely to
be subject to the same attacks. Therefore, in Freenet 0.7 we use SHA-256
as our hash function everywhere. There are other hash functions we could
use, but only SHA-256 has sufficient credibility.

Therefore, we have a problem:
- Our existing groups can only handle 160-bit message hashes.
- Our existing groups are 1024 bit for keys. This is too short. Longer
  keys would be more secure.

Should we:
a) Adapt the method from FIPS 186-2 for generating groups, and create a
new group with 1536 or 2048 bits p, and 256 bits q? (Can the specified
method produce weak/dangerous groups?)
b) Stick with 160-bit hashes and small keys for now? (We may be stuck
with it until 1.0 if so...)
c) Do something else?

References:
http://en.wikipedia.org/wiki/Digital_Signature_Algorithm
http://csrc.nist.gov/cryptval/dss.htm
-- 
Matthew J Toseland - toad at amphibian.dyndns.org
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20051219/4ec1cedd/attachment.pgp>

Reply via email to