OpenCores
URL https://opencores.org/ocsvn/mod_sim_exp/mod_sim_exp/trunk

Subversion Repositories mod_sim_exp

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /mod_sim_exp
    from Rev 29 to Rev 28
    Reverse comparison

Rev 29 → Rev 28

/trunk/sw/ModExp/Release/ModExp.exe Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
trunk/sw/ModExp/Release/ModExp.exe Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: trunk/sw/ModExp/Release/sim.txt =================================================================== --- trunk/sw/ModExp/Release/sim.txt (revision 29) +++ trunk/sw/ModExp/Release/sim.txt (nonexistent) @@ -1,7 +0,0 @@ -512 -32 -1024 -16 -1536 -16 -0 Index: trunk/sw/ModExp/.project =================================================================== --- trunk/sw/ModExp/.project (revision 29) +++ trunk/sw/ModExp/.project (nonexistent) @@ -1,26 +0,0 @@ - - - ModExp - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - Index: trunk/sw/ModExp/src/ModExp.c =================================================================== --- trunk/sw/ModExp/src/ModExp.c (revision 29) +++ trunk/sw/ModExp/src/ModExp.c (nonexistent) @@ -1,113 +0,0 @@ -/* - ============================================================================ - Name : ModExp.c - Author : - Version : - Copyright : Your copyright notice - Description : Hello World in C, Ansi-style - ============================================================================ - */ - -#include -#include -#include - -int main(void) { - unsigned int base_width, exp_width; - mpz_t m, g0, g1, e0, e1, R, R2, result, tmp, gt0, gt1, gt01; - gmp_randstate_t state; - - gmp_randinit_default(state); - mpz_init(m); - mpz_init(g0); - mpz_init(g1); - mpz_init(e0); - mpz_init(e1); - mpz_init(R); - mpz_init(R2); - mpz_init(result); - mpz_init(tmp); - mpz_init(gt0); - mpz_init(gt1); - mpz_init(gt01); - - printf("-- input generator program\n"); - printf("-- generates test values per bit input pair\n"); - - while (1){ - - //read in base_width - scanf("%d", &base_width); - if (base_width == 0) break; - scanf("%d", &exp_width); - - //generate modulus (must be uneven) - mpz_urandomb(m, state, base_width); - mpz_setbit(m, 0); //uneven - - //generate g0 - mpz_urandomb(g0, state, base_width); - - //generate g1 - mpz_urandomb(g1, state, base_width); - - //generate e0 - mpz_urandomb(e0, state, exp_width); - - //generate e1 - mpz_urandomb(e1, state, exp_width); - - //calculate R - mpz_set_ui(R, 2); - mpz_powm_ui(R, R, base_width, m); //R = 2^n mod m - - //calculate R2 - mpz_set_ui(R2, 2); - mpz_powm(R2, R, R2, m); //R2 = Rē mod m = 2^2n mod m - - //calc precompute values - mpz_mul(gt0, g0, R); - mpz_powm_ui(gt0, gt0, 1, m); - mpz_mul(gt1, g1, R); - mpz_powm_ui(gt1, gt1, 1, m); - mpz_mul(gt01, g0, g1); - mpz_mul(gt01, gt01, R); - mpz_powm_ui(gt01, gt01, 1, m); - - //calculate result - mpz_powm(result, g0, e0, m); - mpz_powm(tmp, g1, e1, m); - mpz_mul(result, result, tmp); - mpz_powm_ui(result, result, 1, m); - - printf("-- base_width, exp_width, g0, g1, e0, e1, m, R^2, result\n"); - printf("%d\n", base_width); - printf("%d\n", exp_width); - gmp_printf("%Zx\n", g0); - gmp_printf("%Zx\n", g1); - gmp_printf("%Zx\n", e0); - gmp_printf("%Zx\n", e1); - gmp_printf("%Zx\n", m); - gmp_printf("%Zx\n", R2); - gmp_printf("%Zx\n", R); - gmp_printf("%Zx\n", gt0); - gmp_printf("%Zx\n", gt1); - gmp_printf("%Zx\n", gt01); - gmp_printf("%Zx\n", result); - } - - mpz_clear(g0); - mpz_clear(g1); - mpz_clear(e0); - mpz_clear(e1); - mpz_clear(m); - mpz_clear(result); - mpz_clear(tmp); - mpz_clear(R); - mpz_clear(R2); - mpz_clear(gt0); - mpz_clear(gt1); - mpz_clear(gt01); - - return EXIT_SUCCESS; -} Index: trunk/sw/ModExp/.cproject =================================================================== --- trunk/sw/ModExp/.cproject (revision 29) +++ trunk/sw/ModExp/.cproject (nonexistent) @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Index: trunk/sw/ModMult/.settings/org.eclipse.cdt.managedbuilder.core.prefs =================================================================== --- trunk/sw/ModMult/.settings/org.eclipse.cdt.managedbuilder.core.prefs (revision 29) +++ trunk/sw/ModMult/.settings/org.eclipse.cdt.managedbuilder.core.prefs (nonexistent) @@ -1,21 +0,0 @@ -eclipse.preferences.version=1 -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/CPATH/delimiter=; -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/CPATH/operation=remove -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/C_INCLUDE_PATH/delimiter=; -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/C_INCLUDE_PATH/operation=remove -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/append=true -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/appendContributed=true -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/CPATH/delimiter=; -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/CPATH/operation=remove -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/C_INCLUDE_PATH/delimiter=; -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/C_INCLUDE_PATH/operation=remove -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/append=true -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/appendContributed=true -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/LIBRARY_PATH/delimiter=; -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/LIBRARY_PATH/operation=remove -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/append=true -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.2041168883/appendContributed=true -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/LIBRARY_PATH/delimiter=; -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/LIBRARY_PATH/operation=remove -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/append=true -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.release.2071011908/appendContributed=true Index: trunk/sw/ModMult/Release/ModMult.exe =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/sw/ModMult/Release/ModMult.exe =================================================================== --- trunk/sw/ModMult/Release/ModMult.exe (revision 29) +++ trunk/sw/ModMult/Release/ModMult.exe (nonexistent)
trunk/sw/ModMult/Release/ModMult.exe Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: trunk/sw/ModMult/.project =================================================================== --- trunk/sw/ModMult/.project (revision 29) +++ trunk/sw/ModMult/.project (nonexistent) @@ -1,26 +0,0 @@ - - - ModMult - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - Index: trunk/sw/ModMult/src/ModMult.c =================================================================== --- trunk/sw/ModMult/src/ModMult.c (revision 29) +++ trunk/sw/ModMult/src/ModMult.c (nonexistent) @@ -1,70 +0,0 @@ -/* - ============================================================================ - Name : ModExp.c - Author : - Version : - Copyright : Your copyright notice - Description : Hello World in C, Ansi-style - ============================================================================ - */ - -#include -#include -#include - -int main(void) { - unsigned int base_width; - mpz_t x, m, r, R, R2; - gmp_randstate_t state; - - gmp_randinit_mt(state); - mpz_init(x); - mpz_init(m); - mpz_init(r); - mpz_init(R); - mpz_init(R2); - - printf("-- input generator program\n"); - printf("-- generates test values for multiplier testbench\n"); - - while (1){ - - //read in base_width - scanf("%d", &base_width); - if (base_width == 0) break; - - //generate modulus (must be uneven) - mpz_urandomb(m, state, base_width); - mpz_setbit(m, 0); //uneven - - //generate x - mpz_urandomb(x, state, base_width); - - //calculate R - mpz_set_ui(R, 2); - mpz_powm_ui(R, R, base_width, m); //R = 2^n mod m - - //calculate R2 - mpz_set_ui(R2, 2); - mpz_powm(R2, R, R2, m); //R2 = Rē mod m = 2^2n mod m - - //calculate result - mpz_mul(r, x, R); - mpz_powm_ui(r, r, 1, m); - - printf("-- x, y, m, result\n"); - gmp_printf("%Zx\n", x); - gmp_printf("%Zx\n", R2); - gmp_printf("%Zx\n", m); - gmp_printf("%Zx\n", r); - } - - mpz_clear(x); - mpz_clear(R2); - mpz_clear(m); - mpz_clear(r); - mpz_clear(R); - gmp_randclear(state); - - return EXIT_SUCCESS; -} Index: trunk/sw/ModMult/.cproject =================================================================== --- trunk/sw/ModMult/.cproject (revision 29) +++ trunk/sw/ModMult/.cproject (nonexistent) @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.