非对称系统常用作密钥交换机制,以建立将与对称密码一起使用的共享密钥。本文我们介绍另一种密钥交换算法——DH(Diffie-Hellman,是以共同发明人命名的)。让我们来看看DH密钥交换算法是如何工作的。
假设有两个人想通过不安全的渠道进行沟通,我们称他们为A和B。首先,A和B同意起始数是随机的,并且是非常大的整数。每个会话的数字应该不同,不需要保密。接下来,每个人选择另一个随机的大数字,但这个数字是保密的。然后,他们将自己的共享数字与各自的秘密数字组合起来,并将组合结果发送给对方。接下来,每个人将他们的秘密数字与其从上一步中获得的组合值进行组合。其结果是,在不向任何潜在的窃听者披露足够的信息以找出共同的秘密的情况下,双方的价值都是相同的。
该算法是专门为密钥交换而设计的,也有将其用于加密目的,甚至被用作PKI系统(公钥基础设施系统)的一部分。
ECC(EllipticCurveCryptography,椭圆曲线密码学)是一种公钥加密系统,使用有限域上椭圆曲线的代数结构来生成安全密钥。传统的公钥系统利用了大素数的分解,而ECC利用了椭圆曲线。
椭圆曲线是由一组符合方程的坐标组成的,类似于Y到第二个等于X到第三个,再加上AX加B。椭圆曲线有一些有趣和独特的特性。一个是水平对称,这意味着曲线中的任何点都可以沿X轴镜像,并且仍然构成同一条曲线。除此之外,任何非垂直线最多将在三个位置与曲线相交。这是允许椭圆曲线用于加密的最后一个属性。
基于椭圆曲线的加密系统的优点在于,它们能够实现类似于具有较小密钥大小的传统公钥系统的安全性。例如,位椭圆曲线密钥将与位RSA密钥相当。这非常有益,因为它减少了处理密钥时需要存储和传输的数据量。DH和DSA都有椭圆曲线变体,分别称为ECDH和ECDSA。
USNEST建议使用椭圆曲线加密,NSA允许使用它来保护位EC密钥的绝密数据。但是,随着量子计算技术的不断发展和成熟,NSA对椭圆曲线加密可能容易受到量子计算攻击表示担忧。
#网络安全#