用JAVA实现RSA算法的加密解密 跪求 50
题目很简单的一道用JAVA实现RSA加密解密的题已经给了(publickey)P=37Q=47(encryptionkey)E=5首先要用程序算出(decryptionk...
题目很简单的一道用JAVA实现RSA加密解密的题
已经给了(public key)P=37 Q=47 (encryption key)E=5 首先要用程序算出
(decryption key)D, 然后第二个要用E加密,并打印出结果,第三是要用D来解密,并打印出原来的那个数据。
由于小弟刚学不久 所以需要高手们尽量不用复杂的语言 或者高级的数学语言 如果适用的话 会给额外的10分。
最简单并且正确的 将给10分的加分
这里有原题 是英文的。。
[70 points] Write a program to encrypt/decrypt messages using RSA algorithm. This program needs to
show an interface for the user to choose the work to do
1. Initialization
2. Encryption
3. Decryption
4. Quit
When the user chooses 1, the program reads P, Q, and E from the console and then prints out the
decryption key – D. When the user chooses 2, the program reads an integer, uses the encryption key E
and RSA algorithm to encrypt this integer, and prints out the encryption result. When the user chooses
3, the program reads an encrypted integer, uses the decryption key D and RSA algorithm to decrypt
this integer, and prints out the original data. When the user chooses 4, the program quits execution.
To help you test your code, here is one set of P, Q, and E. P = 37, Q = 47, E = 5. Of couses, you
want to see if your code can encrypt an integer and successfully decrypt it.
Page 2 展开
已经给了(public key)P=37 Q=47 (encryption key)E=5 首先要用程序算出
(decryption key)D, 然后第二个要用E加密,并打印出结果,第三是要用D来解密,并打印出原来的那个数据。
由于小弟刚学不久 所以需要高手们尽量不用复杂的语言 或者高级的数学语言 如果适用的话 会给额外的10分。
最简单并且正确的 将给10分的加分
这里有原题 是英文的。。
[70 points] Write a program to encrypt/decrypt messages using RSA algorithm. This program needs to
show an interface for the user to choose the work to do
1. Initialization
2. Encryption
3. Decryption
4. Quit
When the user chooses 1, the program reads P, Q, and E from the console and then prints out the
decryption key – D. When the user chooses 2, the program reads an integer, uses the encryption key E
and RSA algorithm to encrypt this integer, and prints out the encryption result. When the user chooses
3, the program reads an encrypted integer, uses the decryption key D and RSA algorithm to decrypt
this integer, and prints out the original data. When the user chooses 4, the program quits execution.
To help you test your code, here is one set of P, Q, and E. P = 37, Q = 47, E = 5. Of couses, you
want to see if your code can encrypt an integer and successfully decrypt it.
Page 2 展开
2个回答
展开全部
#####################################
我已经说的很清楚了。。。只要把我说的用程序写下来,加个菜单就行了。。。要是这样都不会的话。。。那就当我没说了。。。
####################################
RSA。。。难道你自己建立PKI,否则没法弄。。。
你说这个题。。直接手算的了。。。又不是大数
N = P * Q = 1739
N的欧拉函数
F(N) = ( p - 1 ) * ( Q - 1 ) = 1656
然后算模拟嘛。。。5 模 1656的逆。。。
1656 = 1 + 1655 = 1 + 5 * 331
所以5模1656的逆就是-331 = 1656 - 331 = 1325
所以D = 1325啦
你要加密你至少告诉我明文是什么吧。。。。
如果加密明文M的话,密文C = M 模 1739的E次幂
解密是M = C 模1739的D次幂
小数直接手算啦~费马小定理,从左向右计算,可以简化一部分计算,不过你这个题已经差不多最简化了。。。。你这个题实际上就是用来手算的。真正RSA一般人根本做不出来,光是素性检验就很麻烦了。。而且就算你能实现,你有PKI吗???没有PKI。。。RSA的安全从何而来???
我们也上学期刚学的密码。。。呵呵~~~有问题继续问。。。现在无聊啊。。
我已经说的很清楚了。。。只要把我说的用程序写下来,加个菜单就行了。。。要是这样都不会的话。。。那就当我没说了。。。
####################################
RSA。。。难道你自己建立PKI,否则没法弄。。。
你说这个题。。直接手算的了。。。又不是大数
N = P * Q = 1739
N的欧拉函数
F(N) = ( p - 1 ) * ( Q - 1 ) = 1656
然后算模拟嘛。。。5 模 1656的逆。。。
1656 = 1 + 1655 = 1 + 5 * 331
所以5模1656的逆就是-331 = 1656 - 331 = 1325
所以D = 1325啦
你要加密你至少告诉我明文是什么吧。。。。
如果加密明文M的话,密文C = M 模 1739的E次幂
解密是M = C 模1739的D次幂
小数直接手算啦~费马小定理,从左向右计算,可以简化一部分计算,不过你这个题已经差不多最简化了。。。。你这个题实际上就是用来手算的。真正RSA一般人根本做不出来,光是素性检验就很麻烦了。。而且就算你能实现,你有PKI吗???没有PKI。。。RSA的安全从何而来???
我们也上学期刚学的密码。。。呵呵~~~有问题继续问。。。现在无聊啊。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |