14 个解决方案
#1
百度搜相关关键字。
#2
百度能找到的都是一些简单的rsa加密实现,秘钥很小,并且没有pkcs填充算法,java那边是用1028生成的秘钥,百度和google我都找了,百度根本没有,Google相关的回复也很少
#3
#4
各位大佬我需要不调用库(OpenSSL),纯C自己实现,谢谢
#5
把OpenSSL中的代码抄出来...
#6
能找到RSA源码吗?如果能找到是不是就可以破译了呢?
#7
OpenSSL是用源码,官方的库文件中源码中仍然有封装的接口函数,并且OpenSSL太大,破解起来难度更高
#8
也就写个 大数运算库, 没啥麻烦的, 就是简单写的跑的有点慢, 网上很多的, 随便找一个, 不需要动态内存分配的也很好找, 我写了个跑 secp256k1 还行, 跑 RSA 解密/签名就慢的没边了...
你那CPU是 ARM 的吧, ARM 的移植 gmp 好, 这个跑的快 ...
你那CPU是 ARM 的吧, ARM 的移植 gmp 好, 这个跑的快 ...
#9
大数运算开源代码这个世界上目前至少有100个版本,我猜。
#10
我猜101种至少~
#11
之前做项目时想自己实现一下RSA加密算法,但是在大数运算上遇到了很多问题,最后还是了解原理之后老老实实用openssl了,自己实现太麻烦了
#12
RSA的实现是最简单的了,不要想着从openssl那里抄,它那个很全面的,导致代码很复杂。
#13
p,q为素数,保密
long KEY1 = pq(公开),KEY1为公钥1
long oula = (p-1) * (q-1) 保密
随机选KEY2,令满足 gcd(KEY2, oula ) = 1, KEY2为公钥2, gcd最大公约数,网上有算法
计算KEY3,满足(KEY2*KEY3% oula == 1), 则KEY3为私钥
加密过程
unsigned char msg;
unsigned char cipher = pow(msg, KEY2)% KEY1 ; pow库函数,是次方
解密
unsigned char msg2 = pow(cipher, KEY3) % KEY1
long KEY1 = pq(公开),KEY1为公钥1
long oula = (p-1) * (q-1) 保密
随机选KEY2,令满足 gcd(KEY2, oula ) = 1, KEY2为公钥2, gcd最大公约数,网上有算法
计算KEY3,满足(KEY2*KEY3% oula == 1), 则KEY3为私钥
加密过程
unsigned char msg;
unsigned char cipher = pow(msg, KEY2)% KEY1 ; pow库函数,是次方
解密
unsigned char msg2 = pow(cipher, KEY3) % KEY1
#14
如果限于windows,可以用CryptoAPI,这里有现成的例子:
https://blogs.msdn.microsoft.com/alejacma/2008/01/28/how-to-generate-key-pairs-encrypt-and-decrypt-data-with-cryptoapi/
#1
百度搜相关关键字。
#2
百度能找到的都是一些简单的rsa加密实现,秘钥很小,并且没有pkcs填充算法,java那边是用1028生成的秘钥,百度和google我都找了,百度根本没有,Google相关的回复也很少
#3
https://github.com/openssl/openssl
https://*.com/questions/21980495/generate-rsa-1024-key-pair-using-openssl
https://*.com/questions/21980495/generate-rsa-1024-key-pair-using-openssl
#4
各位大佬我需要不调用库(OpenSSL),纯C自己实现,谢谢
#5
把OpenSSL中的代码抄出来...
#6
能找到RSA源码吗?如果能找到是不是就可以破译了呢?
#7
OpenSSL是用源码,官方的库文件中源码中仍然有封装的接口函数,并且OpenSSL太大,破解起来难度更高
#8
也就写个 大数运算库, 没啥麻烦的, 就是简单写的跑的有点慢, 网上很多的, 随便找一个, 不需要动态内存分配的也很好找, 我写了个跑 secp256k1 还行, 跑 RSA 解密/签名就慢的没边了...
你那CPU是 ARM 的吧, ARM 的移植 gmp 好, 这个跑的快 ...
你那CPU是 ARM 的吧, ARM 的移植 gmp 好, 这个跑的快 ...
#9
大数运算开源代码这个世界上目前至少有100个版本,我猜。
#10
我猜101种至少~
#11
之前做项目时想自己实现一下RSA加密算法,但是在大数运算上遇到了很多问题,最后还是了解原理之后老老实实用openssl了,自己实现太麻烦了
#12
RSA的实现是最简单的了,不要想着从openssl那里抄,它那个很全面的,导致代码很复杂。
#13
p,q为素数,保密
long KEY1 = pq(公开),KEY1为公钥1
long oula = (p-1) * (q-1) 保密
随机选KEY2,令满足 gcd(KEY2, oula ) = 1, KEY2为公钥2, gcd最大公约数,网上有算法
计算KEY3,满足(KEY2*KEY3% oula == 1), 则KEY3为私钥
加密过程
unsigned char msg;
unsigned char cipher = pow(msg, KEY2)% KEY1 ; pow库函数,是次方
解密
unsigned char msg2 = pow(cipher, KEY3) % KEY1
long KEY1 = pq(公开),KEY1为公钥1
long oula = (p-1) * (q-1) 保密
随机选KEY2,令满足 gcd(KEY2, oula ) = 1, KEY2为公钥2, gcd最大公约数,网上有算法
计算KEY3,满足(KEY2*KEY3% oula == 1), 则KEY3为私钥
加密过程
unsigned char msg;
unsigned char cipher = pow(msg, KEY2)% KEY1 ; pow库函数,是次方
解密
unsigned char msg2 = pow(cipher, KEY3) % KEY1
#14
如果限于windows,可以用CryptoAPI,这里有现成的例子:
https://blogs.msdn.microsoft.com/alejacma/2008/01/28/how-to-generate-key-pairs-encrypt-and-decrypt-data-with-cryptoapi/