能力值:
( LV12,RANK:650 )
2 楼
这个应该放到工具区里!
不过是好东西!
能力值:
( LV6,RANK:90 )
3 楼
所以还不是很了解这里的论坛结构 :(
我是搞游戏开发的,加密解密是我的业余业余业余爱好.是个菜鸟.
这里真是一个好地方,所以我想把我知道的和大家共享,为加解密做点儿贡献.
这个程序算 2048位的 素数对 在我的机器上 低于 5秒 (P4 28c)
能力值:
( LV9,RANK:3410 )
4 楼
OK 转至密码学论坛
能力值:
( LV2,RANK:10 )
5 楼
谢谢,有时间研究研究
能力值:
(RANK:650 )
6 楼
RSA不是很懂,学习
谢谢楼主分享:)
能力值:
( LV2,RANK:10 )
7 楼
好多汇编啊:(
能力值:
(RANK:760 )
8 楼
所以速度会快点:)
能力值:
( LV8,RANK:130 )
9 楼
好厉害哦!!
能力值:
( LV2,RANK:10 )
10 楼
谢谢 呵呵 。!!!
能力值:
( LV2,RANK:10 )
11 楼
BYTE by1[8192];
BYTE by2[8192];
for (int i = 0; i < sizeof(by1); i++)
{
by1[i] = i & 0xff;
}
int bytes = BITS2BYTES(bnBits(&m_rsa.n));
bytes = min(bytes, sizeof(by1));
CBigNumber bn;
m_rsa.rsaPrivateEncrypt(&bn, by1, bytes - 8);
memset(by2, 0, sizeof(by2));
nResult = m_rsa.rsaPublicDecrypt(by2, sizeof(by2), &bn) >= 0;
nResult = 0 == memcmp(by1, by2, bytes - 8);
这是程序中void CRSAUtilDlg::OnButtonGenerateNow() 中的一段
我想请问 在生成这些数的过程中为什么会有 加解密的 过程,而且
还是用公匙解密,私匙加密,为什么,请各位赐教?
能力值:
( LV2,RANK:10 )
12 楼
这些代码都是来自楼主的附件 RSAUtil.rar 中
能力值:
( LV6,RANK:90 )
13 楼
最初由 busy 发布 BYTE by1[8192]; BYTE by2[8192]; for (int i = 0; i < sizeof(by1); i++) { by1 = i & 0xff; ........
是这样的,RSA算法是为了找到两个互质的大素数,而生成质数的过程生成的数不一定一定是质数,可能有99.99999...可能是质数,为了验证结果,使用了加密解密的过程。
能力值:
( LV2,RANK:10 )
14 楼
谢谢,不过我实菜鸟,我不明白为什么如果是非素数,便可以用加密解密的办法检查出来,在这里他为什么会用私匙加密而用公匙解密,而不用正常的公匙加密私匙解密?难道检查的时候必须用私匙加密而用公匙解密?
能力值:
( LV2,RANK:10 )
15 楼
有没有人试过这段代码?
好像不支持大E?这样再快也没用
能力值:
( LV2,RANK:10 )
16 楼
这个支持很大的E 实际上P ,Q, N, D, E都是同样上限的,因为都使用了CBigNumber这个类,所以大E应该支持
能力值:
( LV2,RANK:10 )
17 楼
我送了个256位E进去求1024位P、Q,程序处于假死状态……
别的库最多不到10秒就出来了……
而且代码写的也有点……
能力值:
( LV2,RANK:10 )
18 楼
嗯,的确有问题,
int nResult = m_rsa.RsaKeyGen(e.AsInt(), _GenProcessing, this, &error);
BOOL CRSA::RsaKeyGen(unsigned pe, int (*progress)(void *arg, int c), void *arg, int *error)
{
ASSERT(m_prand);
e = pe;
return _RsaKeyGen(m_prand, p, q, n, d, u, pe, progress, arg, error);
}
不知道为什么参数有unsigned pe 这样的定义,而且_RsaKeyGen的参数e也是unsigned 看来作者就不想支持大的e,也许因为安全性跟e关系不很大
能力值:
( LV2,RANK:10 )
19 楼
最初由 busy 发布 谢谢,不过我实菜鸟,我不明白为什么如果是非素数,便可以用加密解密的办法检查出来,在这里他为什么会用私匙加密而用公匙解密,而不用正常的公匙加密私匙解密?难道检查的时候必须用私匙加密而用公匙解密?
非素数加密后解密不能保证唯一性。
至于公钥和私钥完全是对等的,他们没有区别。
能力值:
( LV12,RANK:490 )
20 楼
谢谢了,呵呵!我最近正在破一个用RSA加密算法的CreakMe
里面的代码好长喔,头都看大了,看原代码还是合算多了!
能力值:
( LV2,RANK:10 )
21 楼
我最近在找RSA的C++类,结果发现这个公钥加密死循环,修改后,公钥能加密,但不一定能解开!后来在她原来生成素数的地方加了公钥加密、私钥解密的测试!
但是不明白为什麽会这样!
哪位大大可以帮助调试一下,谢谢!
最近被RSA弄的一个头,两个大