From 94a3565f550024721da44b64fcf449814bc05877 Mon Sep 17 00:00:00 2001 From: Krzysztof Kwiatkowski Date: Tue, 28 Jul 2015 00:43:16 +0200 Subject: [PATCH] PKCS7 --- Makefile | 12 ++++--- MatsanoCrypto.sublime-workspace | 59 +++++++++++++++++++++------------ set1/runner.cpp | 5 +-- set2/runner.c | 4 +-- utils/common.h | 2 +- utils/pkcs7.c | 2 ++ 6 files changed, 52 insertions(+), 32 deletions(-) diff --git a/Makefile b/Makefile index 37660bd..87f8682 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ INC=. +LIBRARY=/usr/lib/x86_64-linux-gnu + all: mkdir -p obj g++ -g -I${INC} -c utils/common.c -o obj/common.o @@ -13,10 +15,12 @@ all: g++ -g -I${INC} -c set2/runner.c -o obj/set2_runner.o g++ -g -I${INC} -c set1/ecb.c -o obj/ecb.o g++ -g -I${INC} -c main.cpp -o obj/main.o - g++ -g -lpthread -lcrypto -o main obj/common.o obj/base64.o obj/xor_char_finder.o obj/xor.o \ - obj/hamming.o obj/utils_runner.o \ - obj/set1_runner.o obj/main.o obj/ecb.o \ - obj/set2_runner.o obj/pkcs7.o + g++ -g -o main obj/common.o obj/base64.o \ + obj/xor_char_finder.o obj/xor.o \ + obj/hamming.o obj/utils_runner.o \ + obj/set1_runner.o obj/main.o obj/ecb.o \ + obj/set2_runner.o obj/pkcs7.o \ + -lcrypto clean: rm -rf obj diff --git a/MatsanoCrypto.sublime-workspace b/MatsanoCrypto.sublime-workspace index 10194c5..64ba415 100644 --- a/MatsanoCrypto.sublime-workspace +++ b/MatsanoCrypto.sublime-workspace @@ -523,7 +523,7 @@ "file": "set1/runner.cpp", "settings": { - "buffer_size": 12112, + "buffer_size": 12021, "line_ending": "Unix" } }, @@ -571,7 +571,7 @@ "file": "main.cpp", "settings": { - "buffer_size": 116, + "buffer_size": 155, "line_ending": "Unix" } }, @@ -587,7 +587,7 @@ "file": "set1/runner.h", "settings": { - "buffer_size": 626, + "buffer_size": 597, "line_ending": "Unix" } }, @@ -595,15 +595,20 @@ "file": "Makefile", "settings": { - "buffer_size": 719, + "buffer_size": 861, "line_ending": "Unix" } } ], "build_system": "", + "build_system_choices": + [ + ], + "build_varint": "", "command_palette": { "height": 52.0, + "last_filter": "", "selected_items": [ [ @@ -1387,20 +1392,21 @@ "semi_transient": false, "settings": { - "buffer_size": 12112, + "buffer_size": 12021, "regions": { }, "selection": [ [ - 11047, - 11047 + 0, + 0 ] ], "settings": { - "syntax": "Packages/C++/C++.tmLanguage" + "syntax": "Packages/C++/C++.tmLanguage", + "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 2749.0, @@ -1428,7 +1434,8 @@ ], "settings": { - "syntax": "Packages/C Improved/C Improved.tmLanguage" + "syntax": "Packages/C Improved/C Improved.tmLanguage", + "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 0.0, @@ -1456,7 +1463,8 @@ ], "settings": { - "syntax": "Packages/C++/C++.tmLanguage" + "syntax": "Packages/C++/C++.tmLanguage", + "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 3078.0, @@ -1484,7 +1492,8 @@ ], "settings": { - "syntax": "Packages/C Improved/C Improved.tmLanguage" + "syntax": "Packages/C Improved/C Improved.tmLanguage", + "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 0.0, @@ -1512,7 +1521,8 @@ ], "settings": { - "syntax": "Packages/C++/C++.tmLanguage" + "syntax": "Packages/C++/C++.tmLanguage", + "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 0.0, @@ -1540,7 +1550,8 @@ ], "settings": { - "syntax": "Packages/C++/C++.tmLanguage" + "syntax": "Packages/C++/C++.tmLanguage", + "translate_tabs_to_spaces": false }, "translation.x": 0.0, "translation.y": 994.0, @@ -1555,15 +1566,15 @@ "semi_transient": false, "settings": { - "buffer_size": 116, + "buffer_size": 155, "regions": { }, "selection": [ [ - 51, - 51 + 0, + 0 ] ], "settings": @@ -1611,15 +1622,15 @@ "semi_transient": false, "settings": { - "buffer_size": 626, + "buffer_size": 597, "regions": { }, "selection": [ [ - 257, - 257 + 0, + 0 ] ], "settings": @@ -1639,15 +1650,15 @@ "semi_transient": false, "settings": { - "buffer_size": 719, + "buffer_size": 861, "regions": { }, "selection": [ [ - 565, - 565 + 0, + 0 ] ], "settings": @@ -1723,6 +1734,7 @@ { "height": 188.0 }, + "pinned_build_system": "", "project": "MatsanoCrypto", "replace": { @@ -1732,6 +1744,7 @@ "select_file": { "height": 0.0, + "last_filter": "", "selected_items": [ [ @@ -2252,6 +2265,7 @@ "select_project": { "height": 500.0, + "last_filter": "", "selected_items": [ ], @@ -2260,6 +2274,7 @@ "select_symbol": { "height": 252.0, + "last_filter": "", "selected_items": [ [ diff --git a/set1/runner.cpp b/set1/runner.cpp index c6ff86c..b87c6ba 100644 --- a/set1/runner.cpp +++ b/set1/runner.cpp @@ -8,6 +8,7 @@ #include "utils/xor.h" #include "utils/hamming.h" #include "set1/ecb.h" +#define SET1_T8_INPUT_FILE "etc/set1_t8.txt" char guess_encryption_key_letter(const char ciphertext_hex[]) { @@ -238,9 +239,9 @@ FUNC(set1_challenge_8_test) { FILE* fh=NULL; - if( (fh=fopen("etc/set1_t8.txt", "rb")) == 0 ) + if( (fh=fopen(SET1_T8_INPUT_FILE, "rb")) == 0 ) { - fprintf(stderr, "File %s doesn't exist. Exiting...\n"); + fprintf(stderr, "File %s doesn't exist. Exiting...\n", SET1_T8_INPUT_FILE); exit(1); } diff --git a/set2/runner.c b/set2/runner.c index fcda6a3..83b7162 100644 --- a/set2/runner.c +++ b/set2/runner.c @@ -17,11 +17,9 @@ FUNC(pkcs7_test) check(ret==0, (const unsigned char* const) "Padding operation failed"); ret = memcmp(text1, buff1, 5); check(ret==0, (const unsigned char* const) "Content differs"); - printf("%s\n", text1); for(int i=5; i<32; i++) { - printf("%d\n", text1[i]); - check(text1[i] == 27, (const unsigned char* const) "Wrong padding"); + check(buff1[i] == 27, (const unsigned char* const) "Wrong padding"); } } FUNC_E \ No newline at end of file diff --git a/utils/common.h b/utils/common.h index fda8c82..65a9e9a 100644 --- a/utils/common.h +++ b/utils/common.h @@ -1,5 +1,5 @@ #define FUNC(x) void x() { printf("Entering %s\n", __func__); -#define FUNC_E } +#define FUNC_E /*printf("Test done\n");*/ } void check(int iFlag, const unsigned char* const msg = 0); struct int24 { unsigned int data:24; }; diff --git a/utils/pkcs7.c b/utils/pkcs7.c index b11fc5b..a7e63ca 100644 --- a/utils/pkcs7.c +++ b/utils/pkcs7.c @@ -1,5 +1,6 @@ #include #include +#include int pkcs7_pad(const char* i_buff, size_t i_len, char* o_buff, size_t i_obuff_len ) { @@ -11,5 +12,6 @@ int pkcs7_pad(const char* i_buff, size_t i_len, char* o_buff, size_t i_obuff_len const unsigned pad_value = i_obuff_len - i_len; memset(o_buff, pad_value, i_obuff_len); memcpy(o_buff, i_buff, i_len); + return 0; } \ No newline at end of file