24 lines
		
	
	
		
			792 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			792 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include <tommath.h>
 | 
						|
#include <cassert>
 | 
						|
#include <tomcrypt.h>
 | 
						|
 | 
						|
void testTomMath(){
 | 
						|
    mp_int x{};
 | 
						|
    mp_init(&x);
 | 
						|
    mp_read_radix(&x, "2280880776330203449294339386427307168808659578661428574166839717243346815923951250209099128371839254311904649344289668000305972691071196233379180504231889", 10);
 | 
						|
 | 
						|
    mp_int n{};
 | 
						|
    mp_init(&n);
 | 
						|
    mp_read_radix(&n, "436860662135489324843442078840868871476482593772359054106809367217662215065650065606351911592188139644751920724885335056877706082800496073391354240530016", 10);
 | 
						|
 | 
						|
    mp_int exp{};
 | 
						|
    mp_init(&exp);
 | 
						|
    mp_2expt(&exp, 1000);
 | 
						|
 | 
						|
 | 
						|
    mp_int r{};
 | 
						|
    mp_init(&r);
 | 
						|
    assert(mp_exptmod(&x, &exp, &n, &r) != CRYPT_OK); //if this method succeed than tommath failed. Unknown why but it is so
 | 
						|
 | 
						|
    mp_clear_multi(&x, &n, &exp, &r, nullptr);
 | 
						|
} |