summaryrefslogtreecommitdiff
path: root/misc/plan.html
blob: a658991149a518ada530ebf36095d2d530771f6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?xml version="1.0" encoding="utf-8"?> <!-- -*-mode: xml; sgml-indent-data: t; -*- -->
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link rel="stylesheet" title="Default"
      type="text/css" href="todo.css" media="all"/>
    <meta http-equiv="Content-Type"
      content="text/html; charset=utf-8"/>
<title>TODO for coming releases</title>
</head>
<body>
  <h1> Nettle release plans </h1>
  <p> This is an attempt at defining a development target for
  Nettle-2.5, inspired by similar pages for recent GMP releases. [Last
  updated 2012-06-09]</p>
  <p class='should'>
    This really ought to be done before release
  </p>
  <p class='wish'>
    Try to get this done before release
  </p>
  <p class='done'>
    Done!
  </p>
  <p class='postponed'>
    Leave for some later release!
  </p>

  <h1> Plan for the Nettle-2.5 release </h1>
  <h2> RSA blinding </h2>
  <p class='done'>
    Add tentative interface, as suggested by Nikos. Don't try yet to
    get blinding variants of <em>all</em> signature functions.
  </p>
  <h2> Documentation </h2>
  <p class='done'>
    Update documentation with info on Salsa20.
  </p>
  <p class='should'>
    Update NEWS file.
  </p>
  <h2> Bug fixes </h2>
  <p class='done'>
    Various w64 fixes, mostly by Martin Storsjö.
  </p>
  <p class='done'>
    Workaround for uint8_fast_t gnutls/gnulib incompatibilty on SunOS 5.8.
  </p>

  <h2> Other </h2>
  <p class='done'> The interface of the internal function
  <tt>pkcs1_signature_prefix</tt> has changed. Rename it to
  <tt>_pkcs1_signature_prefix</tt>, to clearly mark it internal and
  also make applications using it fail more predictably at compile or
  link time.</p>

  <h2> Testing </h2>
  <p> Since xenofarm isn't up and running, do some manual testing:
  </p>
  <ul>
    <li class='done'> x86_64-gnu-linux</li>
    <li class='done'> x86_64-freebsd</li>
    <li class='done'> x86-gnu-linux</li>
    <li class='done'> x86-freebsd</li>
    <li class='should'> x86-w*ndows (using cross compiler and wine)</li>
    <li class='wish'> x86_64-w*ndows (seems a bit harder to get
    mingw64 and wine64 working)</li>
    <li class='done'> sparc32-solaris10</li>
    <li class='done'> sparc64-solaris10</li>
  </ul>

  <h1> Plans for nettle-3.0 </h1>

  <h2> Interface changes </h2>
  <p class='should'>
    Change the type of all lengths from <tt>unsigned</tt>
    to <tt>size_t</tt>. An ABI change on most 64-bit platforms.
  </p>
  <p class='should'>
    For Merkle-Damgaard hash functions, separate the state and the
    buffering. E.g., when using them for HMAC keyed "inner" and
    "outer" states, we now get three buffers but we only need one.
  </p>
  <p class='should'>
    Use the nettle_cipher abstraction only for block ciphers (in
    particular, exclude arcfour). Use a const for the ctx argument to
    nettle_crypt_func.
  </p>
  <p class='wish'>
    Consider making a public interface similar to nettle_aead? With
    the above change, it can't use nettle_crypt_func.
  </p>
  <p class='wish'>
    Make it possible to build nettle and hogweed using mini-gmp.
  </p>
  <p class='should'>
    Reorganize private key operations. Need to support RSA with and
    without blinding, and DSA according to spec and some deterministic
    variant (like putty), and possibly also smartcard versions where
    the private key is not available to the library. And without an
    explosion of the number of functions.
  </p>
</body>
</html>