Also updated implementation.
* blowfish.h (blowfish_encrypt, blowfish_decrypt): Likewise.
* cast128.h (cast128_encrypt, cast128_decrypt): Likewise.
* serpent.h (serpent_encrypt, serpent_decrypt): Likewise.
* twofish.h (twofish_encrypt, twofish_decrypt): Likewise.
Rev: nettle/ChangeLog:1.91
Rev: nettle/aes-decrypt.c:1.2
Rev: nettle/aes-encrypt.c:1.2
Rev: nettle/aes.h:1.2
Rev: nettle/blowfish.c:1.3
Rev: nettle/blowfish.h:1.3
Rev: nettle/cast128.c:1.2
Rev: nettle/cast128.h:1.2
Rev: nettle/serpent.c:1.2
Rev: nettle/serpent.h:1.2
Rev: nettle/twofish.c:1.2
Rev: nettle/twofish.h:1.2
2010-07-07 Niels Möller <nisse@lysator.liu.se>
+ * aes.h (aes_encrypt, aes_decrypt): Declare ctx argument as const.
+ Also updated implementation.
+ * blowfish.h (blowfish_encrypt, blowfish_decrypt): Likewise.
+ * cast128.h (cast128_encrypt, cast128_decrypt): Likewise.
+ * serpent.h (serpent_encrypt, serpent_decrypt): Likewise.
+ * twofish.h (twofish_encrypt, twofish_decrypt): Likewise.
+
* testsuite/Makefile.in (TS_NETTLE_SOURCES): Added
camellia-test.c.
};
void
-aes_decrypt(struct aes_ctx *ctx,
+aes_decrypt(const struct aes_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src)
{
implementations of _nettle_aes_encrypt to get the table pointer.
For PIC code, the details can be complex and system dependent. */
void
-aes_encrypt(struct aes_ctx *ctx,
+aes_encrypt(const struct aes_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src)
{
unsigned length, const uint8_t *key);
void
-aes_encrypt(struct aes_ctx *ctx,
+aes_encrypt(const struct aes_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
void
-aes_decrypt(struct aes_ctx *ctx,
+aes_decrypt(const struct aes_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
#define R(c, l, r, i) do { l ^= c->p[i]; r ^= F(c, l); } while(0)
static void
-encrypt(struct blowfish_ctx *bc, uint32_t *ret_xl, uint32_t *ret_xr)
+encrypt(const struct blowfish_ctx *bc, uint32_t *ret_xl, uint32_t *ret_xr)
{
uint32_t xl, xr;
}
static void
-decrypt(struct blowfish_ctx *bc, uint32_t *ret_xl, uint32_t *ret_xr )
+decrypt(const struct blowfish_ctx *bc, uint32_t *ret_xl, uint32_t *ret_xr )
{
uint32_t xl, xr;
#undef R
void
-blowfish_encrypt(struct blowfish_ctx *bc, unsigned length,
+blowfish_encrypt(const struct blowfish_ctx *bc, unsigned length,
uint8_t *outbuf, const uint8_t *inbuf)
{
uint32_t d1, d2;
void
-blowfish_decrypt(struct blowfish_ctx *bc, unsigned length,
+blowfish_decrypt(const struct blowfish_ctx *bc, unsigned length,
uint8_t *outbuf, const uint8_t *inbuf )
{
uint32_t d1, d2;
unsigned length, const uint8_t *key);
void
-blowfish_encrypt(struct blowfish_ctx *ctx,
+blowfish_encrypt(const struct blowfish_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
void
-blowfish_decrypt(struct blowfish_ctx *ctx,
+blowfish_decrypt(const struct blowfish_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
/***** Encryption Function *****/
void
-cast128_encrypt(struct cast128_ctx *ctx,
+cast128_encrypt(const struct cast128_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src)
{
/***** Decryption Function *****/
void
-cast128_decrypt(struct cast128_ctx *ctx,
+cast128_decrypt(const struct cast128_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src)
{
unsigned length, const uint8_t *key);
void
-cast128_encrypt(struct cast128_ctx *ctx,
+cast128_encrypt(const struct cast128_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
void
-cast128_decrypt(struct cast128_ctx *ctx,
+cast128_decrypt(const struct cast128_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
}
void
-serpent_encrypt(struct serpent_ctx *ctx,
+serpent_encrypt(const struct serpent_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *plain)
{
}
void
-serpent_decrypt(struct serpent_ctx *ctx,
+serpent_decrypt(const struct serpent_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *cipher)
{
unsigned length, const uint8_t *key);
void
-serpent_encrypt(struct serpent_ctx *ctx,
+serpent_encrypt(const struct serpent_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
void
-serpent_decrypt(struct serpent_ctx *ctx,
+serpent_decrypt(const struct serpent_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
*/
void
-twofish_encrypt(struct twofish_ctx *context,
+twofish_encrypt(const struct twofish_ctx *context,
unsigned length,
uint8_t *ciphertext,
const uint8_t *plaintext)
{
- uint32_t * keys = context->keys;
- uint32_t (*s_box)[256] = context->s_box;
+ const uint32_t * keys = context->keys;
+ const uint32_t (*s_box)[256] = context->s_box;
assert( !(length % TWOFISH_BLOCK_SIZE) );
for ( ; length; length -= TWOFISH_BLOCK_SIZE)
*/
void
-twofish_decrypt(struct twofish_ctx *context,
+twofish_decrypt(const struct twofish_ctx *context,
unsigned length,
uint8_t *plaintext,
const uint8_t *ciphertext)
{
- uint32_t *keys = context->keys;
- uint32_t (*s_box)[256] = context->s_box;
+ const uint32_t *keys = context->keys;
+ const uint32_t (*s_box)[256] = context->s_box;
assert( !(length % TWOFISH_BLOCK_SIZE) );
for ( ; length; length -= TWOFISH_BLOCK_SIZE)
unsigned length, const uint8_t *key);
void
-twofish_encrypt(struct twofish_ctx *ctx,
+twofish_encrypt(const struct twofish_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);
void
-twofish_decrypt(struct twofish_ctx *ctx,
+twofish_decrypt(const struct twofish_ctx *ctx,
unsigned length, uint8_t *dst,
const uint8_t *src);