pre openssl integration
This commit is contained in:
parent
93ad85fc40
commit
fcc8e7dca4
8 changed files with 35 additions and 9 deletions
|
@ -18,7 +18,7 @@
|
|||
# define FT_BASE64_READ_SIZE 1024
|
||||
# define FT_BASE64_ENCODE_BLOCK_SIZE 3
|
||||
# define FT_BASE64_DECODE_BLOCK_SIZE 4
|
||||
# define FT_BASE64_ALPHABET_LENGTH 64
|
||||
# define FT_BASE64_ALPHABET_LENGTH 65
|
||||
|
||||
typedef uint64_t t_byte8;
|
||||
typedef unsigned char t_byte1;
|
||||
|
|
29
openssl_cases.txt
Normal file
29
openssl_cases.txt
Normal file
|
@ -0,0 +1,29 @@
|
|||
// ENCRYPTING
|
||||
|
||||
1. "openssl des-ecb -S a"
|
||||
prompts to enter password, generate key with given pass and salt,
|
||||
prepend salt header.
|
||||
|
||||
2. "openssl des-ecb -pass pass:asd"
|
||||
generate salt and key, prepend salt header.
|
||||
|
||||
3. "openssl des-ecb -S a -pass:asd"
|
||||
generate key from givent salt and pass, prepend header.
|
||||
|
||||
4. "openssl des-ecb -S a -pass:asd -K 1"
|
||||
encrypt with GIVEN key, prepend GIVEN salt hedaer.
|
||||
|
||||
5. "openssl des-ecb -K 1"
|
||||
encrypt with given key, doesn't generate and prepend salt.
|
||||
|
||||
6. "openssl des-ecb -S 0 -pass pass:asd -P -pbkdf2"
|
||||
generate key using PKCS5_PBKDF2_HMAC with 10000 iteration,
|
||||
8 byte salt, 3 byte key, sha256 hash function
|
||||
|
||||
// DECRYPTING
|
||||
|
||||
7. "echo -n Salted__ | openssl des-ecb -d"
|
||||
prompts to enter password, generate key but fails to decode.
|
||||
|
||||
8. "echo -n Salted__aaaaaaaa | openssl des-ecb -d"
|
||||
prompts to enter password, generate key but fails to validate padding.
|
|
@ -21,4 +21,5 @@ void ft_base64_init(t_base64_ctx *ctx)
|
|||
ft_memcpy(ctx->alphabet, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 26);
|
||||
ft_memcpy(ctx->alphabet + 26, "abcdefghijklmnopqrstuvwxyz", 26);
|
||||
ft_memcpy(ctx->alphabet + 52, "0123456789+/", 12);
|
||||
ctx->alphabet[64] = 0;
|
||||
}
|
||||
|
|
|
@ -81,7 +81,6 @@ void ft_des_ecb
|
|||
ft_des_derive_key(&ctx);
|
||||
if (ctx.decode)
|
||||
{
|
||||
ft_des_generate_decryption_round_keys(ctx.key, ctx.round_keys);
|
||||
if (ctx.b64)
|
||||
ft_des_ecb_decrypt_b64(&ctx);
|
||||
else
|
||||
|
@ -89,7 +88,6 @@ void ft_des_ecb
|
|||
}
|
||||
else
|
||||
{
|
||||
ft_des_generate_encryption_round_keys(ctx.key, ctx.round_keys);
|
||||
if (ctx.b64)
|
||||
ft_des_ecb_encrypt_b64(&ctx);
|
||||
else
|
||||
|
|
|
@ -35,6 +35,7 @@ void ft_des_ecb_decrypt
|
|||
t_byte1 buffer[FT_DES_BYTE_BLOCK_SIZE];
|
||||
t_byte1 message[FT_DES_BYTE_BLOCK_SIZE];
|
||||
|
||||
ft_des_generate_decryption_round_keys(c->key, c->round_keys);
|
||||
last_read = 0;
|
||||
while((readed = buffered_read(c, buffer)))
|
||||
{
|
||||
|
|
|
@ -10,6 +10,7 @@ void ft_des_ecb_encrypt
|
|||
t_byte1 buffer[FT_DES_READ_SIZE];
|
||||
t_byte8 readed;
|
||||
|
||||
ft_des_generate_encryption_round_keys(ctx->key, ctx->round_keys);
|
||||
while((readed = read(ctx->input_fd, buffer, FT_DES_READ_SIZE)) > 0)
|
||||
ft_des_ecb_encode_process_chunk(ctx, readed, buffer);
|
||||
ft_des_ecb_finish_encrypt(ctx);
|
||||
|
|
|
@ -28,10 +28,10 @@ static int transform_block()
|
|||
ft_base64_init(&ctx);
|
||||
|
||||
ft_base64_encode_transform(&ctx, (t_byte1 *)"Man", buff);
|
||||
_is(ft_strcmp((char *)buff, "TWFu") == 0);
|
||||
_is(ft_strncmp((char *)buff, "TWFu", 4) == 0);
|
||||
|
||||
ft_base64_encode_transform(&ctx, (t_byte1 *)"LOL", buff);
|
||||
_is(ft_strcmp((char *)buff, "TE9M") == 0);
|
||||
_is(ft_strncmp((char *)buff, "TE9M", 4) == 0);
|
||||
|
||||
_end("transform block");
|
||||
}
|
||||
|
|
4
watch.sh
4
watch.sh
|
@ -1,4 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
while true; do
|
||||
find src t inc Makefile | entr -cd make check -j8
|
||||
done
|
Loading…
Reference in a new issue