二、练习1 数据加密与安全课时练(含答案) 2025-2026学年高中信息技术 必修2 信息系统与社会

资源下载
  1. 二一教育资源

二、练习1 数据加密与安全课时练(含答案) 2025-2026学年高中信息技术 必修2 信息系统与社会

资源简介

二、 信息系统安全与防护
二、练习1 数据加密与安全
1. 基于密码技术的访问控制主要目的是防止( A )
A. 数据传输泄密 B. 数据传输丢失
C. 数据交换失败  D. 数据备份失败
【解析】 数据通过公共信道传输,数据面临着被非授权读取、截获、篡改、伪造等一系列安全问题,A正确。
2. 下列关于密码的说法,错误的是( D )
A. 密码体制是指明文、密文、密钥以及实现加密和解密算法的一套软件和硬件机制
B. 密码体制可以分为对称密码体制和非对称密码体制
C. 若一种加密方法的加密密钥和解密密钥相同,则称为对称密码体制或单钥密码体制
D. 在非对称密码体制中,著名的加密算法是DES算法
【解析】 DES加密算法属于对称密码体制,D符合题意。
3. 用简单异或加密法对明文“1011”进行加密,得到的密文为“1001”,则密钥是( A )
A. 0010 B. 1010
C. 1101  D. 0011
【解析】 异或运算时要求把参与运算的数转换为二进制数再进行按位运算,如果两个值不相同,那么异或结果为1,如果两个值相同,那么异或结果为0,根据运算规则反推可知密钥为0010,A正确。
4. 下列关于信息安全的说法,正确的是( B )
A. 所有人都可以使用智能手环,没有必要鉴别用户身份
B. 为保障信息安全,应给不同用户分配不同的权限
C. 智能手环中的运动数据存储于数据库中,不可能丢失
D. 将运动记录发布至朋友圈,不存在信息泄露的风险
【解析】 本题考查信息安全知识。需要进行身份认证,A错误;存储在数据库中的数据也可能丢失,C错误;将个人相关数据发布到社交平台就存在信息泄露的风险,D错误。
5. 凯撒加密:假设密文字母表是由正常顺序的明文字母表向右移3个字母得到,则明文“CAT”加密后得到的密文为( A )
A. FDW B. fdw
C. ECY D. ecy
【解析】 根据加密规则,字母表是由正常顺序的明文字母表向右移动3个字母,即字母C变为F,A变为D,而T在移位后变为W,密文为FDW,A正确。
6. 为确保信息安全,信息需加密传输,发送方由明文→密文(加密),接收方由密文→明文(解密)。已知有一种密码,当字符是英文字母时,用该英文字母的后一个字母替换,同时字母变换大小写,如字母为a时则替换为B,字母为Z时则替换为a;若字符是数字时,则把该数字加2,如0替换为2,1替换为3,8替换为0;其他字符不变。解密过程与之相反。按上述规定,密文“zFBS 30”所对应的明文是( A )
A. Year 18 B. Agct 52
C. aGCT 52  D. yEAR 18
【解析】 由“字母为a时则替换为B,字母为Z时则替换为a”可知,遇到字母首先进行大小写转换,大写变小写,小写变大写,再向右移动1位,遇到数字则加2,解密过程与之相反,A正确。
7. 明文“dog”经过凯撒密码加密输出一串密文“jum”。下列关于加密过程的表示,正确的是( B )
A. Ci=EK1(Pi)=(Pi-6)% 26
B. Ci=EK1(Pi)=(Pi+6)% 26
C. Ci=EK1(Pi)=(Pi+3)% 26
D. Ci=EK1(Pi)=(Pi+6)% 6
【解析】 d转换成j,需要右移6个字母,B正确。
8. 异或( )运算也叫半加运算,其运算法则是0 0=0,1 0=1,0 1=1,1 1=0(即相同为 0,不同为 1)。下列两个十六进制数进行按位异或运算后,结果值为 1 的是( C )
A. 13H 14H B. 18H 17H
C. 15H 14H  D. A8H A7H
【解析】 首先转换成二进制再进行异或操作,C正确。
A B
13H=00010011B 18H=00011000B
14H=00010100B 17H=00010111B
111B=7D 1111B=15D
C D
15H=00010101B A8H=10101000B
14H=00010100B A7H=10100111B
1B=1H 1111B=15D
9. 使用凯撒密码进行加密,其密钥为3,将明文“python”加密后,密文为( C )
A. nohtyp B. ptoyhn
C. sbwkrq  D. tcxlsr
【解析】 凯撒密码是一种简单的替代密码,通过替代来实现加密;例如,密文字母表是由正常顺序的明文字母表右移3个字母得到的,对于明文“h”,由此可得到的密文是“k”,C正确。
10. 某数据的加密方法如下:(1)将字符的 ASCII 码值以字节为单位进行加密处理;(2)将 1 个字节的 8 位二进制数向左移 2 位,最低位用左移出的 2 个最高位补充;(3)将二进制数转化为十六进制数,即为该字符的密文。如图所示,用UltraEdit软件观察“选考,Fighting!”这几个字符的内码。则字符“j”加密后的密文是( B )
A. C1H B. A9H
C. 2BH D. 83H
【解析】 i的内码是69H,则j的内码是6AH,转换成二进制数为01101010B;将 1 个字节的 8 位二进制数左移 2 位,最低位用左移出的 2 个最高位补充,结果为10101001B,转化为十六进制数为A9H,B正确。
11. (2022·浙江学考)有如下Python程序段:
p="Tel-114"
c=""
for ch in p:
  if ch>="0" and ch<="9":
c+=str(9-int(ch))
  elif ch>="a" and ch<="z":
c+=chr(ord(ch)-ord("a")+ord("A"))
  else:
c+=ch
print(c)
执行该程序,输出的结果为( D )
A. tEL-885 B. tEL-114
C. TEL-114  D. TEL-885
【解析】 该Python程序实现如下功能:若ch为数字字符,那么加密后字符的数值和原数字字符的数值相加的结果为9;若ch为小写字母,那么加密后的字符为原小写字母对应的大写字母;若ch为除数字字符和小写字母外的其他字符,那么加密后的字符与原ch相比保持不变。需加密字符串为“Tel-114”,那么按加密规则,程序运行后得到的输出结果为TEL-885,D正确。
12. 在信息传递的过程中,通常会将一些敏感信息进行加密,以下是实现加密功能的Python程序段。
s=input("明文:")
p="";key=2
for ch in s:
  if "0"<=ch and ch<="9":
    p+=str((int(ch)+key)%10)
  else:
    p=ch+p
print("密文:", p)
若输入的明文为“ym587”,则输出的密文为( C )
A. ym785 B. ym709
C. my709 D. my907
【解析】 本题考查加密解密知识点的程序代码理解。根据代码可知,遇到明文中的数字字符,循环右移2位并顺序组合,所以5→7,8→0,7→9遇到其他字符则逆序组合得到密文;所以答案为my709,C正确。
13. 凯撒加密法是一种简单的替代密码,通过换位来实现加密。例如,密文字母表是由明文字母表向右移3个字母得到的,如对于明文“h”, 向右移3个字母得到的密文是“k”; 明文“y”,向右移3个字母得到的密文是“b”。从键盘上输入需要加密的字符(小写或大写字母)、向右移动的字母个数,输出凯撒密码。python程序如下:
s=input("请输入加密字符:")
key=int(input("请输入向右移动的字母个数:"))
result=""
for i in s:
  m=①ord(i)
  if 65<=m<=90:
    m=(m+key-65) % 26+65
  elif ②97<=m<=122:
③m=(m-97+key) % 26+97
  result= result+chr(m)
print(result)
(1)请在画线处填入正确的代码。
(2)若输入的加密字符为“zHongGUo”,key=3,则输出的值为  cKrqjJXr 。
【解析】 (1)①对于输入的字符串,从第1个字符到最后1个字符,首先判断每1个字符是否为大写或小写字母,程序是通过判断该字符的ASCⅡ码值的范围来实现,①处填:ord(i)。②首先判断字符是否为大写字母,如果不是大写字母,再判断字符是否为小写字母,②处填:97<=m<=122。③如果是小写字母,该字母的位置序号(从字母a到字母z的位置)为:m-97,向后移动key 得m-97+key。如果结果大于等于26,又从0开始,用表达式表示该字母的位置序号为:(m-97+key) % 26,最后计算出该字母的ASCⅡ码值m,m=(m+key-97) % 26+97。③处填:m=(m-97+key) % 26+97。(2)若输入的加密字符为“zHongGUo”,key=3,根据该加密算法,可得密码为“cKrqjJXr”。
14. 小王编写了一个简单的英文文本加密程序,他的基本思想是先输入明文到字符串mw,再输入一个整数作为密钥并保存到key中。对mw中的所有字符,分两种情况进行处理:若是英文字母,则寻找之前(即左移)的第key个字母作为密文字符,如当key为2时,字符c对应的密文字符为a,字符D对应的密文字符为B,而字符B对应的密文字符为Z,而字符A对应的密文字符为Y;若是非英文字母,则保留原字符作为密文字符。将所有密文字符按原顺序输出就是加密后的文本。实现上述功能的Python程序代码如下,如图所示为该程序运行结果:
请输入明文文本:Happy 10.11
请输入整数密钥:3
加密后文本为:Exmmv 10.11
>>>
(1)若输入的明文文本为“Abc123!”,且密钥为2,则加密后的文本为Yza123! 。
(2)请在画线处填入正确的代码。
(3)加框处的代码有误,请改正。
【答案】 chr((ord(s)-k-base)%26 + base)
def encode(s,k):
  if ① A <=s<= Z :
    base = ord("A")
  else:
    base = ord("a")
  return chr((ord(s)- k)%26 + base) #改错
mw = input("请输入明文文本:")
key = int(input("请输入整数密钥:"))
res =
for c in mw:
  if  A <=c<= Z or a <=c<= z : 
    ②res = res + encode(c,key)
  else:
    res = res + c
print("加密后文本为:",res)
【解析】 (1)根据加密规则可知答案为Yza123!。(2)①由后面的代码可知,此处的字符是大写字母,表达式如上。②根据下文可知,此处是关于res的表达式,还需要调用自定义函数encode。(3)变量base是基准值,大写字母是65,小写字母是97,在%操作前,减k后,需要再减去基准值base。(共22张PPT)
二、 信息系统安全与防护
练习1 数据加密与安全
第三章 信息系统安全
信息技术 必修2 信息系统与社会
必备知识练
1. 基于密码技术的访问控制主要目的是防止(  )
A. 数据传输泄密 B. 数据传输丢失
C. 数据交换失败  D. 数据备份失败
【解析】 数据通过公共信道传输,数据面临着被非授权读取、截获、篡改、伪造等一系列安全问题,A正确。
A
2. 下列关于密码的说法,错. 误. 的是(  )
A. 密码体制是指明文、密文、密钥以及实现加密和解密算法的一套软件和硬件机制
B. 密码体制可以分为对称密码体制和非对称密码体制
C. 若一种加密方法的加密密钥和解密密钥相同,则称为对称密码体制或单钥密码体制
D. 在非对称密码体制中,著名的加密算法是DES算法
【解析】 DES加密算法属于对称密码体制,D符合题意。
D
3. 用简单异或加密法对明文“1011”进行加密,得到的密文为“1001”,则密钥是(  )
A. 0010 B. 1010
C. 1101  D. 0011
【解析】 异或运算时要求把参与运算的数转换为二进制数再进行按位运算,如果两个值不相同,那么异或结果为1,如果两个值相同,那么异或结果为0,根据运算规则反推可知密钥为0010,A正确。
A
4. 下列关于信息安全的说法,正确的是(  )
A. 所有人都可以使用智能手环,没有必要鉴别用户身份
B. 为保障信息安全,应给不同用户分配不同的权限
C. 智能手环中的运动数据存储于数据库中,不可能丢失
D. 将运动记录发布至朋友圈,不存在信息泄露的风险
【解析】 本题考查信息安全知识。需要进行身份认证,A错误;存储在数据库中的数据也可能丢失,C错误;将个人相关数据发布到社交平台就存在信息泄露的风险,D错误。
B
5. 凯撒加密:假设密文字母表是由正常顺序的明文字母表向右移3个字母得到,则明文
“CAT”加密后得到的密文为(  )
A. FDW B. fdw
C. ECY D. ecy
【解析】 根据加密规则,字母表是由正常顺序的明文字母表向右移动3个字母,即字母C变为F,A变为D,而T在移位后变为W,密文为FDW,A正确。
A
6. 为确保信息安全,信息需加密传输,发送方由明文→密文(加密),接收方由密文→明文(解密)。已知有一种密码,当字符是英文字母时,用该英文字母的后一个字母替换,同时字母变换大小写,如字母为a时则替换为B,字母为Z时则替换为a;若字符是数字时,则把该数字加2,如0替换为2,1替换为3,8替换为0;其他字符不变。解密过程与之相反。按上述规定,密文“zFBS 30”所对应的明文是(  )
A. Year 18 B. Agct 52
C. aGCT 52  D. yEAR 18
【解析】 由“字母为a时则替换为B,字母为Z时则替换为a”可知,遇到字母首先进行大小写转换,大写变小写,小写变大写,再向右移动1位,遇到数字则加2,解密过程与之相反,A正确。
A
7. 明文“dog”经过凯撒密码加密输出一串密文“jum”。下列关于加密过程的表示,正确的是(  )
A. Ci=EK1(Pi)=(Pi-6)% 26
B. Ci=EK1(Pi)=(Pi+6)% 26
C. Ci=EK1(Pi)=(Pi+3)% 26
D. Ci=EK1(Pi)=(Pi+6)% 6
【解析】 d转换成j,需要右移6个字母,B正确。
B
8. 异或( )运算也叫半加运算,其运算法则是0 0=0,1 0=1,0 1=1,1 1=
0(即相同为 0,不同为 1)。下列两个十六进制数进行按位异或运算后,结果值为 1 的是
(  )
A. 13H 14H B. 18H 17H
C. 15H 14H  D. A8H A7H
【解析】 首先转换成二进制再进行异或操作,C正确。
A B
13H=00010011B 18H=00011000B
14H=00010100B 17H=00010111B
111B=7D 1111B=15D
C D
15H=00010101B A8H=10101000B
14H=00010100B A7H=10100111B
1B=1H 1111B=15D
C
9. 使用凯撒密码进行加密,其密钥为3,将明文“python”加密后,密文为(  )
A. nohtyp B. ptoyhn
C. sbwkrq  D. tcxlsr
【解析】 凯撒密码是一种简单的替代密码,通过替代来实现加密;例如,密文字母表是由正常顺序的明文字母表右移3个字母得到的,对于明文“h”,由此可得到的密文是“k”,C正确。
C
10. 某数据的加密方法如下:(1)将字符的 ASCII 码值以字节为单位进行加密处理;(2)将 1 个字节的 8 位二进制数向左移 2 位,最低位用左移出的 2 个最高位补充;(3)将二进制数转化为十六进制数,即为该字符的密文。如图所示,用UltraEdit软件观察“选考,
Fighting!”这几个字符的内码。则字符“j”加密后的密文是(  )
A. C1H B. A9H
C. 2BH D. 83H
【解析】 i的内码是69H,则j的内码是6AH,转换成二进制数为01101010B;将 1 个字节的 8 位二进制数左移 2 位,最低位用左移出的 2 个最高位补充,结果为10101001B,转化为十六进制数为A9H,B正确。
B
11. (2022·浙江学考)有如下Python程序段:
p="Tel-114"
c=""
for ch in p:
  if ch>="0" and ch<="9":
c+=str(9-int(ch))
  elif ch>="a" and ch<="z":
c+=chr(ord(ch)-ord("a")+ord("A"))
  else:
c+=ch
print(c)
执行该程序,输出的结果为(  )
A. tEL-885 B. tEL-114
C. TEL-114  D. TEL-885
【解析】 该Python程序实现如下功能:若ch为数字字符,那么加密后字符的数值和原数字字符的数值相加的结果为9;若ch为小写字母,那么加密后的字符为原小写字母对应的大写字母;若ch为除数字字符和小写字母外的其他字符,那么加密后的字符与原ch相比保持不变。需加密字符串为“Tel-114”,那么按加密规则,程序运行后得到的输出结果为TEL-885,D正确。
D
关键能力练
12. 在信息传递的过程中,通常会将一些敏感信息进行加密,以下是实现加密功能的Python程序段。
s=input("明文:")
p="";key=2
for ch in s:
  if "0"<=ch and ch<="9":
    p+=str((int(ch)+key)%10)
  else:
    p=ch+p
print("密文:", p)
若输入的明文为“ym587”,则输出的密文为(  )
A. ym785 B. ym709
C. my709 D. my907
【解析】 本题考查加密解密知识点的程序代码理解。根据代码可知,遇到明文中的数字字符,循环右移2位并顺序组合,所以5→7,8→0,7→9遇到其他字符则逆序组合得到密文;所以答案为my709,C正确。
C
13. 凯撒加密法是一种简单的替代密码,通过换位来实现加密。例如,密文字母表是由明文字母表向右移3个字母得到的,如对于明文“h”, 向右移3个字母得到的密文是“k”; 明文“y”,向右移3个字母得到的密文是“b”。从键盘上输入需要加密的字符(小写或大写字母)、向右移动的字母个数,输出凯撒密码。python程序如下:
s=input("请输入加密字符:")
key=int(input("请输入向右移动的字母个数:"))
result=""
for i in s:
  m=①____________
  if 65<=m<=90:
    m=(m+key-65) % 26+65
  elif ②____________:
③________________________
  result= result+chr(m)
print(result)
(1)请在画线处填入正确的代码。
(2)若输入的加密字符为“zHongGUo”,key=3,则输出的值为 ____________。
97<=m<=122
ord(i)
m=(m-97+key) % 26+97
cKrqjJXr
【解析】 (1)①对于输入的字符串,从第1个字符到最后1个字符,首先判断每1个字符是否为大写或小写字母,程序是通过判断该字符的ASCⅡ码值的范围来实现,①处填:ord(i)。②首先判断字符是否为大写字母,如果不是大写字母,再判断字符是否为小写字母,②处填:97<=m<=122。③如果是小写字母,该字母的位置序号(从字母a到字母z的位置)为:m-97,向后移动key 得m-97+key。如果结果大于等于26,又从0开始,用表达式表示该字母的位置序号为:(m-97+key) % 26,最后计算出该字母的ASCⅡ码值m,m=(m+key-97) % 26+97。③处填:m=(m-97+key) % 26+97。(2)若输入的加密字符为“zHongGUo”,key=3,根据该加密算法,可得密码为“cKrqjJXr”。
14. 小王编写了一个简单的英文文本加密程序,他的基本思想是先输入明文到字符串mw,再输入一个整数作为密钥并保存到key中。对mw中的所有字符,分两种情况进行处理:若是英文字母,则寻找之前(即左移)的第key个字母作为密文字符,如当key为2时,字符c对应的密文字符为a,字符D对应的密文字符为B,而字符B对应的密文字符为Z,而字符A对应的密文字符为Y;若是非英文字母,则保留原字符作为密文字符。将所有密文字符按原顺序输出就是加密后的文本。实现上述功能的Python程序代码如下,如图所示为该程序运行结果:
请输入明文文本:Happy 10.11
请输入整数密钥:3
加密后文本为:Exmmv 10.11
>>>
(1)若输入的明文文本为“Abc123!”,且密钥为2,则加密后的文本为____________。
Yza123!
(2)请在画线处填入正确的代码。
(3)加框处的代码有误,请改正。
【答案】 chr((ord(s)-k-base)%26 + base)
def encode(s,k):
  if ①____________:
    base = ord("A")
  else:
    base = ord("a")
  return  #改错
mw = input("请输入明文文本:")
key = int(input("请输入整数密钥:"))
res =
for c in mw:
  if  A <=c<= Z or a <=c<= z : 
    ②____________________________
  else:
    res = res + c
print("加密后文本为:",res)
chr((ord(s)- k)%26 + base)
res = res + encode(c,key)
A <=s<= Z
【解析】 (1)根据加密规则可知答案为Yza123!。(2)①由后面的代码可知,此处的字符是大写字母,表达式如上。②根据下文可知,此处是关于res的表达式,还需要调用自定义函数encode。(3)变量base是基准值,大写字母是65,小写字母是97,在%操作前,减k后,需要再减去基准值base。

展开更多......

收起↑

资源列表