能力值:
( LV4,RANK:50 )
|
-
-
2 楼
“我就是想用私钥来加密,用公钥来解密。”
在CryptoAPI里无法实现,除非自己写函数。
并且也没有这样做的必要,因为“用私钥来加密,用公钥来解密”
这样等于没有加密。
|
能力值:
( LV4,RANK:40 )
|
-
-
3 楼
用私钥来加密,用公钥来解密.
感觉应该算是签名,但是加密的不应该是数据,而是数据散列。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我最近也在做这块,其实用私钥加密,用公钥解密是为了验证发行方的身份,如果加密的内容有一定的格式,解密出来的内容符合这个格式一般就能够认为是那个私钥进行的加密,进而实现身份的认证。而如果这个公钥并不是放在CA那而是通过一些手段分发到客户端的话,而客户端能够有限程度上地保护这个密钥,那么也能实现局部的安全。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
请问楼主,你是怎么实现导出私钥的啊?好像msdn上说只能导出公钥。
另外,CryptEncrypt 这个函数msdn里就说了是用公钥加密,私钥解密的,不知道楼主是不是有了解决办法实现了私钥加密、公钥解密。不行的话,就换用crypto++了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
RSA的公钥和私钥是相对的,其实加密指数e和解密指数d两者有对称性,所以LZ想要“用私钥来加密,用公钥来解密”完全是可以的,只是确如lingyu所言,CryptAPI不支持这样做。但是换个思路还是可以的,比如将e和d互换,即可实现LZ的目的。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
互换之后,实质还是一样的。还不是变成用公钥加密,私钥解密。不知道楼主想实现这个做什么呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
这个有办法实现吗? 只有公钥加密,私钥解密才能保护软件.
其他的crypt库好像也都不能实现的.
我的保护想法是: 将软件需要的一些数据用私钥加密后写入到一个文件,
然后我的软件用公钥解密这个文件, 然后使用这些数据, 如果数据错误, 那么软件执行出来的结果是错误的.
破解的即使绕过验证让软件运行, 也没法解密出我的这些数据.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
不如用openssl里面的RSA函数来得方便。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
openssl里面的RSA可以私钥加密公钥解密吗?
我命令行试验了一下, 没法做到啊???
|
能力值:
( LV9,RANK:270 )
|
-
-
11 楼
|
能力值:
( LV12,RANK:1000 )
|
-
-
12 楼
用私钥来加密不就是签名吗?用自己手上的公钥解密成功可以断定对方身份,前提是对方私钥没有泄露。加密和签名函数不会是同一个吧?如果是同一个,那密钥对里面含义要互换一下。
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
从模幂的角度看待问题,不从加解密的角度看待问题,应该能实现你的需求。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
天易大神你好 签名验证成功是可以判断对方身份, 但是验证的代码也很容易被您找到吧, 你改一下不就破解了, 如果我用私钥加密了软件必须用到的数据, 那么即使您找到验证的代码也没用了吧? 只有用公钥解密出正确的数据, 软件才能正确执行. 这样破解软件就不容易了吧?
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
楼主既然只是要将核心数据加密后发放到用户解密,
那按照6楼jeffcjh的说法, 你自己手上捏着“公钥”不泄漏,然后把“私钥”发放给用户,这样不就解决了吗?
难道有规则限制说只能发放“公钥”隐藏“私钥”,不能反着来?
|
|
|