2022年信息安全工程师下午题
题目
密码学技术也可以用于实现隐私保护,利用加密技术阻止非法用户对隐私数据的未授权访问和滥用。若某员工的用户名为“admin”,计划用RSA 对用户名进行加密,假设选取的两个素数 p=47,q=71,公钥加密指数 e=3。请问:
1)上述 RSA加密算法的私钥是多少?
2)请给出上述用户名的16进制表示的整数值。
3)直接利用(1)中的公钥对(2)中的整数值进行加密是否可行?请简述原因
4)请写出对该用户名进行加密的计算公式
解答:
(1)
n = p*q
n = 3337(模数)
φ(n)= (p-1)*(q-1)
= 3220
e x d = 1 mod φ(n)
3 x d = 1 mod 3220
转化
3d = 3220M+1
当M=0 ,1,2…分别计算d对应的值,d为整数
当M=3的时候,d的值为2147
考点:
(2)十六进制
a对应的十进制 97
d 100
m 109
i 105
n 110
考点:十进制转十六进制
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
255---->转十六进制
255 /16 = 15…15
15 /16 = 0…15
十六进制 FF
876------>转十六进制
876 /16 = 54…12
54 /16 = 3…6
3 / 16 = 0…3
十六进制 36C
admin转十六进制 61 64 6D 69 6E
0x 61646D696E
(3)明文的值大于模数,通过RSA加密之后,加密后得到的密文的数值必定小于n,造成解密数据不正确,得到的值不是原来的明文
(4)公钥(e,n) 私钥(d,n)
加密公式 C = M^e mod n
解密公式 M = C^d mod n
M明文 C 密文