Tag: diffie hellman

在node.js中使用encryption的自定义私钥

来自: https : //nodejs.org/api/crypto.html#crypto_class_ecdh const alice_key = alice.generateKeys(); 会生成一个随机的私钥和相应的公钥。 但我想设置自己的私钥:e8f32e723decf … 如果我使用: alice.setPrivateKey("e8f32e723decf"); 对象alice_key不受影响,所以稍后: const bob_secret = bob.computeSecret(alice_key, 'hex', 'hex'); 将是错误的。 有没有办法做到这样的事情: const alice_key = alice.generateKeys("e8f32e723decf");

使用Diffie-Hellman密钥交换和AES进行客户端HTTPencryption

在观看Diffie-Hellman密钥交换中的YouTubevideo后,我想尝试使用JavaScript实现(阿特伍德定律)。 我使用以下规则在Node.js上绘制了一个密码: 第1步:客户端和服务器在共享密钥上达成一致: 客户端和服务器从512位主要公钥pK开始 客户端生成一个512位主密钥kC,并发送powMod(3,kC,pK) 服务器生成一个512位主密钥kS,并发送powMod(3,kS,pK) 客户端和服务器使用powMod(response,privatekey,pK)作为共享密钥 第二步:沟通 在客户端发送数据之前,使用Stanford Javascript Crypto Library(256位AES,HMACauthentication,PBKDF2密码加强和CCMauthenticationencryption)使用共享密钥encryption。 一旦服务器使用共享密钥解密数据,它将生成一个新的512位主密钥,并将其作为SJCLencryption响应发送。 客户端和服务器使用powMod(3,prevSharedKey,newPrivKey)切换到新的共享密钥 现在我有几个问题 与HTTPS或其他algorithm相比,这样的系统有多安全? 这种制度最薄弱的地方是什么? 在安全性/实用性方面,使用1024位密钥更好的安全性会更好吗? HMAC / PBKDF2 / CCM选项是否过度杀伤? 是否值得调整共享密钥? 谢谢阅读!