Skip to content

Fi-tang/oop_lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

写在最前 本仓库是关于 GM/T 0044-2016 <<SM9 标识密码算法>> 中扩域计算部分的面向对象代码。 目的是为了提供扩域计算的密码库。 对于 SM9 密码中,我们考虑 素域Fq, q 是256位BN曲线的基域特征值。 需要实现 伽罗瓦域(有限域)Fq 的三次扩张,

分别在Fq这个基域上模 一次不可约多项式,得到 Fq^{2},

在 Fq^{2} 这个域上模 二次不可约多项式,得到 Fq^{4},

在 Fq^{4} 这个域上模 三次不可约多项式,得到 Fq^{12}, 至此扩张完成。 整个过程涉及 Fq 上的元素运算,Fq^{2} 上的元素运算,Fq^{4} 上的元素运算,以及 Fq^{12} 上的元素运算。可以从中抽象出素域,扩域,素域元素,扩域元素。 利用面向对象的思想,将其抽象成为类,通过每个类中的域成员,确定是哪一个域上的加减乘除求逆运算。

如果用向量表示域上的每个元素,那么向量对应的每个坐标,都是其更低一层的域上的元素,从而可以不断调用下层 域元素类中定义的加减乘除求逆运算。 代码的正确性得到充分的验证。

About

三次塔式扩展的域计算

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages