diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-09-29 14:41:32 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-09-29 14:41:32 +0200 |
| commit | f7f0e8c53bc8231264346ef91e2f533164a25562 (patch) | |
| tree | c3ec176a2fc12bc0ee99f017d15c1f8be73bb921 /libcmix-crypto | |
| parent | 8507aec59b92e16ed6a05c92fea6ced5dba3f753 (diff) | |
| download | cmix-f7f0e8c53bc8231264346ef91e2f533164a25562.tar.gz cmix-f7f0e8c53bc8231264346ef91e2f533164a25562.tar.bz2 cmix-f7f0e8c53bc8231264346ef91e2f533164a25562.zip | |
Replaced the RSA implementation with an Elgamal implementation.
Diffstat (limited to 'libcmix-crypto')
| -rw-r--r-- | libcmix-crypto/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | libcmix-crypto/elgamal/CMakeLists.txt | 29 | ||||
| -rw-r--r-- | libcmix-crypto/elgamal/elgamal.c | 11 | ||||
| -rw-r--r-- | libcmix-crypto/elgamal/elgamal.h | 19 | ||||
| -rw-r--r-- | libcmix-crypto/elgamal/null/CMakeLists.txt (renamed from libcmix-crypto/rsa/null/CMakeLists.txt) | 4 | ||||
| -rw-r--r-- | libcmix-crypto/elgamal/null/null_elgamal.c (renamed from libcmix-crypto/rsa/null/null_rsa.c) | 0 | ||||
| -rw-r--r-- | libcmix-crypto/rsa/CMakeLists.txt | 29 | ||||
| -rw-r--r-- | libcmix-crypto/rsa/rsa.c | 11 | ||||
| -rw-r--r-- | libcmix-crypto/rsa/rsa.h | 19 |
9 files changed, 64 insertions, 64 deletions
diff --git a/libcmix-crypto/CMakeLists.txt b/libcmix-crypto/CMakeLists.txt index e73ed38..dea1196 100644 --- a/libcmix-crypto/CMakeLists.txt +++ b/libcmix-crypto/CMakeLists.txt @@ -19,8 +19,8 @@ target_sources(cmix-crypto-interface include(curve25519_implementations) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/curve25519/) -include(rsa_implementations) -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/rsa) +include(elgamal_implementations) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/elgamal) add_library(cmix-crypto INTERFACE) @@ -36,5 +36,5 @@ option(UseEC "Use curve25519 instead of RSA" ON) target_link_libraries(cmix-crypto INTERFACE curve25519-implementation - INTERFACE rsa-implementation + INTERFACE elgamal-implementation ) diff --git a/libcmix-crypto/elgamal/CMakeLists.txt b/libcmix-crypto/elgamal/CMakeLists.txt new file mode 100644 index 0000000..88f5ba8 --- /dev/null +++ b/libcmix-crypto/elgamal/CMakeLists.txt @@ -0,0 +1,29 @@ +add_library(elgamal-interface INTERFACE) + +target_include_directories(elgamal-interface + INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_sources(elgamal-interface + INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/elgamal.h +) + +target_link_libraries(elgamal-interface + INTERFACE cmix-crypto-interface +) + +foreach(impl ${elgamal_implementations}) + add_subdirectory(${impl}) +endforeach() + +add_library(elgamal-implementation + elgamal.h elgamal.c +) + +target_include_directories(elgamal-implementation + PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_link_libraries(elgamal-implementation + PUBLIC elgamal-${elgamal_implementation} +) diff --git a/libcmix-crypto/elgamal/elgamal.c b/libcmix-crypto/elgamal/elgamal.c new file mode 100644 index 0000000..3136688 --- /dev/null +++ b/libcmix-crypto/elgamal/elgamal.c @@ -0,0 +1,11 @@ +#include "elgamal.h" + +struct Api get_elgamal_implementation() +{ + return (struct Api) { + &elgamal_create_keypair, + &elgamal_keypair_deleter, + &elgamal_derive_shared_key, + &elgamal_shared_key_deleter + }; +} diff --git a/libcmix-crypto/elgamal/elgamal.h b/libcmix-crypto/elgamal/elgamal.h new file mode 100644 index 0000000..77b5c9b --- /dev/null +++ b/libcmix-crypto/elgamal/elgamal.h @@ -0,0 +1,19 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "api.h" + +extern struct KeyPair elgamal_create_keypair(); +extern void elgamal_keypair_deleter(struct KeyPair p); + +extern struct SharedKey elgamal_derive_shared_key(struct KeyPair pair, unsigned char* pub_key, bool swap_pub_order); +extern void elgamal_shared_key_deleter(struct SharedKey s); + +struct Api get_elgamal_implementation(); + +#ifdef __cplusplus +} +#endif diff --git a/libcmix-crypto/rsa/null/CMakeLists.txt b/libcmix-crypto/elgamal/null/CMakeLists.txt index 50977fb..39db0f0 100644 --- a/libcmix-crypto/rsa/null/CMakeLists.txt +++ b/libcmix-crypto/elgamal/null/CMakeLists.txt @@ -3,7 +3,7 @@ include(get_target_name) get_target_name(target_name) add_library(${target_name} SHARED - null_rsa.c + null_elgamal.c ) target_compile_options(${target_name} @@ -12,5 +12,5 @@ target_compile_options(${target_name} target_link_libraries(${target_name} INTERFACE cmix-crypto - PRIVATE rsa-interface + PRIVATE elgamal-interface ) diff --git a/libcmix-crypto/rsa/null/null_rsa.c b/libcmix-crypto/elgamal/null/null_elgamal.c index e69de29..e69de29 100644 --- a/libcmix-crypto/rsa/null/null_rsa.c +++ b/libcmix-crypto/elgamal/null/null_elgamal.c diff --git a/libcmix-crypto/rsa/CMakeLists.txt b/libcmix-crypto/rsa/CMakeLists.txt deleted file mode 100644 index 2eb847f..0000000 --- a/libcmix-crypto/rsa/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -add_library(rsa-interface INTERFACE) - -target_include_directories(rsa-interface - INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} -) - -target_sources(rsa-interface - INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/rsa.h -) - -target_link_libraries(rsa-interface - INTERFACE cmix-crypto-interface -) - -foreach(impl ${rsa_implementations}) - add_subdirectory(${impl}) -endforeach() - -add_library(rsa-implementation - rsa.h rsa.c -) - -target_include_directories(rsa-implementation - PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} -) - -target_link_libraries(rsa-implementation - PUBLIC rsa-${rsa_implementation} -) diff --git a/libcmix-crypto/rsa/rsa.c b/libcmix-crypto/rsa/rsa.c deleted file mode 100644 index 61ade32..0000000 --- a/libcmix-crypto/rsa/rsa.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "rsa.h" - -struct Api get_rsa_implementation() -{ - return (struct Api) { - &rsa_create_keypair, - &rsa_keypair_deleter, - &rsa_derive_shared_key, - &rsa_shared_key_deleter - }; -} diff --git a/libcmix-crypto/rsa/rsa.h b/libcmix-crypto/rsa/rsa.h deleted file mode 100644 index f479a95..0000000 --- a/libcmix-crypto/rsa/rsa.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#ifdef __cplusplus -extern "C" { -#endif - -#include "api.h" - -extern struct KeyPair rsa_create_keypair(); -extern void rsa_keypair_deleter(struct KeyPair p); - -extern struct SharedKey rsa_derive_shared_key(struct KeyPair pair, unsigned char* pub_key, bool swap_pub_order); -extern void rsa_shared_key_deleter(struct SharedKey s); - -struct Api get_rsa_implementation(); - -#ifdef __cplusplus -} -#endif |
