2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
See the end for copying conditions.
+* Version 2.11.1 (unreleased)
+
+** libgnutls: Updated documentation and gnutls_pk_params_t mappings
+to ECRYPT II recommendations.
+
+** libgnutls: HMAC-MD5 no longer used by default.
+
+** API and ABI modifications:
+No changes since last version.
+
+
* Version 2.11.0 (released 2010-07-22)
** libgnutls: support scattered write using writev(). This takes
Certificates", Cryptology ePrint Archive, Report 2005/067, Available
at @url{http://eprint.iacr.org/}.
+@item @anchor{ECRYPT}[ECRYPT]
+European Network of Excellence in Cryptology II, "ECRYPT II Yearly
+Report on Algorithms and Keysizes (2009-2010)", Available
+at @url{http://www.ecrypt.eu.org/documents/D.SPA.13.pdf}.
+
@end table
In TLS, since a lot of algorithms are involved, it is not easy to set
a consistent security level. For this reason this section will
present some correspondance between key sizes of symmetric algorithms
-and public key algorithms based on the most conservative values of
-@xcite{SELKEY}. Those can be used to generate certificates with
+and public key algorithms based on the ``ECRYPT II Yearly Report on Algorithms and Keysizes (2009-2010)''
+in @xcite{ECRYPT}. Those can be used to generate certificates with
appropriate key sizes as well as parameters for Diffie-Hellman and SRP
authentication.
-@multitable @columnfractions .15 .20 .20 .20
+@multitable @columnfractions .10 .15 .10 .20 .35
-@item Year
-@tab Symmetric key size
-@tab RSA key size, DH and SRP prime size
+@item Security bits
+@tab RSA, DH and SRP parameter size
@tab ECC key size
+@tab @code{gnutls_sec_param_t}
+@tab Description
+
+@item 64
+@tab 816
+@tab 128
+@tab @code{WEAK}
+@tab Very short term protection against small organizations
-@item 1982
-@tab 56
-@tab 417
-@tab 105
-
-@item 1988
-@tab 61
-@tab 566
-@tab 114
-
-@item 2002
-@tab 72
-@tab 1028
-@tab 139
-
-@item 2015
-@tab 82
-@tab 1613
-@tab 173
-
-@item 2028
-@tab 92
-@tab 2362
-@tab 210
-
-@item 2040
-@tab 101
-@tab 3214
-@tab 244
-
-@item 2050
-@tab 109
-@tab 4047
-@tab 272
+@item 80
+@tab 1248
+@tab 160
+@tab @code{LOW}
+@tab Very short term protection against agencies
+
+@item 112
+@tab 2432
+@tab 224
+@tab @code{NORMAL}
+@tab Medium-term protection
+
+@item 128
+@tab 3248
+@tab 256
+@tab @code{HIGH}
+@tab Long term protection
+
+@item 256
+@tab 15424
+@tab 512
+@tab @code{ULTRA}
+@tab Foreseeable future
@end multitable
switch(param)
{
case GNUTLS_SEC_PARAM_LOW:
- return 1024;
+ return 1248;
case GNUTLS_SEC_PARAM_HIGH:
- return 3072;
+ return 2432;
case GNUTLS_SEC_PARAM_ULTRA:
- return 7680;
+ return 3248;
case GNUTLS_SEC_PARAM_NORMAL:
default:
- return 2048;
+ return 2432;
}
default:
gnutls_assert();
{
/* currently we ignore algo */
- if (bits >= 7680)
+ if (bits >= 15423)
return GNUTLS_SEC_PARAM_ULTRA;
- else if (bits >= 3072)
+ else if (bits >= 3247)
return GNUTLS_SEC_PARAM_HIGH;
- else if (bits >= 2048)
+ else if (bits >= 2431)
return GNUTLS_SEC_PARAM_NORMAL;
- else if (bits >= 1024)
+ else if (bits >= 1248)
return GNUTLS_SEC_PARAM_LOW;
else
return GNUTLS_SEC_PARAM_WEAK;