瀏覽代碼

Tmp commit

api_change
Krzysztof Kwiatkowski 9 年之前
父節點
當前提交
b40b3aff7b
共有 9 個檔案被更改,包括 596 行新增78 行删除
  1. +2
    -1
      Makefile
  2. +445
    -73
      MatsanoCrypto.sublime-workspace
  3. +64
    -0
      etc/set2_t2.txt
  4. +10
    -2
      set1/ecb.c
  5. +21
    -0
      set2/cbc.c
  6. +14
    -0
      set2/runner.c
  7. +3
    -1
      utils/base64.cpp
  8. +24
    -1
      utils/common.c
  9. +13
    -0
      utils/common.h

+ 2
- 1
Makefile 查看文件

@@ -14,12 +14,13 @@ all:
g++ -g -I${INC} -c set1/runner.cpp -o obj/set1_runner.o
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 set2/cbc.c -o obj/cbc.o
g++ -g -I${INC} -c main.cpp -o obj/main.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 \
obj/set2_runner.o obj/pkcs7.o obj/cbc.o \
-lcrypto
clean:
rm -rf obj


+ 445
- 73
MatsanoCrypto.sublime-workspace 查看文件

@@ -3,6 +3,22 @@
{
"selected_items":
[
[
"count",
"count_array_size"
],
[
"LVM",
"LVM_VOLUMES"
],
[
"pkcs",
"pkcs7_pad"
],
[
"FUC",
"FUNC_E"
],
[
"read",
"read_file_to_buffer"
@@ -498,22 +514,6 @@
[
"subsc",
"subscriber"
],
[
"Subsc",
"Subscribers"
],
[
"kSEI",
"kSEIErr_ImplementationError"
],
[
"ConfigEve",
"ConfigEventSubscriberInterfaceWeakPtr"
],
[
"ConfigObj",
"ConfigObjectChangePublisher"
]
]
},
@@ -523,7 +523,64 @@
"file": "set1/runner.cpp",
"settings":
{
"buffer_size": 12021,
"buffer_size": 12087,
"line_ending": "Unix"
}
},
{
"file": "utils/common.h",
"settings":
{
"buffer_size": 462,
"line_ending": "Unix"
}
},
{
"file": "utils/pkcs7.c",
"settings":
{
"buffer_size": 353,
"line_ending": "Unix"
}
},
{
"file": "/home/flowher/backup_server",
"settings":
{
"buffer_size": 743,
"line_ending": "Unix"
}
},
{
"file": "/home/flowher/server_snapshot.sh",
"settings":
{
"buffer_size": 1305,
"line_ending": "Unix",
"name": "#!/bin/bash"
}
},
{
"file": "set1/ecb.c",
"settings":
{
"buffer_size": 1860,
"line_ending": "Unix"
}
},
{
"file": "set2/cbc.c",
"settings":
{
"buffer_size": 461,
"line_ending": "Unix"
}
},
{
"file": "utils/pkcs7.h",
"settings":
{
"buffer_size": 103,
"line_ending": "Unix"
}
},
@@ -531,7 +588,7 @@
"file": "utils/common.c",
"settings":
{
"buffer_size": 700,
"buffer_size": 881,
"line_ending": "Unix"
}
},
@@ -551,6 +608,21 @@
"line_ending": "Unix"
}
},
{
"file": "set2/runner.c",
"settings":
{
"buffer_size": 977,
"line_ending": "Unix"
}
},
{
"settings":
{
"buffer_size": 0,
"line_ending": "Unix"
}
},
{
"file": "set1/xor_char_finder.cpp",
"settings":
@@ -591,11 +663,19 @@
"line_ending": "Unix"
}
},
{
"file": "set2/runner.h",
"settings":
{
"buffer_size": 173,
"line_ending": "Unix"
}
},
{
"file": "Makefile",
"settings":
{
"buffer_size": 861,
"buffer_size": 936,
"line_ending": "Unix"
}
}
@@ -607,10 +687,18 @@
"build_varint": "",
"command_palette":
{
"height": 52.0,
"last_filter": "",
"height": 54.0,
"last_filter": "bash",
"selected_items":
[
[
"bash",
"Set Syntax: Shell Script (Bash)"
],
[
"comment",
"Toggle Comment"
],
[
"comme",
"Snippet: comment-method"
@@ -619,10 +707,6 @@
"install",
"Package Control: Install Package"
],
[
"comment",
"Snippet: comment"
],
[
"snippet",
"Snippet: comment"
@@ -989,6 +1073,7 @@
[
"/home/flowher/repos/MatasanoCrypto",
"/home/flowher/repos/MatasanoCrypto/set1",
"/home/flowher/repos/MatasanoCrypto/set2",
"/home/flowher/repos/MatasanoCrypto/utils"
],
"file_history":
@@ -1124,7 +1209,7 @@
],
"find":
{
"height": 23.0
"height": 25.0
},
"find_in_files":
{
@@ -1193,6 +1278,15 @@
"case_sensitive": false,
"find_history":
[
"void",
"VOLUME_GROUPE",
"count",
" ",
" ",
"i_len",
"set2_pkcs7_test",
"__set1_runner__",
"o_buf",
"hex_str4",
"img",
".jpg",
@@ -1311,16 +1405,7 @@
"handleClient",
"runClientHandler",
"handleClient",
"SAFE_BOOST_CHECK",
"SAFE_BOOST_REQUIRE",
"openssl_strdup",
"OPENSSL_str",
"SSL_CTX_set_srp_username_callback",
"argToAdd",
"_argTLS1Protocol",
"_argNoTLS1Protocol",
"mapArg(",
"mapArg"
"SAFE_BOOST_CHECK"
],
"highlight": true,
"in_selection": false,
@@ -1383,7 +1468,7 @@
"groups":
[
{
"selected": 0,
"selected": 8,
"sheets":
[
{
@@ -1392,7 +1477,7 @@
"semi_transient": false,
"settings":
{
"buffer_size": 12021,
"buffer_size": 12087,
"regions":
{
},
@@ -1409,27 +1494,228 @@
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 2749.0,
"translation.y": 2418.0,
"zoom_level": 1.0
},
"stack_index": 0,
"stack_index": 13,
"type": "text"
},
{
"buffer": 1,
"file": "utils/common.h",
"semi_transient": false,
"settings":
{
"buffer_size": 462,
"regions":
{
},
"selection":
[
[
367,
367
]
],
"settings":
{
"syntax": "Packages/C Improved/C Improved.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"type": "text"
},
{
"buffer": 2,
"file": "utils/pkcs7.c",
"semi_transient": false,
"settings":
{
"buffer_size": 353,
"regions":
{
},
"selection":
[
[
353,
353
]
],
"settings":
{
"syntax": "Packages/C Improved/C Improved.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 57.0,
"zoom_level": 1.0
},
"stack_index": 10,
"type": "text"
},
{
"buffer": 3,
"file": "/home/flowher/backup_server",
"semi_transient": false,
"settings":
{
"buffer_size": 743,
"regions":
{
},
"selection":
[
[
743,
743
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 11,
"type": "text"
},
{
"buffer": 4,
"file": "/home/flowher/server_snapshot.sh",
"semi_transient": false,
"settings":
{
"buffer_size": 1305,
"regions":
{
},
"selection":
[
[
898,
898
]
],
"settings":
{
"auto_name": "#!/bin/bash",
"syntax": "Packages/ShellScript/Shell-Unix-Generic.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 19.0,
"zoom_level": 1.0
},
"stack_index": 8,
"type": "text"
},
{
"buffer": 5,
"file": "set1/ecb.c",
"semi_transient": false,
"settings":
{
"buffer_size": 1860,
"regions":
{
},
"selection":
[
[
1394,
1394
]
],
"settings":
{
"syntax": "Packages/C Improved/C Improved.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 7,
"type": "text"
},
{
"buffer": 6,
"file": "set2/cbc.c",
"semi_transient": false,
"settings":
{
"buffer_size": 461,
"regions":
{
},
"selection":
[
[
276,
276
]
],
"settings":
{
"syntax": "Packages/C Improved/C Improved.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 3,
"type": "text"
},
{
"buffer": 7,
"file": "utils/pkcs7.h",
"semi_transient": false,
"settings":
{
"buffer_size": 103,
"regions":
{
},
"selection":
[
[
102,
102
]
],
"settings":
{
"syntax": "Packages/C Improved/C Improved.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 12,
"type": "text"
},
{
"buffer": 8,
"file": "utils/common.c",
"semi_transient": false,
"settings":
{
"buffer_size": 700,
"buffer_size": 881,
"regions":
{
},
"selection":
[
[
161,
161
690,
690
]
],
"settings":
@@ -1441,11 +1727,11 @@
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 2,
"stack_index": 0,
"type": "text"
},
{
"buffer": 2,
"buffer": 9,
"file": "utils/base64.cpp",
"semi_transient": false,
"settings":
@@ -1467,14 +1753,14 @@
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 3078.0,
"translation.y": 2387.0,
"zoom_level": 1.0
},
"stack_index": 1,
"stack_index": 9,
"type": "text"
},
{
"buffer": 3,
"buffer": 10,
"file": "set1/xor_char_finder.h",
"semi_transient": false,
"settings":
@@ -1499,11 +1785,69 @@
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 6,
"stack_index": 18,
"type": "text"
},
{
"buffer": 4,
"buffer": 11,
"file": "set2/runner.c",
"semi_transient": false,
"settings":
{
"buffer_size": 977,
"regions":
{
},
"selection":
[
[
925,
925
]
],
"settings":
{
"syntax": "Packages/C Improved/C Improved.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 2,
"type": "text"
},
{
"buffer": 12,
"semi_transient": false,
"settings":
{
"buffer_size": 0,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"default_dir": "/home/flowher/repos/MatasanoCrypto/set2",
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 19,
"type": "text"
},
{
"buffer": 13,
"file": "set1/xor_char_finder.cpp",
"semi_transient": false,
"settings":
@@ -1528,11 +1872,11 @@
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 5,
"stack_index": 14,
"type": "text"
},
{
"buffer": 5,
"buffer": 14,
"file": "utils/runner.cpp",
"semi_transient": false,
"settings":
@@ -1544,8 +1888,8 @@
"selection":
[
[
2957,
2957
2312,
2312
]
],
"settings":
@@ -1554,14 +1898,14 @@
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 994.0,
"translation.y": 789.0,
"zoom_level": 1.0
},
"stack_index": 3,
"stack_index": 15,
"type": "text"
},
{
"buffer": 6,
"buffer": 15,
"file": "main.cpp",
"semi_transient": false,
"settings":
@@ -1573,8 +1917,8 @@
"selection":
[
[
0,
0
39,
39
]
],
"settings":
@@ -1585,11 +1929,11 @@
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 4,
"stack_index": 16,
"type": "text"
},
{
"buffer": 7,
"buffer": 16,
"file": "utils/runner.h",
"semi_transient": false,
"settings":
@@ -1613,11 +1957,11 @@
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 9,
"stack_index": 17,
"type": "text"
},
{
"buffer": 8,
"buffer": 17,
"file": "set1/runner.h",
"semi_transient": false,
"settings":
@@ -1629,8 +1973,8 @@
"selection":
[
[
0,
0
597,
597
]
],
"settings":
@@ -1641,24 +1985,52 @@
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 7,
"stack_index": 5,
"type": "text"
},
{
"buffer": 9,
"buffer": 18,
"file": "set2/runner.h",
"semi_transient": false,
"settings":
{
"buffer_size": 173,
"regions":
{
},
"selection":
[
[
64,
64
]
],
"settings":
{
"syntax": "Packages/C Improved/C Improved.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 4,
"type": "text"
},
{
"buffer": 19,
"file": "Makefile",
"semi_transient": false,
"settings":
{
"buffer_size": 861,
"buffer_size": 936,
"regions":
{
},
"selection":
[
[
0,
0
886,
886
]
],
"settings":
@@ -1669,7 +2041,7 @@
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 8,
"stack_index": 6,
"type": "text"
}
]
@@ -1677,7 +2049,7 @@
],
"incremental_find":
{
"height": 23.0
"height": 25.0
},
"input":
{
@@ -1738,7 +2110,7 @@
"project": "MatsanoCrypto",
"replace":
{
"height": 42.0
"height": 46.0
},
"save_all_on_build": true,
"select_file":


+ 64
- 0
etc/set2_t2.txt 查看文件

@@ -0,0 +1,64 @@
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

+ 10
- 2
set1/ecb.c 查看文件

@@ -2,7 +2,11 @@
#include <stdint.h>
#include <string.h>

uint32_t ecb_decrypt(const unsigned char* i_stream, const uint32_t i_stream_size, const unsigned char* i_pass, const uint32_t i_pass_size, unsigned char* o_buff)
uint32_t ecb_decrypt( const unsigned char* i_stream,
const uint32_t i_stream_size,
const unsigned char* i_pass,
const uint32_t i_pass_size,
unsigned char* o_buff)
{
int ret, ret_fin;
ret=ret_fin=0;
@@ -17,7 +21,11 @@ uint32_t ecb_decrypt(const unsigned char* i_stream, const uint32_t i_stream_size
}


uint32_t ecb_encrypt(const unsigned char* i_stream, const uint32_t i_stream_size, const unsigned char* i_pass, const uint32_t i_pass_size, unsigned char* o_buff)
uint32_t ecb_encrypt( const unsigned char* i_stream,
const uint32_t i_stream_size,
const unsigned char* i_pass,
const uint32_t i_pass_size,
unsigned char* o_buff)
{
int ret, ret_fin;
ret=ret_fin=0;


+ 21
- 0
set2/cbc.c 查看文件

@@ -0,0 +1,21 @@
#include "set1/ecb.h"
#include "utils/xor.h"
#include "utils/common.h"

Result_t decrypt_cbc( uint8_t* input_buff,
size_t buff_len,
uint8_t* output_buff,
size_t* result_len)
{
uint8_t iv[16] = {0};

}


Result_t encrypt_cbc( uint8_t* input_buff,
size_t buff_len,
uint8_t* output_buff,
size_t* result_len)
{

}

+ 14
- 0
set2/runner.c 查看文件

@@ -3,6 +3,7 @@
#include "utils/pkcs7.h"
#include <stdio.h>
#include <string.h>
#include "cbc.h"

FUNC(pkcs7_test)
{
@@ -22,4 +23,17 @@ FUNC(pkcs7_test)
check(buff1[i] == 27, (const unsigned char* const) "Wrong padding");
}
}
FUNC_E

FUNC(cbc_decrypt)
{
uint8_t iv[16] = {0};
char key[17] = "YELLOW SUBMARINE"; // 16+'\0' = 17
size_t len = 0;
uint8_t buff[4096] = {0};
Result_t res = Result_Error;

res = load_base64_to_hex("etc/set2_t2.txt", buff, &len);

}
FUNC_E

+ 3
- 1
utils/base64.cpp 查看文件

@@ -233,7 +233,9 @@ struct int24 base64_4char_to_hex(const char (&T)[4])
* @returns -1 on failure, on success possitive value equal to number of bytes encoded
*
-------------------------------------------------------------------------------- */
int base64_to_hex(const unsigned char* const i_string, int i_string_len, unsigned char* o_hex_array )
int base64_to_hex( const unsigned char* const i_string,
int i_string_len,
unsigned char* o_hex_array )
{
int pointer = 0;
int hex_pointer = 0;


+ 24
- 1
utils/common.c 查看文件

@@ -2,7 +2,9 @@
#include <stdio.h>
#include <string.h>

unsigned long read_file_to_buffer(const char* const filepath, char* obuff, int remove_new_line_chr)
unsigned long read_file_to_buffer( const char* const filepath,
char* obuff,
int remove_new_line_chr)
{
FILE* fh=0;
size_t len=0;
@@ -15,6 +17,15 @@ unsigned long read_file_to_buffer(const char* const filepath, char* obuff, int r
exit(1);
}

if(obuff=NULL)
{
//allocate
fseek(fh, 0, SEEK_END);
int pos = ftell(fh);
fseek(fh, 0, SEEK_CUR);
obuff = malloc(pos);
}

while( getline(&line, &len, fh) != -1 )
{
len = strlen(line);
@@ -29,6 +40,18 @@ unsigned long read_file_to_buffer(const char* const filepath, char* obuff, int r
return total_len;
}

Result_t load_base64_to_hex(const char* const filepath, uint8_t* hex_buffer, size_t* len)
{
uint8_t* base64_buff;
*len = read_file_to_buffer(filepath, base64_buff, 1);
/// int base64_to_hex(const unsigned char* const i_string,
//int i_string_len,
//unsigned char* o_hex_array );
base64_to_hex(base64_buff, *len, hex_buffer);


}

void check(int iFlag, const unsigned char* const msg)
{
if(!iFlag)


+ 13
- 0
utils/common.h 查看文件

@@ -1,6 +1,19 @@
#ifndef __common_h__
#define __common_h__

#include <stddef.h>

#define FUNC(x) void x() { printf("Entering %s\n", __func__);
#define FUNC_E /*printf("Test done\n");*/ }

typedef enum
{
Result_OK = 0,
Result_Error
} Result_t;

void check(int iFlag, const unsigned char* const msg = 0);
struct int24 { unsigned int data:24; };
unsigned long read_file_to_buffer(const char* const filepath, char* obuff, int remove_new_line_chr = 1);

#endif // __common_h__

Loading…
取消
儲存