问题标签 [finite-field]
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.
math - 复合 CRC 多项式
我正在尝试复合 2 个 CRC 多项式。我有一条消息,我使用一个多项式生成一个 CRC。然后我对第一个 CRC 的结果进行 CRC,以获得第二个结果。有没有可能一次性做到这一点?
示例:给定消息 0xC 和多项式 0x17,我计算 CRC 为 0xA。然后我取这个结果和另一个多项式 0x13 并再次计算产生结果 0xD 的 CRC。我试图推导一个新的多项式,给定消息 0xC 将产生结果 0xD。
我只尝试在纸上进行此操作,因此我没有任何代码,但某些代码应如下所示:
我正在尝试使用我的初始消息和一个函数调用来获得相同的结果
这似乎是一个愚蠢的请求,但我觉得它很有帮助。我曾尝试专门应用简单的数学商余定理,但我发现有限域中的乘法过于复杂。
python - 用python求解域F(2)上的线性方程组
有没有一种方法可以使用 python 求解字段 F2 上的线性方程组(即加法和乘法模 2 - 二进制字段)?我一直在尝试寻找一个有用的包,但没有想出任何东西......
谢谢,
generator - 寻找有限域的生成元
如何找到具有 f(x) 的有限域 Fp[x]/f(x) 的生成元是 Fp 上的不可约多项式。
输入:p(素数),n(正数),f(不可约多项式)
输出:g(生成器)
我有p = 2,n =3,f = x^3 + x + 1
我是新手,所以我不知道从哪里开始。
你有什么解决办法吗?请逐步帮助我
python - 如何列出有限域上的所有可逆矩阵?
给定一个奇数素数 p 和整数 n 和 m,我想快速列出所有可逆 mxm 矩阵,其条目来自大小为 p^n 的有限域。什么是有效的方法来做到这一点?
我可以列出所有可能的 (p^n)^(mxm) 矩阵并过滤具有非零行列式的矩阵,但这似乎很浪费,因为它涉及计算许多行列式。
通过列出所有下对角线 (L)、对角线 (D) 和上对角线矩阵 (U),我可以列出具有因式分解 LDU 的矩阵,但这些矩阵的对角线上永远不会有零。
有没有一种简单有效的方法来列出所有条目来自有限域的可逆方阵?
谢谢!
raid - RAID存储结构
我有一些与 RAID 存储结构有关的问题。首先,让我展示一张 RAID 系统的图片。[RAID][1][1]:https://i.stack.imgur.com/Whd6B.png。据我了解,每个磁盘都被分割成多个条带。编码或解码是沿着条带完成的,条带是条带的集合。假设每个条带由 k 个数据条和 t 个奇偶校验条组成。如果我使用基于 GF(2^w) 构建的 Reed-Solomon (RS) 代码,则每个大小为“q”字节的条带将分为 q/k 个符号,每个符号由 w 位组成。
我的问题:
- 当我们谈论 RS 编码/解码时,我们是将每个条带视为一个 RS 符号还是将条带中的每个 w 位视为 RS 符号,尽管条带中的每个 w 位都与 GF 中的相同 w 位元素相乘( 2^w)。描述:
- 当我在做 RAID 系统的软件实现时,我从每篇研究论文中学到的东西,尤其是这篇论文:“A Performance Evaluation and Exam of Open-Source Erasure
Coding Libraries For Storage”,是strip, P=[p0,p1,...,p_{t-1}] 计算为矩阵乘法为 P=CxD,其中 D=[d0,d1,...,d_{k-1}] 和C 是 txk 柯西矩阵(我以基于柯西矩阵的编码为例)。 - 当我阅读另一篇专注于 RS 编码的硬件实现的论文时:“A Low Complexity Design of Reed Solomon Code Algorithm for Advanced RAID System”,他们似乎将每个条带称为 RS 符号。我的意思是这怎么可能。假设我们使用 GF(2^8),条带的大小可以变成只有 8 位吗?或者,在硬件实现中,人们只是简单地使用更高阶的有限域来构建 RAID 系统?
- 我有时看到人们将 RAID 存储系统描述为驱动器,其中“每个驱动器分为多个条带”。那么,驱动器和磁盘这两个术语有什么区别?它们可以互换使用吗?
polynomials - $\mathbb{F}_{7}$ 上的奇异多项式序列
令 $P=X^{10} +5X^{5}+1$ 和 $Q=5X^{8}+6X^{3}$ 在 $\mathbb{F} {7}[X]$。我们如何证明欧几里得除法的这种奇怪关系 $$U {2i}PX^{4}U_{2i-1}^{7}=4.3^{2i-1}Q$$ $$U_{2i+1} PX^{-4}U_{2i}^{7}=4.3^{2i}Q/X$$ with $U_{1}=X^{2}$?注意$U_{2i}=[X^ {4}U_{2i-1}^{7}/P]$ 和 $U_{2i+1}=[X^{-4}U_{2i}^{7}/P]$。
c++ - 多项式不可约性的错误评估
在我的函数中,PolynomialIrreducibility()
我正在评估输入的多项式是否不可约或不超过GF(prime_number)。
在使用不可约多项式 x^2 + x + 2 测试实现的函数时,所有三个函数(DetIrredTest、ProbIrredTest、IterIrredTest)都用于确定多项式是否不可约或不评估它,即使它在 GF(3) 上不是不可约的,如图所示以下。
请问,我是以错误的方式评估不可约性还是我做错了什么?
c++ - 如何表示伽罗瓦域 GF(2^8) 的元素并在 NTL 库中执行算术
我是 NTL 库的新手,因为它的GF2X
, GF2E
,GF2EX
等。现在,我想在 Galois 域上执行乘法GF(2^8)
。问题如下:
例如,{53} • {CA} = {01} 在 Rijndael 的字段中,因为
我的问题是如何表示约简多项式x^8 + x^4 + x^3 + x^1 + 1
和多项式x^6 + x^4 + x + 1
,x^7 + x^6 + x^3 + x
在NTL
. 然后对这些多项式进行乘法运算,得到结果{01}
。
这是我使用这个库的一个很好的例子。