mirror of
https://github.com/cryb-to/cryb-to.git
synced 2024-11-15 02:05:40 +00:00
Assert that the cipher mode and key length are valid.
This commit is contained in:
parent
e21ec8afbc
commit
5c98dc1084
5 changed files with 21 additions and 6 deletions
|
@ -33,6 +33,7 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <cryb/assert.h>
|
||||
#include <cryb/bitwise.h>
|
||||
#include <cryb/endian.h>
|
||||
|
||||
|
@ -577,6 +578,8 @@ void
|
|||
aes_init(aes_ctx *ctx, cipher_mode mode, const uint8_t *key, size_t keylen)
|
||||
{
|
||||
|
||||
assert(mode == CIPHER_MODE_ENCRYPT || mode == CIPHER_MODE_DECRYPT);
|
||||
assert(keylen == 16 || keylen == 24 || keylen == 32);
|
||||
memset(ctx, 0, sizeof *ctx);
|
||||
ctx->mode = mode;
|
||||
if (ctx->mode == CIPHER_MODE_DECRYPT)
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <cryb/assert.h>
|
||||
#include <cryb/bitwise.h>
|
||||
#include <cryb/endian.h>
|
||||
#include <cryb/memset_s.h>
|
||||
|
@ -56,10 +57,12 @@ static const char magic256[] = "expand 32-byte k";
|
|||
* set to 20, the most commonly used value.
|
||||
*/
|
||||
void
|
||||
chacha_init(chacha_ctx *ctx, cipher_mode mode, const uint8_t *key, size_t keylen)
|
||||
chacha_init(chacha_ctx *ctx, cipher_mode mode CRYB_UNUSED,
|
||||
const uint8_t *key, size_t keylen)
|
||||
{
|
||||
|
||||
(void)mode;
|
||||
assert(mode == CIPHER_MODE_ENCRYPT || mode == CIPHER_MODE_DECRYPT);
|
||||
assert(keylen == 16 || keylen == 32);
|
||||
memset(ctx, 0, sizeof *ctx);
|
||||
if (keylen == 32) {
|
||||
/* magic */
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <cryb/assert.h>
|
||||
#include <cryb/bitwise.h>
|
||||
#include <cryb/endian.h>
|
||||
#include <cryb/memset_s.h>
|
||||
|
@ -371,6 +372,8 @@ des_init(des_ctx *ctx, cipher_mode mode, const uint8_t *key, size_t keylen)
|
|||
{
|
||||
cipher_mode m1, m2, m3;
|
||||
|
||||
assert(mode == CIPHER_MODE_ENCRYPT || mode == CIPHER_MODE_DECRYPT);
|
||||
assert(keylen == 8 || keylen == 16 || keylen == 24);
|
||||
if (mode == CIPHER_MODE_DECRYPT) {
|
||||
m1 = m3 = CIPHER_MODE_DECRYPT;
|
||||
m2 = CIPHER_MODE_ENCRYPT;
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <cryb/assert.h>
|
||||
#include <cryb/bitwise.h>
|
||||
#include <cryb/endian.h>
|
||||
#include <cryb/memset_s.h>
|
||||
|
@ -39,12 +40,14 @@
|
|||
#include <cryb/rc4.h>
|
||||
|
||||
void
|
||||
rc4_init(rc4_ctx *ctx, cipher_mode mode, const uint8_t *key, size_t keylen)
|
||||
rc4_init(rc4_ctx *ctx, cipher_mode mode CRYB_UNUSED,
|
||||
const uint8_t *key, size_t keylen)
|
||||
{
|
||||
unsigned int i, j;
|
||||
uint8_t t;
|
||||
|
||||
(void)mode;
|
||||
assert(mode == CIPHER_MODE_ENCRYPT || mode == CIPHER_MODE_DECRYPT);
|
||||
assert(keylen > 0);
|
||||
memset(ctx, 0, sizeof *ctx);
|
||||
for (i = 0; i < 256; ++i)
|
||||
ctx->s[i] = i;
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <cryb/assert.h>
|
||||
#include <cryb/bitwise.h>
|
||||
#include <cryb/endian.h>
|
||||
#include <cryb/memset_s.h>
|
||||
|
@ -56,10 +57,12 @@ static const char magic256[] = "expand 32-byte k";
|
|||
* set to 20, the most commonly used value.
|
||||
*/
|
||||
void
|
||||
salsa_init(salsa_ctx *ctx, cipher_mode mode, const uint8_t *key, size_t keylen)
|
||||
salsa_init(salsa_ctx *ctx, cipher_mode mode CRYB_UNUSED,
|
||||
const uint8_t *key, size_t keylen)
|
||||
{
|
||||
|
||||
(void)mode;
|
||||
assert(mode == CIPHER_MODE_ENCRYPT || mode == CIPHER_MODE_DECRYPT);
|
||||
assert(keylen == 16 || keylen == 32);
|
||||
memset(ctx, 0, sizeof *ctx);
|
||||
if (keylen == 32) {
|
||||
/* magic */
|
||||
|
|
Loading…
Reference in a new issue