【密码学——基础理论与应用】李子臣编著 第八章 SM2公钥密码算法 课后习题

免责声明

这里都是自己搓或者手写的。

里面不少题目感觉有问题或者我的理解有偏颇,请大佬批评指正!

不带思考抄作业的请自动退出,我的并非全对,仅仅提供思维!

题目

逐题解析

知识前提:模运算的分数怎么转整数?

我知道这一点是卡死很多人的点,但是实际上老师根本就不会讲这个细节,我也不指望他们能理解为什么在这里能卡住学生。但是这里确实,懂得就懂,不懂的其实有人指点一下也能秒懂,但是不懂的也没找到怎么懂的,就一直卡死在这里,形成恶性闭环。(以上均为对大学教学问题本身的虾鸡扒扯的胡话,我实在是忍不了我那个密码学老头)

例1:模为p,形如 的分数,且满足a<p,b<p,怎么转整数?

我们知道 ,而在模p的运算下,b^(-1)并不是"b分之一",而是一个在[0,p)范围内的整数。这个整数设为x,那么满足 ,我们解出这个x(不管是暴力还是扩展欧几里得算法,解出来就对了)。

所以,

例2:模为p,形如 的分数,但是a,b至少有一个大于p,怎么转整数?

这一点其实很好回答。那我问你,比如p=11,a=13,b=14。13%p=2,14%p=3,那么我们转成求2/3就可以了。现在你肯定要问:为什么?

我们先把分母遮掉,就假设分母的逆是x。那你总知道13*x=2*x+11*x吧!结果对11取余那不就变成2*x啦?分母也是一样的,14的逆元就(不妨设为y)是2的逆元,因为

例3:如果a或者b有一个小于0,那么怎么办?

直接默认a小于0,那么a转正就行了。比如-2/3 mod 11=(-2+11)/3 mod 11。原理和例2完全一致。

8.1

8.2

输出结果:(0, 0), (0, 1), (0, 18), (2, 7), (2, 12), (5, 6), (5, 13), (7, 3), (7, 16), (9, 6), (9, 13), (10, 2), (10, 17), (13, 8), (13, 11), (14, 2), (14, 17), (15, 3), (15, 16), (16, 3), (16, 16)。

python 复制代码
def findsolution(p,a,b):
    s=[]
    cnt=0
    for i in range(p):
        z=i*i*i+a*i+b
        if 1==pow(z,(p-1)//2,p):
            y1=pow(z,(p+1)//4,p)
            s.append((i,y1))
            cnt+=1
            y2=p-y1
            if y1!=y2:
                s.append((i,y2))
                cnt+=1
    s.append((0, 0))
    cnt+=1
    s.sort()
    return s,cnt

# print(findsolution(11,1,6))训练
print(findsolution(19,1,1))

8.3

笔者不会。

8.4

笔者不会。

8.5

笔者不会。

8.6

相关推荐
搬砖魁首5 小时前
密码学系列 - 零知识证明(ZKP) - 多种承诺方案
密码学·零知识证明·pcs·zkp·承诺方案
努力还债的学术吗喽1 天前
2021 IEEE【论文精读】用GAN让音频隐写术骗过AI检测器 - 对抗深度学习的音频信息隐藏
人工智能·深度学习·生成对抗网络·密码学·音频·gan·隐写
大千AI助手2 天前
艾伦·图灵:计算理论与人工智能的奠基人
人工智能·密码学·图灵·turing·人工智能之父·计算机科学之父·图灵机
openHiTLS密码开源社区3 天前
【密码学实战】国密TLCP协议简介及代码实现示例
密码学·国密·sm2·sm3·sm4·openhitls·tlcp
hrrrrb7 天前
【密码学】6. 消息认证和哈希函数
算法·密码学·哈希算法
hrrrrb7 天前
【密码学】8. 密码协议
密码学
景彡先生8 天前
密码学侧信道攻击(Side-channel Attack):从物理泄露中窃取密钥
密码学
小明的小名叫小明10 天前
区块链技术原理(1) -密码学
区块链·密码学·哈希算法
景彡先生11 天前
基于编码的密码学与Classic McEliece:后量子时代的稳健之选
密码学
白帽程序员猫哥11 天前
漏洞全讲解之中间件与框架漏洞(数字基础设施的“阿喀琉斯之踵“)
网络·安全·web安全·中间件·密码学·渗透