Commit aa7cb7dd authored by Niels Möller's avatar Niels Möller
Browse files

(Copyright): Added copyright information for

serpent.
(Miscellaneous functions): Started writing documentation on the CBC
functions.

Rev: src/nettle/nettle.texinfo:1.3
parent 8d831e14
...@@ -185,7 +185,7 @@ Released into the public domain. ...@@ -185,7 +185,7 @@ Released into the public domain.
@item SERPENT @item SERPENT
The implementation of the SERPENT cipher is written by Ross Anderson, The implementation of the SERPENT cipher is written by Ross Anderson,
Eli Biham, and Lars Knudsen, adapted to LSH by Rafael Sevilla, and to Eli Biham, and Lars Knudsen, adapted to LSH by Rafael Sevilla, and to
Nettle by Niels Möller. Nettle by Niels Möller. Released under the GPL.
@item SHA1 @item SHA1
The implementation of the SHA1 message digest is written by Peter The implementation of the SHA1 message digest is written by Peter
...@@ -441,7 +441,7 @@ However, using ECB is usually a bad idea. For a start, plaintext blocks ...@@ -441,7 +441,7 @@ However, using ECB is usually a bad idea. For a start, plaintext blocks
that are equal are transformed to ciphertext blocks that are equal; that that are equal are transformed to ciphertext blocks that are equal; that
leaks information about the plaintext. Usually you should apply the leaks information about the plaintext. Usually you should apply the
cipher is some feedback mode, @dfn{CBC} (Cipher Block Chaining) being one cipher is some feedback mode, @dfn{CBC} (Cipher Block Chaining) being one
of the most popular. of the most popular. XXX Add reference
A stream cipher can be used for messages of arbitrary length; a typical A stream cipher can be used for messages of arbitrary length; a typical
stream cipher is a keyed pseudorandom generator. To encrypt a plaintext stream cipher is a keyed pseudorandom generator. To encrypt a plaintext
...@@ -809,6 +809,18 @@ doesn't follow the Nettle conventions, because it is intended to be ...@@ -809,6 +809,18 @@ doesn't follow the Nettle conventions, because it is intended to be
similar to the ANSI-C @code{memcpy} function. similar to the ANSI-C @code{memcpy} function.
@end deftypefun @end deftypefun
@deftypefun {void} cbc_encrypt (void *@var{ctx}, void (*@var{f})(), unsigned @var{block_size}, uint8_t *@var{iv}, unsigned @var{length}, uint8_t *@var{dst}, const uint8_t *@var{src})
@deftypefunx {void} cbc_decrypt (void *@var{ctx}, void (*@var{f})(), unsigned @var{block_size}, uint8_t *@var{iv}, unsigned @var{length}, uint8_t *@var{dst}, const uint8_t *@var{src})
Utility functions for applying a block cipher in Cipher Block Chaining
(CBC) mode. The function f is really typed as @code{void f (void
*@var{ctx}, unsigned @var{length}, uint8_t @var{dst}, const uint8_t
*@var{src}), and the @code{cbc_encrypt} and @code{cbc_decrypt} functions
pass their argument @var{ctx} on to @code{f}.
There are also some macros to help use these functions correctly, XXX
describe CBC_SET_IV, CBC_ENCRYPT and CBC_DECRYPT.
@end example
@node Installation, Index, Reference, Top @node Installation, Index, Reference, Top
@comment node-name, next, previous, up @comment node-name, next, previous, up
@chapter Installation @chapter Installation
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment