summaryrefslogtreecommitdiff
path: root/lib/lib2.h
blob: f3c7e7b854f2342ef4dad5ef1db566e25b8a0873 (plain)
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
35
36
37
38
39
40
#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 nonce[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_hex(char *buf, int length_key_bytes);
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 **plaintext, int blocksize, int offset);
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, int cbc_mode);
void challenge16_decrypt(char *encrypted, int length, int cbc_mode);
int challenge12_and_14_oracle(char *attacker_data, int attacker_data_lengthn, char **ciphertext, int prepend_data);
int aes_ecb_detect_prepended_data();
int aes_cbc_padded(char *in, int length_in, char **out, unsigned char *string_key, char *init_vector, int encrypt);

#endif