# man > moduli(5)

[_MODULI_(5)](https://www.chedong.com/phpMan.php/man/MODULI/5/markdown)                                File Formats Manual                               [_MODULI_(5)](https://www.chedong.com/phpMan.php/man/MODULI/5/markdown)

## NAME
       moduli — Diffie-Hellman moduli

## DESCRIPTION
       The  _/etc/ssh/moduli_  file  contains  prime  numbers and generators for use by [_sshd_(8)](https://www.chedong.com/phpMan.php/man/sshd/8/markdown) in the
       Diffie-Hellman Group Exchange key exchange method.

       New moduli may be  generated  with  [_ssh-keygen_(1)](https://www.chedong.com/phpMan.php/man/ssh-keygen/1/markdown)  using  a  two-step  process.   An  initial
       _candidate_  _generation_  pass, using **ssh-keygen -M generate**, calculates numbers that are likely
       to be useful.  A second _primality_ _testing_ pass, using **ssh-keygen -M screen**, provides  a  high
       degree  of assurance that the numbers are prime and are safe for use in Diffie-Hellman opera‐
       tions by [_sshd_(8)](https://www.chedong.com/phpMan.php/man/sshd/8/markdown).  This **moduli **format is used as the output from each pass.

       The file consists of newline-separated records, one per modulus, containing seven space-sepa‐
       rated fields.  These fields are as follows:

             timestamp    The time that the modulus was last processed as YYYYMMDDHHMMSS.

             type         Decimal number specifying the internal structure  of  the  prime  modulus.
                          Supported types are:

                          0     Unknown, not tested.
                          2     "Safe" prime; (p-1)/2 is also prime.
                          4     Sophie Germain; 2p+1 is also prime.

                          Moduli  candidates  initially produced by [_ssh-keygen_(1)](https://www.chedong.com/phpMan.php/man/ssh-keygen/1/markdown) are Sophie Germain
                          primes (type 4).  Further primality testing  with  [_ssh-keygen_(1)](https://www.chedong.com/phpMan.php/man/ssh-keygen/1/markdown)  produces
                          safe prime moduli (type 2) that are ready for use in [_sshd_(8)](https://www.chedong.com/phpMan.php/man/sshd/8/markdown).  Other types
                          are not used by OpenSSH.

             tests        Decimal  number indicating the type of primality tests that the number has
                          been subjected to represented as a bitmask of the following values:

                          0x00  Not tested.
                          0x01  Composite number – not prime.
                          0x02  Sieve of Eratosthenes.
                          0x04  Probabilistic Miller-Rabin primality tests.

                          The [_ssh-keygen_(1)](https://www.chedong.com/phpMan.php/man/ssh-keygen/1/markdown) moduli candidate generation uses the  Sieve  of  Eratos‐
                          thenes  (flag 0x02).  Subsequent [_ssh-keygen_(1)](https://www.chedong.com/phpMan.php/man/ssh-keygen/1/markdown) primality tests are Miller-
                          Rabin tests (flag 0x04).

             trials       Decimal number indicating the number of primality trials  that  have  been
                          performed on the modulus.

             size         Decimal number indicating the size of the prime in bits.

             generator    The recommended generator for use with this modulus (hexadecimal).

             modulus      The modulus itself in hexadecimal.

       When  performing Diffie-Hellman Group Exchange, [_sshd_(8)](https://www.chedong.com/phpMan.php/man/sshd/8/markdown) first estimates the size of the modu‐
       lus required to produce enough Diffie-Hellman output to sufficiently key the selected symmet‐
       ric cipher.  [_sshd_(8)](https://www.chedong.com/phpMan.php/man/sshd/8/markdown) then randomly selects a modulus from _/etc/ssh/moduli_ that best meets the
       size requirement.

## SEE ALSO
       [_ssh-keygen_(1)](https://www.chedong.com/phpMan.php/man/ssh-keygen/1/markdown), [_sshd_(8)](https://www.chedong.com/phpMan.php/man/sshd/8/markdown)

## STANDARDS
       M. Friedl, N. Provos, and W. Simpson, _Diffie-Hellman_ _Group_  _Exchange_  _for_  _the_  _Secure_  _Shell_
       _(SSH)_ _Transport_ _Layer_ _Protocol_, RFC 4419, March 2006.

Debian                                     April 16, 2022                                  [_MODULI_(5)](https://www.chedong.com/phpMan.php/man/MODULI/5/markdown)
