Skip to content
Snippets Groups Projects
Unverified Commit 8fd1d212 authored by Dmitriy A. Gerasimov's avatar Dmitriy A. Gerasimov Committed by GitHub
Browse files

Merge pull request #4 from MaxKrasil/master

parents 45c886f6 5aaad2c0
No related branches found
No related tags found
1 merge request!24Support 3689
# Prerequisites
*.d
*.autosave
# Object files
*.o
*.ko
*.obj
*.elf
# Linker output
*.ilk
*.map
*.exp
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
# Debug files
*.dSYM/
*.su
*.idb
*.pdb
# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf
......@@ -6,7 +6,7 @@ set(CRYPTO_SRCS
dap_enc_base64.c
dap_enc_aes.c
dap_enc_newhope.c
dap_enc_msrln16.c
dap_enc_key.c
)
......@@ -15,7 +15,7 @@ set(CRYPTO_HEADERS
dap_enc_base64.h
dap_enc_aes.h
dap_enc_newhope.h
dap_enc_msrln16.h
dap_enc_key.h
)
......
......@@ -29,6 +29,7 @@
#include "dap_enc_base64.h"
#include "dap_enc_key.h"
#include "dap_common.h"
#include "dap_enc_msrln16.h"
#define LOG_TAG "dap_enc"
......@@ -72,6 +73,10 @@ size_t dap_enc_code(struct dap_enc_key * key,const void * buf,const size_t buf_s
case DAP_ENC_DATA_TYPE_RAW:{
proc_buf=buf_out;
}break;
case DAP_ENC_DATA_TYPE_RLWE_MSRLN16:{
//надо посмотреть алгоритм
}
break;
}
size_t ret=key->enc(key,buf,buf_size,proc_buf);
if(data_type_out==DAP_ENC_DATA_TYPE_B64){
......@@ -109,6 +114,10 @@ size_t dap_enc_decode(struct dap_enc_key * key,const void * buf, const size_t bu
proc_buf_const=buf;
proc_buf_size=buf_size;
}break;
case DAP_ENC_DATA_TYPE_RLWE_MSRLN16:{
//надобно алгоритм смотреть штолЕ?!
}
break;
}
if(key->dec){
......
......@@ -25,6 +25,7 @@
#include "dap_enc_aes.h"
#include "dap_enc_newhope.h"
#include "dap_enc_msrln16.h"
#include "dap_enc_key.h"
......@@ -67,7 +68,20 @@ struct dap_enc_key_callbacks{
.new_from_data_callback = dap_enc_newhope_key_new_from_data,
.key_public_raw_callback = dap_enc_newhope_key_public_raw,
.new_from_data_public_callback = dap_enc_newhope_key_new_from_data_public
}
},
//MSRLN16
[DAP_ENC_KEY_TYPE_RLWE_MSRLN16] = {
.name = "MSRLN16",
.size_max = 64,
.enc = dap_enc_msrln16_encode,
.dec = dap_enc_msrln16_decode,
.new_callback = NULL,
.delete_callback =NULL,
.new_generate_callback = dap_enc_msrln16_key_new_generate,
.new_from_data_callback = dap_enc_msrln16_key_new_from_data,
.key_public_raw_callback = dap_enc_msrln16_key_public_raw,
.new_from_data_public_callback = dap_enc_msrln16_key_new_from_data_public
}
};
const size_t c_callbacks_size = sizeof(s_callbacks) / sizeof(s_callbacks[0]);
......
......@@ -24,8 +24,8 @@
#include <stddef.h>
#include <time.h>
typedef enum dap_enc_data_type{DAP_ENC_DATA_TYPE_RAW,
DAP_ENC_DATA_TYPE_B64,
} dap_enc_data_type_t;
DAP_ENC_DATA_TYPE_B64
} dap_enc_data_type_t;
typedef enum dap_enc_key_type{ DAP_ENC_KEY_TYPE_AES, // Symmetric AES
......@@ -74,12 +74,13 @@ typedef enum dap_enc_key_type{ DAP_ENC_KEY_TYPE_AES, // Symmetric AES
// (Bos, Ducas, Kiltz, Lepoint, Lyubashevsky, Schwabe, Shanck, Stehlé)
// Real World Crypto 2017, https://eprint.iacr.org/2017/634)
// using the reference C implementation of Kyber from pq-crystals/kyber
DAP_ENC_KEY_TYPE_SIG_PICNIC // signature based on zero-knowledge proof as specified in
DAP_ENC_KEY_TYPE_SIG_PICNIC, // signature based on zero-knowledge proof as specified in
// Post-Quantum Zero-Knowledge and Signatures from Symmetric-Key Primitives
// (Melissa Chase and David Derler and Steven Goldfeder and Claudio Orlandi
// and Sebastian Ramacher and Christian Rechberger and Daniel Slamanig and Greg Zaverucha
// https://eprint.iacr.org/2017/279.pdf), using the optimized implemenation
// from https://github.com/IAIK/Picnic
DAP_ENC_KEY_TYPE_FNAM2 //ХЗ ЧТО, ДОБАВИЛ ЧТОБЫ БЫЛО И НА МЕНЯ КОМПИЛЯТОР НЕ РУГАЛСЯ:(
} dap_enc_key_type_t;
struct dap_enc_key;
......
#include "dap_common.h"
#include "dap_enc_msrln16.h"
#include "liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h"
#define LOG_TAG "dap_enc_msrln16"
/**
* @brief dap_enc_msrln16_key_new_generate
* @param a_key
* @param a_size
*/
void dap_enc_msrln16_key_new_generate(dap_enc_key_t * a_key, size_t a_size)
{
}
/**
* @brief dap_enc_msrln16_key_new_from_data
* @param a_key
* @param a_in
* @param a_in_size
*/
void dap_enc_msrln16_key_new_from_data(dap_enc_key_t * a_key, const void * a_in, size_t a_in_size)
{
}
/**
* @brief dap_enc_msrln16_key_new_from_data_public
* @param a_key
* @param a_in
* @param a_in_size
*/
void dap_enc_msrln16_key_new_from_data_public(dap_enc_key_t * a_key, const void * a_in, size_t a_in_size)
{
}
/**
* @brief dap_enc_msrln16_key_delete
* @param a_key
*/
void dap_enc_msrln16_key_delete(dap_enc_key_t *a_key)
{
}
/**
* @brief dap_enc_msrln16_key_public_base64
* @param a_key
* @return
*/
char* dap_enc_msrln16_key_public_base64(dap_enc_key_t *a_key)
{
}
/**
* @brief dap_enc_msrln16_key_public_raw
* @param a_key
* @param a_key_public
* @return
*/
size_t dap_enc_msrln16_key_public_raw(dap_enc_key_t *a_key, void ** a_key_public)
{
}
/**
* @brief dap_enc_msrln16_decode
* @param a_key
* @param a_in
* @param a_in_size
* @param a_out
* @return
*/
size_t dap_enc_msrln16_decode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out)
{
}
/**
* @brief dap_enc_msrln16_encode
* @param a_key
* @param a_in
* @param a_in_size
* @param a_out
* @return
*/
size_t dap_enc_msrln16_encode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out)
{
}
#ifndef _DAP_ENC_MSRLN16_H_
#define _DAP_ENC_MSRLN16_H_
#include <stddef.h>
typedef struct dap_enc_key dap_enc_key_t;
void dap_enc_msrln16_key_new_generate(dap_enc_key_t * a_key, size_t a_size);
void dap_enc_msrln16_key_new_from_data(dap_enc_key_t * a_key, const void * a_in, size_t a_in_size);
void dap_enc_msrln16_key_new_from_data_public(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size);
void dap_enc_msrln16_key_delete(dap_enc_key_t *a_key);
size_t dap_enc_msrln16_key_public_raw(dap_enc_key_t *a_key, void ** a_key_public);
size_t dap_enc_msrln16_decode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out);
size_t dap_enc_msrln16_encode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out);
#endif
......@@ -9,10 +9,12 @@
#include <stddef.h>
#include <stdint.h>
#include <oqs/rand.h>
//#include <oqs/rand.h> //беда с симлинками, посему так пока
#include "../crypto/rand/rand.h"
#if !defined(WINDOWS)
#include <oqs/config.h>
#include "../config.h"
//#include <oqs/config.h>
#endif
enum OQS_KEX_alg_name {
......
......@@ -9,8 +9,12 @@
#include <stddef.h>
#include <stdint.h>
#include <oqs/kex.h>
#include <oqs/rand.h>
#include "../kex/kex.h"
#include "../crypto/rand/rand.h"
//с симлинком беда какая-то, поэтому так пока
/*#include <oqs/kex.h>
#include <oqs/rand.h>*/
OQS_KEX *OQS_KEX_rlwe_msrln16_new(OQS_RAND *rand);
......
......@@ -287,7 +287,7 @@ static void* dap_http_client_thread(void * arg)
case CURLE_COULDNT_RESOLVE_HOST: l_err_code = 3 ; log_it(L_ERROR, "Couldn't resolve destination address"); break;
case CURLE_OPERATION_TIMEDOUT: l_err_code = 4 ; log_it(L_ERROR, "HTTP request timeout"); break;
case CURLE_URL_MALFORMAT: l_err_code = 5 ; log_it(L_ERROR, "Wrong URL format in the outgoing request"); break;
case CURLE_WEIRD_SERVER_REPLY: l_err_code = 6 ; log_it(L_WARNING, "Weird server reply"); break;
//case CURLE_WEIRD_SERVER_REPLY: l_err_code = 6 ; log_it(L_WARNING, "Weird server reply"); break;
case CURLE_OK:{
l_is_ok = true;
log_it(L_DEBUG, "Response size %u",l_client_internal->response_size);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment