36 lines
647 B
C
36 lines
647 B
C
#ifndef RSA_LIB
|
|
#define RSA_LIB
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef _WIN32
|
|
#ifdef BUILD_SHARED
|
|
#define BUILD_SPEC __declspec(dllexport)
|
|
#elif BUILD_STATIC
|
|
#define BUILD_SPEC
|
|
#else
|
|
#define BUILD_SPEC __declspec(dllimport)
|
|
#endif
|
|
#else
|
|
#define BUILD_SPEC
|
|
#endif
|
|
|
|
typedef struct {
|
|
__int128_t d;
|
|
__int128_t e;
|
|
__int128_t n;
|
|
} rsa_Pair;
|
|
|
|
BUILD_SPEC rsa_Pair rsa_gen_pair(__int128_t p, __int128_t q, __int128_t e);
|
|
|
|
BUILD_SPEC __int128_t rsa_encrypt(__int128_t data, __int128_t e, __int128_t n);
|
|
BUILD_SPEC __int128_t rsa_decrypt(__int128_t data, __int128_t d, __int128_t n);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|