

(1)已知密钥矩阵按图a中所示,若原文为“OK”,则加密后的密文是
(2)根据上述加密算法编写解密程序,运行界面如图c所示。请在划线①②③处填上合适的代码。

def getmm(x,n): #获取位置编号x的位置密钥值
row=(x-1)%n
col=(x-1)//n
if①
row=n-1-row
return key[row][col]
#生成规模为n*n的密钥矩阵,存入二维矩阵key中
n=int(input("请输入密钥矩阵规模n:"))
key=[[i*n+j+l for j in range(n)] for i in range(n)]
#密文解密
p=input("请输入密文: ")
mw=[]
bmz=[]
t=0
for i in range (1en(p)):
#依次读取密文字符串中的数值,结果存入到列表mw中
s=p[i]
if s!=",":
.②
else:
mw. append (t)
t=0
k=len (mw)
for i in range(k//2) : #对密文解密,结果存入列表bmz中
bmz. append (mw [2*i]- ③
yw="
for i in range (k//2): #转换为字母输出
yw=ywtchr (bmz [i]-1+ord("A"))
print("原文为:"+yw)

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

