RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。   在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
2021-05-09 17:58:26 116KB rsa 加密 解密
1
利用Java书写的RSA代码实现,很详细,很简单。
2021-05-09 16:52:16 8KB Java RSA 数字签名 加密
1
实践要求: 1. 要求实现 RSA 的密钥生成、数据加密、数字签名。 2. 密钥生成包括生成两个大素数 p,q,计算 n=p×q 和(n)=(p-1)(q-1),然后选择与(n)互素且小于(n) 的整数 e,计算 d=e-1mod (n),最后得到公钥{e, n}和私钥{d, n}。要求 p,q 至少均大于 1010, 将生成的整 数 p、q、n、e、d 分别写入文件 p.txt、q.txt、n.txt、e.txt、d.txt 中。注意,所有整数都必须用 16 进制表 示。必须将整数转化成字符串后再写入文件,例如素数 p=6B1BCF(用 16 进制表示),则写入文件的应是 字符串"6B1BCF"而非整数 6B1BCF。 3. 数据加密是指用公钥{e, n}对指定的明文进行加密。数字签名是指用私钥{d, n}对指定的明文进行加 密。数据加密和数字签名都有一组对应的测试数据,以便检查程序的正确性。要求以命令行的形式,指 定明文文件、密钥文件的位置和名称以及加密完成后密文文件的位置和名称。加密时先分别从指定的明 文文件、密钥文件中读取有关信息,然后进行加密,最后将密文写入指定的密文文件。注意,密文(一个 整数)必须用 16 进制表示。必须将密文(一个整数)转化成字符串后再写入文件,例如密文 c=154A6B(用 16 进制表示),则写入文件的应是字符串"154A6B"而非整数 154A6B。
2021-05-09 13:57:24 397KB RSA 代码 密码学实验
1
RSA加密,带图形界面
2021-05-09 13:00:14 12KB RSA加密 信息安全 加密算法
AES和RSA算法实验的实验报告.希望可以帮到大家的忙。多谢各位的支持。
2021-05-08 20:23:20 384KB AES算法 实验报告 RSA算法
1
RSA,DES加解密代码,解决超长内容加解密报错问题
2021-05-08 19:02:38 5KB java rsa 加密解密
mathematica编写的RSA加密算法,对加密算法有兴趣的人可以看看,思路和注释都很清晰。
2021-05-07 20:42:44 8KB RSA密码 mathematica
1
用Python3实现RSA加解密,可以对字母、数字、汉字等进行加解密
2021-05-07 17:54:13 2KB rsa python
1
python3 实现js中JSEncrypt encrypt方法,rsa模块根据字符串公钥生成加密字符串 使用时直接调用rsa_encrypt(s, pubkey_str)方法就好了,第一个参数为待加密字符串,第二个参数为公钥,返回值为加密后的字符串 其中_str2key(s)方法是在https://www.cnblogs.com/masako/p/7660418.html这篇文章的基础上做了细微改动,可能是由于python版本问题,原文章中的代码在python3.7中无法直接使用
2021-05-07 17:48:52 925B python3  字符串加密 python3 加密
1
RSA AES DES ECC加密算法源码 MFC编程实现
2021-05-07 10:17:11 152KB RSA AES DES ECC
1