diffie-hellman

    1热度

    2回答

    我需要充分理解IPSec阶段1协商。 现在,我打破了这3个步骤: 算法谈判 密钥交换数据 鉴定 我使用Wireshark的调查过程中,到目前为止,我完全理解第一部分(算法谈判)。 我现在的问题在于第二部分:密钥交换数据。 正在使用的算法是AES-CBC-256bit,预共享密钥,MD5 & 1024位组。 “ISAKMP Payload” - >“KeyExchange Payload” - >“

    3热度

    2回答

    我已经着手在C#中创建一个基本的SSH客户端;你可能会记得我的帖子,如primitive ssh connection (lowlevel)呵呵。 无论如何,直到我发起DH密钥交换的时候,情况都非常好。 我将建立ssh连接(从openssh客户端到openssh服务器)的流量与我的客户端连接到同一个openssh服务器时的流量进行了比较。 OpenSSH客户端 - > OpenSSH服务器(S为服

    9热度

    2回答

    我试图使用AES加密Android上的字符串。对称密钥先前是用Diffie-Hellman算法确定的,似乎没问题(密钥长度是128位,见下文)。 不过,我得到一个InvalidKeyException: "Key length not 128/192/256 bits.“ 代码: KeyAgreement keyAgree = KeyAgreement.getInstance("DH", "BC"

    3热度

    3回答

    我在设计一个安全方案,用于加密silverlight客户端和我创建的php webservice之间的应用程序级别数据。由于我正在处理公共网站,因此我从服务中获取的信息是公开的,但是我提交给web服务的信息不是公开的。管理网站也有一个后端,所以自然,所有的应用程序数据都被从web服务推送到Silverlight管理后端,也必须加密。 Silverlight不支持非对称加密,这将适用于公共网站。对称

    0热度

    2回答

    RSA加密的Diffie-Hellman握手是否启用安全通信? 我正在加密从silverlight客户端到php webservice的通信。 Silverlight客户端通过将RSA公钥加密的DH参数发送到Web服务来启动它们的密钥协商。只有webservice具有私钥,因此MITM攻击是不可能的。 Web服务将纯文本答案发送回客户端,并同意密钥。然后使用该密钥来加密webservice和sil

    3热度

    2回答

    在这里提出这个问题也许不太合适...无论如何,我试图使用gmp库来实现DH,但是我得到的问题是: 有一次,当我在做测试,以观察输出,虽然选择的首要和私钥大值: p在约300余位十进制 A,b长时间了约100位数字 终于我得到了一个非常小的共享密钥,可能小于10^8的小数... 这个问题并没有出现很多次,实际上在所有的观察期间,它似乎只是曾经......但依然,这并不是那么好。 所以我想如果有一些方

    3热度

    1回答

    这是我用来生成密钥对DH代码: KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH"); keyGen.initialize(1024, new SecureRandom()); KeyPair ackp = keyGen.generateKeyPair(); (不包括所需要的try/catch语句,当然)。 我已经做了反复

    5热度

    2回答

    我在Java中实现了Diffie–Hellman key exchange,其中有一些大型组RFC 3526。我的输出是一个相当大的字节数组。 使用河豚键的输出的第一个448位(56字节)安全吗?我是否应该以任何方式转换字节,或者为键选取任何特定的字节?

    0热度

    1回答

    我正在开发移动/服务器安全相关项目。我现在停留在生成Diffie-Hellman密钥协议部分。它在服务器端程序中工作正常,但它不适用于移动端。因此,我认为它与Android不兼容。 我用下面的类来获取参数。它返回一个由3个值组成的以逗号分隔的字符串。第一个数字是质数模数P.第二个数字是基数发生器G.第三个数字是随机指数L的位数大小。 我的问题是代码有什么问题或者它是不可压缩的对于android?我

    -2热度

    1回答

    在下面的代码段中,请解释从第一个“for”循环开始发生了什么以及为什么。为什么添加了0,为什么在第二个循环中添加了1。 bigi下的“if”语句正在发生什么。最后解释一下modPow方法。预先感谢您提供有意义的答复。 public static boolean isPrimitive(BigInteger m, BigInteger n) { BigInteger bigi, vect