Nuv*_*ous 8 erlang cryptography rsa public-key private-key
Erlang有一个加密函数,可以生成公共私钥(下面复制的文档).但是文档看起来很模糊,我找不到任何描述如何生成共享素数或生成器的示例代码.有人可以发布一个生成公钥/私钥对的示例吗?在此先感谢您的帮助!
dh_generate_key(DHParams) -> {PublicKey,PrivateKey}
dh_generate_key(PrivateKey, DHParams) -> {PublicKey,PrivateKey}
Run Code Online (Sandbox Code Playgroud)
类型:DHParameters = [P,G] P,G = Mpint其中P是共享素数,G是共享发生器.PublicKey,PrivateKey = Mpint()生成Diffie-Hellman PublicKey和PrivateKey(如果没有给出).
您不为Diffie-Hellman生成共享素数或生成器.看到:
http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange
参数P和G由双方提前商定.使用维基百科文章的符号,crypto:dh_generate_key用于生成a/ A&b/的步骤2和3 B,然后crypto:dh_compute_key用于步骤4和5来计算共享秘密s.
对于RSA,我不知道生成公钥/私钥对的标准库函数.从我记忆中生成素数是一个相当复杂的算法; 我强烈建议你不要自己编写代码.Diffie-Hellman密钥对不适合与RSA一起使用; 它们是用于不同目的的不同算法.
通常,您不需要在运行时生成这些,因为您可以重用密钥对.您可以使用任意数量的其他来源来实际生成它.(也许ssh-keygen可以工作?而且总是有OpenSSL.)要使用你创建的密钥对,你可以使用这些crypto:rsa_ public/private _ encrypt/decrypt函数.
| 归档时间: |
|
| 查看次数: |
3293 次 |
| 最近记录: |