文件数据加密
时间: 1ms 内存:128M
描述:
QQ正在学习RAS算法,她查阅百度发现RSA是一个非对称加密算法,需要一对密钥(n,e1)和(n,e2),其中一个作为公钥为信息加密,另一个作为私钥为信息解密。其中,n是两个大质数p和q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2取值满足,e1与(p-1)*(q-1)互质和(e2*e1)mod((p-1)*(q-1))=1。(n,e1),(n,e2)就是密钥对。其中(n,e1)为公钥,(n,e2)为私钥。
设A为明文(需要加密的数据),B为密文(加密后的数据),则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密)注:B^e2是指B的e2次方。
数据文件encryp.dic中存储了若干个整数,数据之间以空格隔开。
192 497 349 55 364 154 25 337 162 79 ......
你不需考虑n、e1、e2是如何得到的,也不需要考虑解密。为你提供n和e1,请按照加密算法,帮助QQ实现数据文件加密。
输入:
第一行为n和e1,中间以空格隔开。
第二行为需要加密的数据个数m。
输出:
对数据文件encryp.dic按照输入要求输出加密后的数据序列。
示例输入:
15 3
5
示例输出:
3 8 4 10 4
提示:
参考答案:
文章评论