Updated moduli file in OpenSSH 3.8

Darren Tucker dtucker at zip.com.au
Wed Feb 25 10:22:38 EST 2004


Moulding, Dan wrote:
> Can anybody briefly explain the significance of the updated moduli file?
> Is this a critical update? Should all existing installations update
> their moduli file?

Short Answer: No, it's not critical.  If you've got a slow/overloaded 
server, it would be worth doing, though.

Long Answer: There are 2 reasons it was updated.

1) The idea of Diffie-Hellman Group Exchange is (quoting from [1]):
   "The ability to propose new groups will reduce the incentive to use
   precomputation for more efficient calculation of the discrete loga-
   rithm."

	In OpenSSH, those DH groups are stored in the moduli file.  If the 
moduli file was never updated, it might become worthwhile to do some 
kind of precomputation on the groups in the file.

	So, as a precaution, a new moduli file was generated for the release. 
(Anyone can generate their own, BTW, see [2] and look for 
"update-moduli", but be aware that it's several days worth of CPU time 
on a fast processor.)

2) sshd will search the moduli file for groups at least as big as the 
client requests.  For some moduli sizes, the file contained moduli one 
bit smaller than the power-of-two sizes that the client would ask for, 
and as a result, sshd would end up using the next size up.  This would 
result in a speed penalty that was especially noticable on systems with 
slowish CPUs.

For comparison:

Old moduli       New moduli
bits    count    bits    count
1023    38       1023    33
1534    31       1535    43
2046    36       2047    36
3190    36       3071    39
4094    14       4095    32

(For some reason the "bits" column is stored as log2(n) rather than just 
the number of bits in it.  Mentally add 1 to get the actual number of bits.)

[1] 
http://www.ietf.org/internet-drafts/draft-ietf-secsh-dh-group-exchange-04.txt

[2] http://www.openbsd.org/cgi-bin/cvsweb/src/etc/Makefile?rev=HEAD

-- 
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9 C982 80C7 8FF4 FA69
     Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.




More information about the openssh-unix-dev mailing list