学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
某种数据加密方法描述如下(加密前后的数值都是0-255):
以m个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于m)为独立数据段。
数据加密规则:
数据个数等于m的数据段,先进行值变换,再进行位置变换,得到加密数据段。
数据个数小于m的数据段,只进行值变换,直接得到加密数据段。
依次合并加密数据段,即为最后的加密数据。
值变换:用值变换密钥数组x(元素个数为m,值为0~255的整数),将待加密数据段中的数据进行值变换,方法如下:
值变换后第i个元素=(待加密数据段第i个元素+x(i))Mod 256,其中i=1,2,……,m
位置变换:用位置变换密钥数组y(元素个数为m,值为1~m的不重复整数),将上述
值变换后的m个元素进行段内位置变换,方法如下:
加密后数据段第y(i)个元素=值变换后第i个元素,其中i=1,2,……,m
例如,n=5,m=3的数据加密过程如下:

(1)已知m=3,数组x与数组y中的数据如下表所示。则待加密数据段“155,1,250”加密后的数据段为______________(填数据,用逗号分隔)
x(1)
x(2)
x(3)
 
y(1)
y(2)
y(3)
10
20
30
 
3
1
2
 
(2)小张根据上述加密算法,设计了一个对应的解密程序,其VB代码如下,请在划线处填入合适的代码(解密与加密使用相同的密钥数据)
Private Sub Command1_Click()

Const n = 100

Const m = 6

Dim i As Integer, j As Integer

Dim a(1 To n) As Integer, b(1 To n) As Integer

Dim x(1 To n) As Integer, y(1 To n) As Integer

'读取值变换与位置变换密钥数据,分别保存在数组 x 与 y 中,代码略

'读取待解密数据,保存在数组 a 中,代码略

'下面进行位置变换:位置变换后数据保存到数组 b 中

For i = 1 To ______
For j = 1 To m
_________
Next j
Next i
For i = (n \ m) * m + 1 To n
b(i) = a(i)
Next i
'下面进行值变换:值变换后数据仍保存到数组 b 中
j = 1
For i = 1 To n
b(i) = ________
j = j + 1
If j > m Then j = 1
Next i
'输出解密后数据,代码略
End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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

用户名称
2019-09-19

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

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交