diff options
Diffstat (limited to 'debian/vendor-h2o/deps/picotls/deps/cifra/src/blockwise.h')
-rw-r--r-- | debian/vendor-h2o/deps/picotls/deps/cifra/src/blockwise.h | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/debian/vendor-h2o/deps/picotls/deps/cifra/src/blockwise.h b/debian/vendor-h2o/deps/picotls/deps/cifra/src/blockwise.h deleted file mode 100644 index a20ff95..0000000 --- a/debian/vendor-h2o/deps/picotls/deps/cifra/src/blockwise.h +++ /dev/null @@ -1,147 +0,0 @@ -/* - * cifra - embedded cryptography library - * Written in 2014 by Joseph Birr-Pixton <jpixton@gmail.com> - * - * To the extent possible under law, the author(s) have dedicated all - * copyright and related and neighboring rights to this software to the - * public domain worldwide. This software is distributed without any - * warranty. - * - * You should have received a copy of the CC0 Public Domain Dedication - * along with this software. If not, see - * <http://creativecommons.org/publicdomain/zero/1.0/>. - */ - -#ifndef BLOCKWISE_H -#define BLOCKWISE_H - -#include <stdint.h> -#include <stddef.h> - -/* Processing function for cf_blockwise_accumulate. */ -typedef void (*cf_blockwise_in_fn)(void *ctx, const uint8_t *data); - -/* Processing function for cf_blockwise_xor. */ -typedef void (*cf_blockwise_out_fn)(void *ctx, uint8_t *data); - -/* This function manages the common abstraction of accumulating input in - * a buffer, and processing it when a full block is available. - * - * partial is the buffer (maintained by the caller) - * on entry, npartial is the currently valid count of used bytes on - * the front of partial. - * on exit, npartial is updated to reflect the status of partial. - * nblock is the blocksize to accumulate -- partial must be at least - * this long! - * input is the new data to process, of length nbytes. - * process is the processing function, passed ctx and a pointer - * to the data to process (always exactly nblock bytes long!) - * which may not neccessarily be the same as partial. - */ -void cf_blockwise_accumulate(uint8_t *partial, size_t *npartial, - size_t nblock, - const void *input, size_t nbytes, - cf_blockwise_in_fn process, - void *ctx); - -/* This function manages the common abstraction of accumulating input in - * a buffer, and processing it when a full block is available. - * This version supports calling a different processing function for - * the last block. - * - * partial is the buffer (maintained by the caller) - * on entry, npartial is the currently valid count of used bytes on - * the front of partial. - * on exit, npartial is updated to reflect the status of partial. - * nblock is the blocksize to accumulate -- partial must be at least - * this long! - * input is the new data to process, of length nbytes. - * process is the processing function, passed ctx and a pointer - * to the data to process (always exactly nblock bytes long!) - * which may not neccessarily be the same as partial. - * process_final is called last (but may not be called at all if - * all input is buffered). - */ -void cf_blockwise_accumulate_final(uint8_t *partial, size_t *npartial, - size_t nblock, - const void *input, size_t nbytes, - cf_blockwise_in_fn process, - cf_blockwise_in_fn process_final, - void *ctx); - -/* This function manages XORing an input stream with a keystream - * to produce an output stream. The keystream is produced in blocks - * (ala a block cipher in counter mode). - * - * partial is the keystream buffer (maintained by the caller) - * on entry, *npartial is the currently valid count of bytes in partial: - * unused bytes are at the *end*. So *npartial = 4 means the last four - * bytes of partial are usable as keystream. - * on exit, npartial is updated to reflect the new state of partial. - * nblock is the blocksize to accumulate -- partial must be at least - * this long! - * input is the new data to process, of length nbytes. - * output is where to write input xored with the keystream -- also length - * nbytes. - * process is the processing function, passed ctx and partial which it - * should fill with fresh key stream. - */ -void cf_blockwise_xor(uint8_t *partial, size_t *npartial, - size_t nblock, - const void *input, void *output, size_t nbytes, - cf_blockwise_out_fn newblock, - void *ctx); - -/* This function processes a single byte a number of times. It's useful - * for padding, and more efficient than calling cf_blockwise_accumulate - * a bunch of times. - * - * partial is the buffer (maintained by the caller) - * on entry, npartial is the currently valid count of used bytes on - * the front of partial. - * on exit, npartial is updated to reflect the status of partial. - * nblock is the blocksize to accumulate -- partial must be at least - * this long! - * process is the processing function, passed ctx and a pointer - * to the data to process (always exactly nblock bytes long!) - * which may not neccessarily be the same as partial. - * byte is the byte to process, nbytes times. - */ -void cf_blockwise_acc_byte(uint8_t *partial, size_t *npartial, - size_t nblock, - uint8_t byte, size_t nbytes, - cf_blockwise_in_fn process, - void *ctx); - -/* This function attempts to process patterns of bytes common in - * block cipher padding. - * - * This takes three bytes: - * - a first byte, fbyte, - * - a middle byte, mbyte, - * - a last byte, lbyte. - * - * If nbytes is zero, nothing happens. - * If nbytes is one, the byte fbyte ^ lbyte is processed. - * If nbytes is two, the fbyte then lbyte are processed. - * If nbytes is three or more, fbyte, then one or more mbytes, then fbyte - * is processed. - * - * partial is the buffer (maintained by the caller) - * on entry, npartial is the currently valid count of used bytes on - * the front of partial. - * on exit, npartial is updated to reflect the status of partial. - * nblock is the blocksize to accumulate -- partial must be at least - * this long! - * process is the processing function, passed ctx and a pointer - * to the data to process (always exactly nblock bytes long!) - * which may not neccessarily be the same as partial. - */ -void cf_blockwise_acc_pad(uint8_t *partial, size_t *npartial, - size_t nblock, - uint8_t fbyte, uint8_t mbyte, uint8_t lbyte, - size_t nbytes, - cf_blockwise_in_fn process, - void *ctx); - -#endif |