bignum

    1热度

    1回答

    作为个人的挑战,我试图在Ruby中实现SIMON块密码。我遇到了一些发现处理数据的最佳方式的问题。与此问题相关的完整代码位于:https://github.com/Rami114/Personal/blob/master/Simon/Simon.rb SIMON需要XOR,移位和循环移位操作,最后一个是迫使我使用BigNums,因此我可以用数学执行左循环移位而不是字节数组上更复杂/更慢的双循环。

    2热度

    2回答

    我正在使用C++中的openssl BIGNUM库。 我的问题是,我需要计算两个BIGNUM值a和b的按位and,但我无法弄清楚如何做到这一点。我在网上搜索了一段时间,但我找不到任何有用的东西。

    9热度

    1回答

    从here我知道BN_CTX是一个保存BIGNUM临时变量的结构。这些BIGNUM变量何时会输入BN_CTX的BN_POOL?如果我有BN_CTX *ctx;(无论是在我的函数的顶部声明,或通过作为参数)一bignum_ctx,当我应该做的 ctx = BN_CTX_new(); /* Do something */ BN_CTX_free(ctx); ,而是当我应该做到以下几点? BN_

    0热度

    1回答

    两大变量我有2个大的变数,我需要比较喜欢: var a = 15000000000000000000000001 // integer var b = "15000000000000000000000000" // string 在我所有的测试比较得到错误的结果。 如: 转换变种b分成一个整数 var a = 15000000000000000000000001 var b = 150

    3热度

    1回答

    我要求一个简短的解释,指出所涉及的各种加速方法。这仅仅是为了好奇。 例如mpmath website表示指数函数公式用于复平面中的操作,但现在我想将它保持在纯实数上使用的操作。 或者,如果有一个链接到源代码部分,在mpmath中执行实际计算,我没有运气搜索可下载的源代码。

    10热度

    2回答

    为了加速我的bignum divisons,我需要加速操作y = x^2 for bigint,它表示为无符号DWORD的动态数组。需要明确的是: DWORD x[n+1] = { LSW, ......, MSW }; 其中n + 1是使用双字的数量 如此数量x = x[0]+x[1]<<32 + ... x[N]<<32*(n) 的价值的问题是:如何计算y = x^2尽可能快没有精确度损失

    -3热度

    1回答

    我已经开始编写一个bignum库,它有一个用于表示值,打印函数和负数支持的向量短裤。但是,我无法找到一个好办法来实现长期另外,像这样: 123 +123 ---- 246 我有没有给段错误的最新的代码是这样的: void add(unsigned long long b) { for(long long i=v.size()-1;i>=0;--i) {

    1热度

    2回答

    有没有人有推荐我在Mac OSX上工作,并试图编写和运行C++代码。 我正在运行代码来回答称为“Tammes问题”的数学问题。我目前有一段渐变流程代码,它运行时将球体上的点分布并最小化能量函数。这适用于Thomsons问题和t的低值(能量函数中的指数)。 泰姆斯问题是趋于无穷大,所以我需要让t相当大。这很好,但是当我将球体上两点之间的距离提高到t的值时,数字变得非常小(仍为正数),然后通过取这个倒

    3热度

    1回答

    我以前发过类似的问题,所以我提前道歉,但我只是无法找到我要去哪里错了。 我实现使用OpenSSL的BIGNUM库C. 我做了一轮拉格朗日插值后沙米尔秘密分享,我乘key * numerator,然后我需要用分母去除。 因为没有BN_mod_div功能,我不是在分母使用BN_mod_inverse(),然后繁衍,像这样: (key * numerator) * (inverse of denomin

    1热度

    2回答

    我试图想出一个使用openssl的单线解决方案,它将填充消息的填充SHA256摘要(此字节为256字节情况下,对于RSA2048),并应用RSA“解密”的256字节消化,即 m^d mod n 其中n是模数,d是私人指数和m是该摘要信息(填充)。这是通常在正常RSA2048身份验证中发生的事情,但我需要零零碎碎地做。 我试过这个,它没有工作。 openssl rsautl -decrypt -