微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sage, Goppa Codes:无法创建具有大参数的解码器

如何解决Sage, Goppa Codes:无法创建具有大参数的解码器

我一直在玩 sage 中的线性纠错码,目的是编写 McEliece 密码系统的演示程序,该系统使用 Goppa 码。

我一直遵循 https://doc.sagemath.org/html/en/reference/coding/sage/coding/goppa_code.html 上的 SAGE 教程中概述的格式

运行以下代码在字段 GF(2^4) 及其相应的解码器上创建 Goppa 代码没有问题。

F = GF(2^4)
R.<x> = F[]
g = x^2+x+1
L = [a for a in F.list if g(a) != 0]
C = codes.GoppaCode(g,L)
D = C.decoder()

然而,我正在尝试编程的密码系统需要比这更高的参数,特别是在 GF(2^10) 领域。因此,我用来创建此 Goppa 代码及其解码器的代码如下。

F = GF(2^10)
R.<x> = F[]
g = x^50+x^3+1
L = [a for a in F.list if g(a) != 0]
C = codes.GoppaCode(g,L)
D = C.decoder()

这会在 GF(2) 上创建一个 [1024,524] Goppa 代码,并且生成代码 C 甚至使用它来编码消息向量(长度为 524)都没有问题。

不幸的是,当我运行最后一行来创建解码器 D 时,我似乎遇到了内存问题。我最初的反应是在具有更大内存 (64GB) 的机器上尝试它,但我没有运气。我认为这是因为我尝试创建的代码非常庞大,但如果有办法解决这个问题,让我实现此 Goppa 代码生成其解码器,那将非常有帮助。

我们将不胜感激,如果需要,我很乐意提供更多详细信息。

非常感谢!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。