- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二:有限域 GF?8上的加减乘除运算实现
姓名
韦能龙
班级
11信息安全
学号实验目的
通过上机操作,使学生对有限域的概念、性质及运算有一个充分的认识,为接下来现代密码 学的学习打好基础。
实验内容及要求
1、 学生自己生成一个有限域 GF28并输岀
2、 在生成的有限域中,随机选取两个元素进行加减乘除运算并输岀结果
实验结果(可续页)(包括实验代码、实验结果)
思路:
本实验需要解决的几个问题:
1、 用什么方法存储多项式最好?
我用的是向量来储存多项式,比如:
plo yn temp ;
temp.push_back(make_pair(1,0));
说明多项式temp中只有一项,为xA0,
如果再执行 temp.push_back(make_pair(1,4));
则多项式temp变为xA0+xA4
make_pair中第一个兀素是系数,第二个是次数
2、 怎么牛生成域?
用递归生成,我们知道成域 GFpn会有2的n次方个兀素,只要能求出 2的n-1个,
就可以求出2的n个
因为当为n时,n-1中的每一个多项式添加一个 xAn次方就可以了。
3、 实现四则运算,尤其是在乘法和除法时,还有一个模运算的?
因为是在二维的情形下啊的,所以实验中的加法减法的答案是同一个,
至于乘法,乘出来的多项式的次数每循环一次都会减小至少 1,所以最终会小于 8的
除法就是先求逆,因为我们知道域中的每个多项式都会有逆而且逆唯一并就在域中, 所以
用穷搜素的方法在于中
一个一个试,只要相乘模 xA8+xA4+xA3+x+1为1的就是逆。
1、学生自己生成一个有限域 GF28并输岀,如下图:
该域总共有256个元素,它们是: 6 1 八
1+x"1 x 2 1+xa2 x'1+x"2 1+x'l*x"2 x"3 1+x"3 xC Y3 1+x"l*x"3 x 2+x 3 1*xa2*x"3
1+x^l+x^2+x^3 x"4 1+x"4 x'1+x> 1+xA1*x> x'2+x"4 l+x'2+x^M x"1+x"2+x^ 1+x"1*x^2+x^ x'3*x>
x"Hx"2+x^ 1+x"1+x^2+x"4 x'3+x"M 1+xa3+xa4 x"1+x"3+x"M 1+x"l+x"3+x^4 ,"2+, W4 1+xa2+x"3+x"4 x^1+x'2*x'3+x> 1*x'1*x'2+x'3+x'H x 5 1+xa5 x'l+x'5 1+x^1+x"5
>A J
x 2+x 5 1+xW5 x'1+x'2+x'5 Hx^1+x"2+x"5 x“3+x"5 1+xW5 x'Hx'3+x'5 1+x^1*x"3+x"5 x'2*x"3+x'5 1+x"2*x"3+x"5 x'1+x'2*x'3+x"5
X
<
X
? o
X
Aj
<
2x2?H0?\ypJV£50^l2gT0rMe+y+*y 址力ROFva ?■
r-
h- x
in
cm x in
< ? X I J/
< - X ■ + <
X s
x
Ep
rrrrrTFIr
X r- X CJ ? < ?“ 一 X Z X
2x2ro?\ypJV侶50z\ls苦10字匕*己\址群冈亦va?■
夏.Inllj
2X2." 10?\y eJVQW lo'ls苦 TOrMe +y? * y 址fi$ROFxh
^<x*w<xi<XA<x^<x*r
+ a ■
x in x in 4* < + <
m x x
??- < ? x h x h
? < + ? 才x — x
< 4- < ?
x — x z 仆 4 <
+ +\c i 1201 OHiSVO13\Rde0se\2O13.exE l' - 1?
x"2+x"H+k"5+x"6*k"7
1+x^2+xA4++x*5+x"6+xa? x"1+x"2+x"4+x"5*k"6+x"7 1+x"1+x"2+x"4+x"5+k"6+x"7 x^3+x^H+x"5+x^+x"7
1 +xrt3+x**?-4c*5+xA&*?*T x"1+x"3+x^4+x"5+x"6+x"? 1+<1+x*3*k"4+x*5+k*6*m*7 t"2+x*3*?*4*x"5+x*G+xAT l+x^2+x~3+x"H+x"5+x"6+x"7 x"1+x"^+k^3*x^+k*5*x"6+x"7 1+xa1 +)c"2+x*3+x'i?+k'5+x'6+kaT
2、任选两个多项式进行四则运算:
x 1+k 2+x 3*x 5+)t 6+x T
1 +x*1 +m*2+x^3+x*M+x*5*x*?+x* ? 逋机选的两个多顼式为:
^3+x 5+x"7 I+jc*1+h*2+x*4
两平多项式相加为.
1 *x* 1 tx*2+
文档评论(0)