-
Notifications
You must be signed in to change notification settings - Fork 4
/
TODO.txt
58 lines (41 loc) · 1.8 KB
/
TODO.txt
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
Important work items for Ed448-Goldilocks / decaf:
* Factor out hash, crandom from core library?
[DONE, except for C++ headers]
* Signed 32-bit NEON implementation to avoid bias/reduce after subtract
* Documentation: write high-level API docs, and internal docs to help
other implementors.
* Partial progress on Doxygenating the code.
* Documentation: write a spec or add to Watson's
* Cleanup: rename everything consistently.
* namespace_op or op_namespace? namespace_op_type?
* We don't have to be super-careful with the namespacing, because
symbols will be scrubbed by visibility
* Cleanup: unify intrinsics code
* Word_t, mask_t, bigregister_t, etc.
* Generate asm intrinsics with a script?
* Testing:
* More testing. Testing, testing and testing.
* Test corner cases better.
* Safety: add static analysis attributes for compilers that support them
* Most functions now have warn on ignored return.
* [ MOSTLY DONE ]
* Safety:
* Decide what to do about RNG failures
* abort
* return error and zeroize
* return error but continue if RNG is kind of mostly OK
* High-level API: [DONE]
* Portability: test and make clean with other compilers
* Using a fair amount of __attribute__ code.
* [DONE] Should work for GCC now.
* Portability: try to make the vector code as portable as possible
* Currently using clang ext_vector_length.
* I can't get a simple for-loop to autovectorize :-/
* SAGE tool?
* [DONE] Portability: make the outer layers of the code 32-bit clean.
* [DONE] Performance/flexibility: decide which parameters should be hard-coded.
* Perhaps useful for comb precomputation.
* Performance: Improve SHAKE.
* Improve speed. (Maybe)
* Clear other TODO/FIXME/HACK/PERF items in the code
* Submit Decaf to SUPERCOP