X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=tfdef.h;h=2eac9f8c240d46a16f2df37d223432e8e2e5853e;hb=28fd79bfc51ba3ca72caf78fcaacecfc1a19f19c;hp=463e5fb7c0f4d83be1549ef8bdaa7b0666c8658c;hpb=0f0e095f408d4d867a056dffc9d20d853d761489;p=tfcrypt.git diff --git a/tfdef.h b/tfdef.h index 463e5fb..2eac9f8 100644 --- a/tfdef.h +++ b/tfdef.h @@ -59,6 +59,11 @@ #define TF_BLOCK_SIZE (TF_SIZE_UNIT * TF_NR_BLOCK_UNITS) #define TF_KEY_SIZE (TF_SIZE_UNIT * TF_NR_KEY_UNITS) +#define TF_NR_TWEAK_UNITS 2 +#define TF_NR_TWEAK_BITS 128 +#define TF_TWEAK_SIZE (TF_SIZE_UNIT * TF_NR_TWEAK_UNITS) +#define TF_TWEAKEY_SIZE (TF_KEY_SIZE - (2 * TF_TWEAK_SIZE)) +#define TF_NR_TWEAKEY_BITS (TF_NR_KEY_BITS - (2 * TF_NR_TWEAK_BITS)) #define TF_TWEAK_WORD1 (TF_NR_KEY_UNITS-3) #define TF_TWEAK_WORD2 (TF_NR_KEY_UNITS-2) #define TF_TWEAK_WORD3 (TF_NR_KEY_UNITS-1) @@ -122,6 +127,9 @@ void tf_decrypt_block(const void *key, void *out, const void *in); void tf_ctr_set(void *ctr, const void *sctr, size_t sctrsz); void tf_ctr_crypt(const void *key, void *ctr, void *out, const void *in, size_t sz); + +void tf_tweak_set(void *key, const void *tweak); + void tf_stream_crypt(struct tfe_stream *tfe, void *out, const void *in, size_t sz); void tf_ecb_encrypt(const void *key, void *out, const void *in, size_t sz); void tf_ecb_decrypt(const void *key, void *out, const void *in, size_t sz); @@ -129,7 +137,5 @@ void tf_cbc_encrypt(const void *key, void *iv, void *out, const void *in, size_t void tf_cbc_decrypt(const void *key, void *iv, void *out, const void *in, size_t sz); void tf_xts_encrypt(const void *keyx, const void *keyz, void *ctr, void *out, const void *in, size_t sz, size_t bpi); void tf_xts_decrypt(const void *keyx, const void *keyz, void *ctr, void *out, const void *in, size_t sz, size_t bpi); -void tf_ocb_encrypt(const void *key, void *ctr, void *out, void *tag, const void *in, size_t sz, size_t bpi); -void tf_ocb_decrypt(const void *key, void *ctr, void *out, void *tag, const void *in, size_t sz, size_t bpi); #endif