问题标签 [ntruencrypt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 我如何在java中实现ntru密码算法?
正如少数调查显示的那样,ntru 密码学是一种先进且高效的无线传感器网络算法,所以我想在 java 中实现这个算法。我还想计算它的加密和解密速度。
请帮我完成这个过程.. :)
java - 充气城堡 NTRU 一代
我遇到了下一个问题:我不知道在哪里可以获取用于调用正确 NTRUSigningPrivateKeyParameters 的私钥字节数组。
这是我的代码:
有没有人有同样的问题?
math - NTRU 密钥交换示例实现
是否有任何 NTRU-KE 的开源实现(最好是 Java 或 C#),我可以将其用作以不同语言实现它的参考?
NTRUEncrypt 的 Wikipedia 页面上列出的实现没有包含它,并且这里有一篇涵盖该算法的论文,但是该语言有点过于技术性,我无法完全理解它。
java - 如何获取 NTRU 参数
我正在使用 bouncycastle 对 NTRU 的暗示,这是我的代码:
问题是我怎样才能得到 f 多项式和基,因为我只找到了 fp(f 的逆,并且它们没有逆方法)和基?我查了javadocs但没有结果。
cryptography - 截断多项式的定义是什么?
在 NTRUEncryption 中,我看到了截断多项式,但我无法理解截断多项式计算。
那么,谁能告诉我我们如何计算截断多项式?
java - 计算多项式环的逆
我试图了解 NTRU-PKCS 并想在 Java 中实现一个简单的版本,因此我使用了一种自我实现的方法(扩展 euclid)来计算环中多项式的逆。
大多数时候我的算法都有效,但是当我尝试 NTRU-PKCS-Tutorial PKCS-Tutorial 中的示例时,它失败了,我不知道为什么。
示例是:
f: -x^10+1x^9+0x^8+0x^7+1x^6+0x^5-x^4+0x^3+1x^2+1x^1-x^0 f^-1模 32:30x^10+18x^9+20x^8+22x^7+16x^6+15x^5+4x^4+16x^3+6x^2+9x^1+5x^0 环:x^ 11-1
我的代码是:
输出如下:
问题是:如果我现在计算 R/newR,我必须找到 2 mod 32 的倒数,但是由于 32 和 2 的最大公约数是 2 而不是 1,所以没有倒数...
我是否错误地执行了算法?
c++ - NTRUEncrypt:无法正确找到使用开源标准算法中描述的两个多项式的 GCD,无法定义是否存在 poly 的逆
我已经实现了用于查找多项式逆的算法,如板载安全资源中所述,但这些算法意味着我想要反转的多边形的 GCD 并且 X^N - 1 为 1。
对于正确的 NTRU 实现,我需要随机生成小多项式并定义它们的逆是否存在,目前我没有这样的功能。为了让它工作,我尝试按照NTRU 开源项目文档中的描述实现欧几里得算法。但我发现有些事情非常不一致,这让我很恼火。除法和欧几里得算法可以在命名文档的第 19 页找到。
因此,在除法算法中,输入是多项式 a 和 b。据说多项式 b 必须是 N-1 次。
除法算法的伪代码(取自此答案):
为了找到两个多项式的 GCD,必须调用欧几里得算法,输入为 a(某个多项式)和 X^N-1。然后将这些输入传递给除法算法。
问题是:如果明确规定第二个参数应该是度数为 N-1 的 poly,如何将 X^N-1 传递给除法算法?
忽略这个问题,还有一些我不明白的地方:
- 除法算法中的N是什么?是来自 NTRU 参数的 N 还是多项式 b 的次数?
- 无论哪种方式,条件 c) 怎么可能是真的?NTRU 使用次数小于 N 的多项式进行运算
对于更大的上下文,这是我对欧几里得和除法算法的 C++ 实现。给定输入 a = {-1, 1, 1, 0, -1, 0, 1, 0, 0, 1, -1}, b = {-1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1}, p = 3 and N = 11 在除法算法中进入无限循环
此外,此清单中使用的多项式运算可以在github 页面找到