blob: ff649ce9f7d4313e9325fb87f2ba9db1a3e668ff (
plain) (
blame)
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
|
TODO
====
- Implement streaming functionality - look at zlib
Must keep track of (1) output FILE* (2) current i (3) current B-3i
- Write up project paper
- Look at libgit to see how they achieve dynamic/static library compilation
* API details. Encoding and decoding must be able to take an open file
descriptor and process it until it is empty.
* API functionality: Write to indicated buffer instead of open file descriptor.
This would allow passing in a pointer to a buffer to write to.
* Example usage: File passing program. A small command-line program which reads
a file and sends the content SOLE-encoded on a socket. An example receiver
can then use the SOLE decoder directly on the incoming data stream to decode
it on the fly.
* Restructure sole_stream contents. Currently only one block is buffered and
the second simply used in-place. Consider adding `blk1` and `blk2` to
sole_stream and use marker to indicate the "fullness" of the buffer. Only
when the buffer is full (256 bits) will its contents be processed, and 1-2
output blocks will be written. This requires a carry 'quotient'
These changes will also allow a simplification in the
Ensure byte order is preserved in some sensible way
---------------------------------------------------
In particular, for 256-bit blocks we want x[0] to be the least significant bits and x[3] the most.
Project structure
-----------------
- Makefile Top-level Makefile
- src/ should be obvious
- doc/ Documentation
- include/ Header files
- report/ The report "sub"-project (includes its own Makefile)
- poc/ Proof of concept implementation in Haskell
Reading
-------
- http://www.faqs.org/docs/Linux-HOWTO/Program-Library-HOWTO.html
- https://sourceware.org/autobook/autobook/autobook_toc.html
- http://cacr.uwaterloo.ca/hac/about/chap14.pdf
- reading/Cryptography in C and C++, 2nd Edition.pdf
https://sourceware.org/autobook/autobook/autobook_toc.html
https://www.sourceware.org/autobook/autobook/autobook_276.html#SEC276
https://www.sourceware.org/autobook/autobook/autobook_57.html#SEC57
Autotools circus
----------------
- Make binaries go into 'config' or some other folder
- Add config.h.in [DONE]
Copyright Notice
----------------
Add copyright notice to 'configure.ac'
See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Notices.html#Notices
|