1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#ifndef __LIB2_H__
#define __LIB2_H__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openssl/aes.h>
struct key_value_pair {
char *key;
char *value;
};
char key[17];
char iv[17];
char *pkcs7_padding(char *string, int length_string, int blocksize);
char *__pkcs7_padding(char *string, int length_string, int blocksize, int *padding);
int aes_cbc(char *in, int length_in, char *out, unsigned char *string_key, char *init_vector, int encrypt);
int valid_pkcs7_padding(const char *in, int length_in, char *unpadded, int blocksize);
int aes_ecb(char *in, int length_in, char *out, unsigned char *string_key,
int blocksize, int encrypt);
int generate_random_bytes(char *buf, int length_key_bytes);
int random_number_between(int min, int max);
char *encrypt_with_random_bytes(char *toencrypt, int length, int ecb);
char create_dictionary_and_match(char *prefix, char *match, char *key, int blocksize_bytes);
int detect_blocksize_ecb(char*,int,char*);
int crack_aes_ecb(char *text, int length_text, char *plaintext_block, char *key, int blocksize);
struct key_value_pair *parse_key_value(char *string, int length_string);
char *profile_for(char *email);
void send_user(char *encrypted_user, int length);
int challenge16_encrypt(char *input, char **encrypted);
void challenge16_decrypt(char *encrypted, int length);
#endif
|