plan.html 3.42 KB
Newer Older
Niels Möller's avatar
Niels Möller committed
1
2
3
4
5
6
7
8
9
<?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"
Niels Möller's avatar
Niels Möller committed
10
      content="text/html; charset=utf-8"/>
Niels Möller's avatar
Niels Möller committed
11
<title>TODO for coming releases</title>
Niels Möller's avatar
Niels Möller committed
12
13
</head>
<body>
Niels Möller's avatar
Niels Möller committed
14
  <h1> Nettle release plans </h1>
Niels Möller's avatar
Niels Möller committed
15
  <p> This is an attempt at defining a development target for
16
  Nettle-2.6, inspired by similar pages for recent GMP releases. [Last
Niels Möller's avatar
Niels Möller committed
17
  updated 2013-01-01]</p>
Niels Möller's avatar
Niels Möller committed
18
19
20
21
22
23
24
25
26
27
28
29
  <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>
Niels Möller's avatar
Niels Möller committed
30

31
  <h1> Plan for the Nettle-2.6 release </h1>
Niels Möller's avatar
Niels Möller committed
32
  <h2> Documentation </h2>
Niels Möller's avatar
Niels Möller committed
33
  <p class='done'>
34
    Update documentation with info on SHA3.
Niels Möller's avatar
Niels Möller committed
35
  </p>
Niels Möller's avatar
Niels Möller committed
36
  <p class='should'>
Niels Möller's avatar
Niels Möller committed
37
38
    Update NEWS file.
  </p>
Niels Möller's avatar
Niels Möller committed
39

Niels Möller's avatar
Niels Möller committed
40
41
42
43
44
45
  <h2> Build system </h2>
  <p class='done'>
    Ensure that <tt>make install</tt> without a preceding
    <tt>make</tt> works.
  </p>

Niels Möller's avatar
Niels Möller committed
46
47
  <h2> Testing </h2>
  <p> Since xenofarm isn't up and running, do some manual testing:
Niels Möller's avatar
Niels Möller committed
48
  </p>
Niels Möller's avatar
Niels Möller committed
49
  <ul>
50
51
52
53
54
    <li class='should'> x86_64-gnu-linux</li>
    <li class='should'> x86_64-freebsd</li>
    <li class='should'> x86-gnu-linux</li>
    <li class='should'> x86-freebsd</li>
    <li class='should'> x86-w*ndows (using cross compiler and wine)</li>
Niels Möller's avatar
Niels Möller committed
55
56
    <li class='wish'> x86_64-w*ndows (seems a bit harder to get
    mingw64 and wine64 working)</li>
57
58
    <li class='should'> sparc32-solaris10</li>
    <li class='should'> sparc64-solaris10</li>
Niels Möller's avatar
Niels Möller committed
59
60
61
62
63
64
  </ul>

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

  <h2> Interface changes </h2>
  <p class='should'>
Niels Möller's avatar
Niels Möller committed
65
66
67
    Change the type of all lengths from <tt>unsigned</tt>
    to <tt>size_t</tt>. An ABI change on most 64-bit platforms.
  </p>
68
69
70
71
72
73
74
75
76
77
78
  <p class='should'>
    Change argument type of memxor and memxor3 from uint8_t * to void
    * (like modern memcpy). Consider them unconditionally part of the
    nettle library, with nettle_ prefix on the symbols, and no
    AC_REPLACE_FUNCS.
  </p>
  <p class='should'>
    Rename sha256 to sha2_256, and similar for other sha2 functions.
    Split sha.h into sha1.h and sha2.h. For backwards compatibility,
    keep sha.h with old names as aliases.
  </p>
Niels Möller's avatar
Niels Möller committed
79
80
  <p class='should'>
    For Merkle-Damgaard hash functions, separate the state and the
Niels Möller's avatar
Niels Möller committed
81
82
    buffering. E.g., when using them for HMAC keyed "inner" and
    "outer" states, we now get three buffers but we only need one.
Niels Möller's avatar
Niels Möller committed
83
84
85
86
87
88
  </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>
Niels Möller's avatar
Niels Möller committed
89
  <p class='wish'>
Niels Möller's avatar
Niels Möller committed
90
91
92
    Consider making a public interface similar to nettle_aead? With
    the above change, it can't use nettle_crypt_func.
  </p>
93
94
95
  <p class='wish'>
    Make it possible to build nettle and hogweed using mini-gmp.
  </p>
Niels Möller's avatar
Niels Möller committed
96
97
  <p class='should'>
    Reorganize private key operations. Need to support RSA with and
Niels Möller's avatar
Niels Möller committed
98
99
100
    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
Niels Möller's avatar
Niels Möller committed
101
    explosion of the number of functions.
Niels Möller's avatar
Niels Möller committed
102
103
104
  </p>
</body>
</html>