diff options
| author | Benedict <benedict@0xb8000.de> | 2017-01-26 12:47:42 +0100 |
|---|---|---|
| committer | Benedict <benedict@0xb8000.de> | 2017-02-21 13:00:27 +0100 |
| commit | 18acbfa8d29fd1ca9c90fb252b735b2901bbe7fa (patch) | |
| tree | 9e994cceb6a3e66eb2e7a11ea79734de0bb02f3f /lib | |
| parent | 96447557db2f8a3c2e5f4c32f0cc9d3fb2d5582f (diff) | |
set7: task50: completed
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/lib.c | 3 | ||||
| -rw-r--r-- | lib/lib7.c | 13 | ||||
| -rw-r--r-- | lib/lib7.h | 8 |
3 files changed, 23 insertions, 1 deletions
@@ -34,7 +34,8 @@ int isprintable(char *string, int length) int i; for(i=0;i<length;i++) { - if(!(isprint(string[i]) || isspace(string[i]))) { + // ` is only for task50 ... + if(!(isprint(string[i]) || isspace(string[i])) || string[i] == '`') { return 0; } } diff --git a/lib/lib7.c b/lib/lib7.c new file mode 100644 index 0000000..b3e05da --- /dev/null +++ b/lib/lib7.c @@ -0,0 +1,13 @@ +#include "lib7.h" +#include "lib2.h" + +int cbc_mac(char *msg, unsigned int msg_len, char *iv, char *key, char *mac) +{ + int padding_len = 0; + + char *msg_padded = __pkcs7_padding(msg, msg_len, 16, &padding_len); + char *res = malloc(msg_len+padding_len); + aes_cbc(msg_padded, msg_len+padding_len, res, key, iv, 1); + char *ciphertext = malloc(msg_len+padding_len); + memcpy(mac, &res[msg_len+padding_len-16], 16); +} diff --git a/lib/lib7.h b/lib/lib7.h new file mode 100644 index 0000000..724e70d --- /dev/null +++ b/lib/lib7.h @@ -0,0 +1,8 @@ +#ifndef __LIB_7__ +#define __LIB_7__ + + + +int cbc_mac(char *msg, unsigned int msg_len, char *iv, char *key, char *mac); + +#endif |
