-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathICryptoOperations.h
25 lines (18 loc) · 1.54 KB
/
ICryptoOperations.h
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
#pragma once
class ICryptoOperations
{
public:
virtual ~ICryptoOperations(){}
public:
virtual int aes_cbc_encrypt(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size, unsigned char* iv) const = 0;
virtual int aes_cbc_decrypt(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size, unsigned char* iv) const = 0;
virtual int aes_ctr_encrypt(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size, unsigned char* iv) = 0;
virtual int aes_ctr_decrypt(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size, unsigned char* iv) = 0;
virtual int aes_ecb_encrypt(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size) const = 0;
virtual int aes_ecb_decrypt(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size) const = 0;
virtual int aes_cmac(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size) const = 0;
virtual int sha1(const unsigned char* src, unsigned char* dst, int size) const = 0;
virtual int sha256(const unsigned char* src, unsigned char* dst, int size) const = 0;
virtual int hmac_sha1(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size) const = 0;
virtual int hmac_sha256(const unsigned char* src, unsigned char* dst, int size, const unsigned char* key, int key_size) const = 0;
};