作业练习 课程基本信息 学科 信息技术 年级 高二 学期 春季 课题 数据加密与安全 教科书 书 名:《信息系统与社会》教材 -出卷网-:浙江教育-出卷网- 作业练习 1.在设置无线网络的密码时,以下相对安全性最高的是( ) A. 12345678 B. accedenf C. ace_h@12 D. 1n3k6h89 2.在密码学中,需要被变换的原消息被称为( ) A.密文 B.算法 C.密码 D.明文 3.一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,其安全性主要由( ) A.密文决定 B.加密算法决定 C.解密算法决定 D.密钥决定 4.换位密码是指( ) A.把明文中的各字符的位置次序重新排列得到密文的一种密码体制 B.把明文中的各字符替换为其他字符得到密文的一种密码体制 C.在明文中的各字符之后增加其他字符得到密文的一种密码体制 D.把明文中的字符适当减少后得到密文的一种密码体制 5.对称密码体制与非对称密码体制的最大区别在于( ) A.算法的密钥强度不同 B.算法的安全性不同 C.算法实现难易度不同 D.加密密钥与解密密钥是否相同 6.使用凯撒密码进行加密,其密钥为k=3,将明文“zhongguo”加密后,密文为( )A.guozhong B. ngguozho C.ckrqijxr D. welkddrl 7. 小明根据换位密码的算法,用Python实现了一个简单的换位密码程序,程序代码如下: code=input("请输入需要换位密码算法加密的字符串:") key=int(input("请输入偏移位数:")) code_new="" for i in range(len(code)): code_new=code_new+code[i+key] print("密文为:",code_new) 小明尝试运行后,Python编译器给出以下错误提示: Traceback (most recent call last): File "C:/Users/admin/Desktop/jiami.py", line 5, in code_new=code_new+code[i+key] IndexError: string index out of range (1)有问题的代码行号是 ,对应正确的代码(空格不用写)是 。 (2)输入字符串为“abcd",输入偏移位数为1,则输出为 。 8.某加密程序的Python程序段如下: def encrypt(code,key): code_new="" for s in code: sl=97+((ord(s)-97)+key)%26 code_new+=chr(s1) return code_new c=input('code=') b=encrypt(c,3) print(b) (1)函数encrypt中所用的加密算法是 。 (2)如果从键盘输入的字符串c为“student”,那么输出的字符串为 。 (3)该程序段存在哪些不足之处?该如何改进? 不足之处: 改进措施: 答案:1.C 2.D 3.D 4.A 5.D 6.C 7.(1)5 code_new=code_new+code[(i+key)%len(code)] (2)bcda 分析:假如输入字符串abcd,输入偏移位数为2,程序执行过程中,i从0递增到3,会发生越界问题,编译器抛出,字符串的索引越界错误。例如,“code[4]”就会报错。 8.(1)替代密码 (2)vwxghqw (3)不足之处:程序的容错不够,比如输入的明文如果不是小写字母的话,输出就有误。 改进措施:对输入的字符做一个合法性检测。 ... ...
~~ 您好,已阅读到文档的结尾了 ~~