commit fc1b28189f7f0c62d8eba089551925fbf9aaa0da
parent 18fcd4a208c7aa9b50b24eb1b2ac94c2cacf3b62
Author: Cedric <cedric.zwahlen@students.bfh.ch>
Date: Thu, 28 Dec 2023 18:51:48 +0100
Minor improvement
Diffstat:
3 files changed, 17 insertions(+), 26 deletions(-)
diff --git a/source/lib-gpu-verify.c b/source/lib-gpu-verify.c
@@ -22,12 +22,9 @@ int main(int argc, char** argv)
mont_modmult_tests();
- // MARK: might have memory issues
- //mont_rsa_tests();
+ //rsa_tests();
-// rsa_tests();
-
- //reference_tests();
+ reference_tests();
diff --git a/source/montmodmult.c b/source/montmodmult.c
@@ -25,7 +25,7 @@ void montmodmult_pairs_from_files(void *x_buf, void *m_buf,
void *n_buf, void *ni_buf,
void *msg_buf,
void *exp_buf,
- void *mod_buf,
+ //void *mod_buf,
void *s_buf,
unsigned long *pks, unsigned long *n) {
@@ -67,7 +67,6 @@ void montmodmult_pairs_from_files(void *x_buf, void *m_buf,
gpu_register *n_buf_t = n_buf;
gpu_register *msg_buf_t = msg_buf;
gpu_register *s_buf_t = s_buf;
- gpu_register *mod_buf_t = mod_buf;
gpu_register *exp_buf_t = exp_buf;
int len = (BIT_LENGTH / 8) / sizeof(gpu_register);
@@ -130,12 +129,7 @@ void montmodmult_pairs_from_files(void *x_buf, void *m_buf,
mpz_sub(r_1, mod, r_1);
}
- // MARK: export
-
- // exponent as is and mod -> n, ni -> ni, r_1 -> r_1
-
mpz_export(&n_buf_t[len * j], NULL, ORDER, sizeof(gpu_register), END, 0, mod);
- mpz_export(&mod_buf_t[len * j], NULL, ORDER, sizeof(gpu_register), END, 0, mod);
mpz_export(&ni_buf_t[len * j], NULL, ORDER, sizeof(gpu_register), END, 0, ni);
mpz_export(&r_1_buf_t[len * j], NULL, ORDER, sizeof(gpu_register), END, 0, r_1);
mpz_export(&exp_buf_t[j], NULL, ORDER, sizeof(gpu_register), END, 0, e);
@@ -156,7 +150,6 @@ void montmodmult_pairs_from_files(void *x_buf, void *m_buf,
mpz_mod(x, r, mod);
- // message as is and 'signature' -> x , M -> m
mpz_export(&msg_buf_t[len * i], NULL, ORDER, sizeof(gpu_register), END, 0, msg);
mpz_export(&s_buf_t[len * i], NULL, ORDER, sizeof(gpu_register), END, 0, s);
mpz_export(&x_buf_t[len * i], NULL, ORDER, sizeof(gpu_register), END, 0, x);
@@ -183,13 +176,14 @@ void montmodmult_pairs_from_files(void *x_buf, void *m_buf,
}
+
int modmult_opencl_prepare(struct gpu_info *info, struct gpu_state_alt *state,
void *x_buf, void *m_buf,
//void *r_1_buf,
void *n_buf, void *ni_buf,
void *msg_buf,
void *exp_buf,
- void *mod_buf,
+ // void *mod_buf,
void *s_buf,
unsigned long *pks, unsigned long n
) {
@@ -296,7 +290,7 @@ int modmult_opencl_exec_kernel(struct gpu_info *info, struct gpu_state_alt *stat
}
-unsigned long modmult_opencl_results(struct gpu_info *info, struct gpu_state_alt *state, bool timed, void * msg_buf, void * r_1_buf, void * n_buf, void* s_buf, void *mod_buf, unsigned long n) {
+unsigned long modmult_opencl_results(struct gpu_info *info, struct gpu_state_alt *state, bool timed, void * msg_buf, void * r_1_buf, void * n_buf, void* s_buf, unsigned long n) {
if (state->skip) {
// reset skip in the kernel execution
@@ -401,7 +395,7 @@ void modmult_gpu_execute(struct gpu_info *info, struct gpu_state_alt *state,
void *n_buf, void *ni_buf,
void *msg_buf,
void *exp_buf,
- void *mod_buf,
+ //void *mod_buf,
void *s_buf,
unsigned long *pks, unsigned long n) {
@@ -409,11 +403,11 @@ void modmult_gpu_execute(struct gpu_info *info, struct gpu_state_alt *state,
x_buf, m_buf,
//r_1_buf,
n_buf, ni_buf,
- msg_buf, exp_buf, mod_buf, s_buf,
+ msg_buf, exp_buf, s_buf,
pks, n
); // prepares the next batch of signatures on CPU, naturally blocks until it's finished
- state->result += modmult_opencl_results(info, state, false, msg_buf, r_1_buf, n_buf, s_buf, mod_buf, n); // waits for kernel, if it is not ready yet
+ state->result += modmult_opencl_results(info, state, false, msg_buf, r_1_buf, n_buf, s_buf, n); // waits for kernel, if it is not ready yet
modmult_opencl_exec_kernel(info,state); // start kernel (returns immediately)
modmult_opencl_release(state); // release buffers
@@ -421,9 +415,9 @@ void modmult_gpu_execute(struct gpu_info *info, struct gpu_state_alt *state,
}
-unsigned long modmult_gpu_finish(struct gpu_info *info, struct gpu_state_alt *state, void * msg_buf, void * r_1_buf, void * n_buf, void *mod_buf, void* s_buf, unsigned long n) {
+unsigned long modmult_gpu_finish(struct gpu_info *info, struct gpu_state_alt *state, void * msg_buf, void * r_1_buf, void * n_buf, void* s_buf, unsigned long n) {
- state->result += modmult_opencl_results(info,state,true,msg_buf,r_1_buf,n_buf, s_buf, mod_buf, n);
+ state->result += modmult_opencl_results(info,state,true,msg_buf,r_1_buf,n_buf, s_buf, n);
modmult_opencl_cleanup(info);
@@ -453,7 +447,7 @@ int mont_modmult_tests(void) {
gpu_register *ni_buf = malloc(digit_sz + pairs);
gpu_register *msg_buf = malloc(digit_sz);
gpu_register *s_buf = malloc(digit_sz);
- gpu_register *mod_buf = malloc(digit_sz);
+ //gpu_register *mod_buf = malloc(digit_sz);
gpu_register *exp_buf = malloc(pairs * sizeof(gpu_register));
memset(x_buf, 0, digit_sz);
@@ -463,7 +457,7 @@ int mont_modmult_tests(void) {
memset(ni_buf, 0, digit_sz);
memset(msg_buf, 0, digit_sz);
memset(s_buf, 0, digit_sz);
- memset(mod_buf, 0, digit_sz);
+ //memset(mod_buf, 0, digit_sz);
memset(exp_buf, 0, pairs * sizeof(gpu_register));
unsigned long *pks = malloc(arr_sz);
@@ -477,7 +471,7 @@ int mont_modmult_tests(void) {
n_buf, ni_buf,
msg_buf,
exp_buf,
- mod_buf,
+
s_buf,
pks, &pairs);
@@ -494,11 +488,11 @@ int mont_modmult_tests(void) {
n_buf, ni_buf,
msg_buf,
exp_buf,
- mod_buf,
+ // mod_buf,
s_buf,
pks, pairs);
- unsigned long res = modmult_gpu_finish(&info, &state, msg_buf, r_1_buf, n_buf, mod_buf,s_buf, pairs);
+ unsigned long res = modmult_gpu_finish(&info, &state, msg_buf, r_1_buf, n_buf,s_buf, pairs);
if (res == pairs) {
printf("VERIFICATION RESULT: %lu - OK\n\n",res);
diff --git a/xcode/lib-gpu-verify.xcodeproj/xcshareddata/xcschemes/lib-gpu-generate.xcscheme b/xcode/lib-gpu-verify.xcodeproj/xcshareddata/xcschemes/lib-gpu-generate.xcscheme
@@ -53,7 +53,7 @@
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
- argument = "4096"
+ argument = "512"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument