伽罗瓦域算术的实现

MvG*_*MvG 8 c++ galois-field finite-field

你知道C++ 中Galois域算法的实现吗?至少应包括GF(2 16)和GF(2 32)等案例.性能是一个问题,因此实现应该考虑优化其操作.

我更喜欢一个通用的计算库或一个专门用于此任务的小型库.缺乏这些,我也欢迎一些可读的源代码.

MvG*_*MvG 8

我在维基百科关于有限域算术的文章中找到了Arash Partow 的伽罗瓦域算术库的链接.

乍一看,代码看起来几乎完全没有注释,但是以结构化的,因此可能是可理解的方式编写.但是,性能似乎不是一个重要的设计标准:内联函数的使用相当有限,并且通常看起来像理论数学的直接符号被认为比开发计算快捷方式更重要.为了完整起见,我在此列出此内容,以便您可以查看,形成自己的意见,并可以相应地进行投票或评论.


jxh*_*jxh 2

也许您可以使用crypto++中实现GCM 模式的代码(特别是gcm.cpp)。Crypto++ 是一个免费的 C++ 库,实现了许多加密方案。其中包括使用伽罗瓦域算法的GCM。

根据许可证,该库本身受版权保护,而各个源文件则属于公共领域。