Added gmp

parent 321d1b9a
...@@ -42,6 +42,18 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ...@@ -42,6 +42,18 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define ENCLAVE_NAME "secure_enclave.signed.so" #define ENCLAVE_NAME "secure_enclave.signed.so"
int char2int(char _input) {
if (_input >= '0' && _input <= '9')
return _input - '0';
if (_input >= 'A' && _input <= 'F')
return _input - 'A' + 10;
if (_input >= 'a' && _input <= 'f')
return _input - 'a' + 10;
return -1;
}
unsigned char *carray2Hex(const uint8_t *d, int _len) { unsigned char *carray2Hex(const uint8_t *d, int _len) {
unsigned char *hex = malloc(2 * _len); unsigned char *hex = malloc(2 * _len);
...@@ -57,14 +69,19 @@ unsigned char *carray2Hex(const uint8_t *d, int _len) { ...@@ -57,14 +69,19 @@ unsigned char *carray2Hex(const uint8_t *d, int _len) {
} }
uint8_t* hex2carray(unsigned char * _hex, uint64_t _len) { uint8_t* hex2carray(unsigned char * _hex, uint64_t *_bin_len) {
uint64_t len = strlen(_hex);
if (_len == 0 && _len % 2 == 1) if (len == 0 && len % 2 == 1)
return NULL; return NULL;
uint8_t* bin = malloc(_len / 2); *_bin_len = len / 2;
for (int i = 0; i < _len / 2; i++) { uint8_t* bin = malloc(len / 2);
for (int i = 0; i < len / 2; i++) {
int high = char2int((char)_hex[i * 2]); int high = char2int((char)_hex[i * 2]);
int low = char2int((char)_hex[i * 2 + 1]); int low = char2int((char)_hex[i * 2 + 1]);
...@@ -78,16 +95,6 @@ uint8_t* hex2carray(unsigned char * _hex, uint64_t _len) { ...@@ -78,16 +95,6 @@ uint8_t* hex2carray(unsigned char * _hex, uint64_t _len) {
return bin; return bin;
} }
int char2int(char _input) {
if (_input >= '0' && _input <= '9')
return _input - '0';
if (_input >= 'A' && _input <= 'F')
return _input - 'A' + 10;
if (_input >= 'a' && _input <= 'f')
return _input - 'a' + 10;
return -1;
}
...@@ -184,6 +191,8 @@ int main(int argc, char *argv[]) { ...@@ -184,6 +191,8 @@ int main(int argc, char *argv[]) {
unsigned char *result = carray2Hex(encryptedKey, enc_len); unsigned char *result = carray2Hex(encryptedKey, enc_len);
gmp_printf("Result: %s", result); gmp_printf("Result: %s", result);
gmp_printf("\n Length: %d \n", enc_len); gmp_printf("\n Length: %d \n", enc_len);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment