From 1013c26e20f83bc633e0a929248a5f76c67c72ff Mon Sep 17 00:00:00 2001 From: Benedict Date: Sat, 19 Mar 2016 13:57:19 +0100 Subject: deleted files which are no longer be used --- main.c | 0 set1.h | 0 task1_hex_to_base64.c | 364 -------------------------------------------------- task2_fixed_xor.c | 0 4 files changed, 364 deletions(-) delete mode 100644 main.c delete mode 100644 set1.h delete mode 100644 task1_hex_to_base64.c delete mode 100644 task2_fixed_xor.c diff --git a/main.c b/main.c deleted file mode 100644 index e69de29..0000000 diff --git a/set1.h b/set1.h deleted file mode 100644 index e69de29..0000000 diff --git a/task1_hex_to_base64.c b/task1_hex_to_base64.c deleted file mode 100644 index 8e19f74..0000000 --- a/task1_hex_to_base64.c +++ /dev/null @@ -1,364 +0,0 @@ -#include -#include -#include -#include - -static const unsigned char base64_encode[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz" - "0123456789+/"; - -static const unsigned char hex_encode[] = - "0123456789abcdef"; - -/* - * This functions accepts a string and returns it base64 encoded -*/ -void three_bytes_to_base64(char * encode, int bytes_to_print, char *result) -{ - unsigned char one, two, three, four; - unsigned char tmp; - char ret[4]; - - // first six bits - one = encode[0] >> 2; - ret[0] = base64_encode[one]; - if(bytes_to_print-- > 0) - result[0] = ret[0]; - // second six bits - // two last bits of first byte - tmp = encode[0] & 0x03; - two = encode[1] >> 4; - tmp = tmp << 4; - two = tmp | two; - ret[1] = base64_encode[two]; - if(bytes_to_print-- > 0) - result[1] = ret[1]; - // second six bits - // two last bits of first byte - // third six bits - tmp = encode[1] & 0x0F; - tmp = tmp << 2; - three = encode[2] & 0xC0; - three = three >> 6; - three = tmp | three; - ret[2] = base64_encode[three]; - if(bytes_to_print-- > 0) - result[2] = ret[2]; - // last six bit11s - four = encode[2] & 0x3F; - ret[3] = base64_encode[four]; - ret[4] = '\0'; - if(bytes_to_print-- > 0) - result[3] = ret[3]; - } - - - - -static char string_to_hex_map[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, - 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, - 0x0E, 0x0F}; -/* - * This function converts the first char of a string into its corresponding - * hex value - * - * @return On Sucess return 0, if char is no valid hex value returns -1 - */ -int hex_char_to_bit(char toEncode) -{ - char encode; - switch(toEncode) { - case '0': - encode = string_to_hex_map[0]; - break; - case '1': - encode = string_to_hex_map[1]; - break; - case '2': - encode = string_to_hex_map[2]; - break; - case '3': - encode = string_to_hex_map[3]; - break; - case '4': - encode = string_to_hex_map[4]; - break; - case '5': - encode = string_to_hex_map[5]; - break; - case '6': - encode = string_to_hex_map[6]; - break; - case '7': - encode = string_to_hex_map[7]; - break; - case '8': - encode = string_to_hex_map[8]; - break; - case '9': - encode = string_to_hex_map[9]; - break; - case 'a': - encode = string_to_hex_map[10]; - break; - case 'b': - encode = string_to_hex_map[11]; - break; - case 'c': - encode = string_to_hex_map[12]; - break; - case 'd': - encode = string_to_hex_map[13]; - break; - case 'e': - encode = string_to_hex_map[14]; - break; - case 'f': - encode = string_to_hex_map[15]; - break; - default: - return -1; - } - - return encode; - -} - - -void two_char_hex(char *start, char *result) -{ - char first = hex_char_to_bit(start[0]); - char second = hex_char_to_bit(start[1]); - - *result = first; - *result = *result << 4; - *result = *result | second; -} - -int convert_hex_string_to_character_string(char *encode, char* result) -{ - int i; - int length = strlen(encode); - - for(i = 0;i< length/2;i++) - two_char_hex(&encode[i*2], &result[i]); - - return i; -} - -int convert_to_base64(char *encode, char *result) -{ - int length = strlen(encode); - - int rounds = length / 3; - int bytes_last_round = length % 3; - int i; - - for (i=0;i 0) { - three_bytes_to_base64(encode + i*3, 1+bytes_last_round, &result[i*4]); - - for(i=0;i<(3-bytes_last_round);i++) - result[i*4+(1+bytes_last_round)] = '='; - } - -} - -void xor_string(char *str1, char *key, char *result) -{ - int i, j; - int length_key = strlen(key); - - for(i=0, j=0;i= length_key) - j = 0; - - result[i] = str1[i] ^ key[j]; - } -} - -void xor_string_equal_length(char *str1, char* str2, char *result, int length) { - int i; - - for(i=0;i> 4; - result[i*2] = hex_encode[tmp]; - tmp = str1[i] & 0x0F; - result[(i*2)+1] = hex_encode[tmp]; - } - - result[i*2] = '\0'; -} - - - -int score_based_on_frequent_characters(char *string, int length) -{ - int number = 0; - int i; - char tmp; - - for(i=0;i 20) - printf("char: %c, score: %i, string: %s\n", (char) i, score, xor_tmp); - } - - //free(xor_tmp); -} - -void task4() { - /** read the file */ - FILE *fp; - int bytes_read; - int malloc_size = 62; - int line_number = 0; - int j; - char *string = malloc(malloc_size); - char *string2 = malloc(malloc_size); - - fp = fopen("4.txt", "r"); - - if (fp == NULL) { - printf("Error open file\n"); - exit(1); - } - - while (fscanf(fp, "%61c", string) != EOF) { - j = convert_hex_string_to_character_string(string, string2); - printf("line number: %i, length: %i,\n", line_number, j); - string_looks_like_it_is_english(string2, j); - line_number++; - } - - fclose(fp); - -} - -void task5() -{ - char *stanze = "Burning 'em, if you ain't quick and nimble\nI go crazy when I hear a cymbal"; - - //printf("%s\n", stanze); - char *result = malloc(strlen(stanze)); - char *printable = malloc(strlen(stanze)*5); - xor_string(stanze, "ICE", result); - hex_binary_to_string(result, printable, 2*strlen(stanze)); - printf("%s\n", printable); -} - - -int main(int argc, char **argv) -{ - if (argc == 3 ) { - int length = strlen(argv[1]); - char *tmp = malloc(length); - char *tmp2 = malloc(length); - char *base64= malloc(length); - char *__xor_string = malloc(length); - char *back_hex = malloc(length); - int i = convert_hex_string_to_character_string(argv[1], tmp); - int j = convert_hex_string_to_character_string(argv[2], tmp2); - xor_string_equal_length(tmp, tmp2, __xor_string, strlen(argv[2])); - // convert the __xor_string to printable charaters - hex_binary_to_string(tmp2, back_hex, strlen(argv[2])); - printf("***************************\n"); - printf("set 1, challelnge 1:\n"); - printf("input string 1:\n"); - printf("%s\n", argv[1]); - printf("input string 2:\n"); - printf("%s\n", argv[2]); - - printf("char string of arg 1:\n"); - printf("%s\n", tmp); - printf("char string of arg 2:\n"); - printf("%s\n", tmp2); - - printf("string 2 from hex back to printable charaters:\n"); - printf("%s\n", back_hex); - printf("***************************\n"); - printf("set 1, challenge 2\n"); - printf("xor string:\n"); - hex_binary_to_string(__xor_string, back_hex, strlen(argv[2])); - printf("%s\n", back_hex); - - printf("***************************\n"); - printf("set 1, challenge 3\n"); - //string_looks_ - - } -/* - printf("***************************\n"); - printf("set 1, challenge 4\n"); - task4(); -*/ - //printf("***************************\n"); - //printf("set 1, challenge 5\n"); - task5(); - - -} diff --git a/task2_fixed_xor.c b/task2_fixed_xor.c deleted file mode 100644 index e69de29..0000000 -- cgit v1.2.3-70-g09d2