summaryrefslogtreecommitdiff
path: root/set2/task15.c
diff options
context:
space:
mode:
authorBenedict <benedict@0xb8000.de>2016-08-01 15:58:18 +0200
committerBenedict <benedict@0xb8000.de>2017-02-21 13:00:25 +0100
commit896bb17f14e44925f5cdacbe10f1e86c20b88972 (patch)
tree3cd0aa08a16691188c230644f27ad48e103d3650 /set2/task15.c
parentbd40b9cd4f6436df1b249b0904845a404b903ffd (diff)
fixed bug in valid_pkcs_padding
The input length shut be a multiple of the blocksize. However we checked if the inpute length was a multiple of the number of padded bytes.
Diffstat (limited to 'set2/task15.c')
-rw-r--r--set2/task15.c35
1 files changed, 30 insertions, 5 deletions
diff --git a/set2/task15.c b/set2/task15.c
index 504eabb..a40ecf3 100644
--- a/set2/task15.c
+++ b/set2/task15.c
@@ -1,12 +1,7 @@
#include "../lib/lib2.h"
-
-
-
int main(int argc, char **Argv)
{
-
-
char *padded_text = pkcs7_padding("YELLOW SUBMARINE", 16, 20);
char *unpadded = malloc(100);
//char *padded_text = "ICE ICE BABY\x01\x02\x03\x04";
@@ -18,4 +13,34 @@ int main(int argc, char **Argv)
else
printf("invalid padding\n");
+ padded_text = pkcs7_padding("YELLOW SUBMARINE", 16, 16);
+
+ //char *padded_text = "ICE ICE BABY\x01\x02\x03\x04";
+ printf("padded text: %s\n", padded_text);
+ result = valid_pkcs7_padding(padded_text, 32,unpadded, 16);
+
+ if(result)
+ printf("valid padding: %s\n", unpadded);
+ else
+ printf("invalid padding\n");
+
+ padded_text = "ICE ICE BABY\x01\x02\x03\x04";
+ printf("padded text: %s\n", padded_text);
+ result = valid_pkcs7_padding(padded_text, 32,unpadded, 16);
+
+ if(result)
+ printf("valid padding: %s\n", unpadded);
+ else
+ printf("invalid padding\n");
+ char *string = "Who let the dogs out";
+ padded_text = pkcs7_padding(string, strlen(string), 16);
+
+ printf("%i, %i\n",strlen(string), strlen(padded_text));
+ printf("padded text: %s\n", padded_text);
+ result = valid_pkcs7_padding(padded_text, strlen(padded_text),unpadded, 16);
+
+ if(result)
+ printf("valid padding: %s\n", unpadded);
+ else
+ printf("invalid padding\n");
}