-
Notifications
You must be signed in to change notification settings - Fork 185
Closed
Description
The following programs hang:
#include <relic_conf.h>
#include <relic.h>
int main(void)
{
if ( core_init() != RLC_OK ) abort();
bn_t A, B, R;
bn_null(A); bn_new(A);
bn_null(B); bn_new(B);
bn_null(R); bn_new(R);
const char* s1 = "-1213068231205668105605951854731130201903688064935528161870475730456060070523760888303587358590872539742605952062685689665790050881449002400974595736054710391122725343761246087108658616520069928832916521834833064485749676372705687317616286200865841564734708220159183429426211335541881119911308190957320877289346138223714721568038679909052494886888022494203752030856787987707512755313314280152942595573707787122148021787625342354581082645042923315484649160404052803109269034978674143327235378262617002698633275859799321409037763323997676106640677625699577000911688607471705774084284990619753737228796994575823351214750208332407673635154629636709530166795821103027127729954996811818355717460773619973829308267605586998608948975220841497023200590894302928108995492582138636826665966599321135363639920646752319375021202246285253852671364357824456633559541003030826211048431431301779118852450786305821429328758108112291384193519985827160549160338880430266425017606351739356733787672718870460573389547159376410277431646947036506297411287370264891554596434157687158928779590666910862366299003488880365538679591478039479609436953398977464454067378402345076819820755511650607752190021240448387531424291118625293239413064";
const char* s2 = "-6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057148";
bn_read_str(A, s1, strlen(s1), 10);
bn_read_str(B, s2, strlen(s2), 10);
bn_mod_monty_conv(R, A, B);
bn_free(A);
bn_free(B);
bn_free(R);
return 0;
}
#include <relic_conf.h>
#include <relic.h>
int main(void)
{
if ( core_init() != RLC_OK ) abort();
bn_t A, B, T, R;
bn_null(A); bn_new(A);
bn_null(B); bn_new(B);
bn_null(T); bn_new(T);
bn_null(R); bn_new(R);
const char* s1 = "-20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000014644087040737095516181010";
const char* s2 = "1970543761890640310119143205433388";
bn_read_str(A, s1, strlen(s1), 10);
bn_read_str(B, s2, strlen(s2), 10);
bn_mod_pre_pmers(T, B);
bn_mod_pmers(R, A, B, T);
bn_free(A);
bn_free(B);
bn_free(R);
return 0;
}
#include <relic_conf.h>
#include <relic.h>
int main(void)
{
if ( core_init() != RLC_OK ) abort();
bn_t A, B, T, R;
bn_null(A); bn_new(A);
bn_null(B); bn_new(B);
bn_null(T); bn_new(T);
bn_null(R); bn_new(R);
const char* s1 = "-100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000569494856176035326322058057570659331026192708460314150258592864177116729943603718461857357598351150301582835151321971577101803084265674677361251235429363707753237390378853789689048722376702214444444444444444440000000000000000000000000000000000000000000000000000000001844674407370805161150014444441444444";
const char* s2 = "-774489073332422264746762737228245463180563652011842689807700501272605474199110031554603315973690329757183510955159367506136085073393317761750232570166776031223348568436363314249342217027064344837956894529272549773666000000000000000000000000000000665218444648388169361275462716342615773447084655377011384967431421365707827750201244838394107708406069460519079271847031880783647089926782480741028141120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052838058721772159177448907333242226474676273722824546318056365201184268980770050127260547419911003155460331597669032975718351095515936750613608507339331776175023257016677603122334856843636331424934221702706434483795689452927254977366600000000000000000000000000000066521844464838816936127546271634261577344708465537701138496743142136570782775020124483839410770840606946051907927184703188078364708992678248074102814112105806298450223418232068897786551226364110895291587250241802870684197672922365551263705633361655940536021198366288079668278664294850531627150027134760542207000000000000000000000";
bn_read_str(A, s1, strlen(s1), 10);
bn_read_str(B, s2, strlen(s2), 10);
bn_mod_pre_barrt(T, B);
bn_mod_barrt(R, A, B, T);
bn_free(A);
bn_free(B);
bn_free(R);
return 0;
}
Metadata
Metadata
Assignees
Labels
No labels