算法学习day8

参考资料《我的第一本算法书》

迪菲-赫尔曼密钥交换(迪菲-赫尔曼密钥协议)
(1)是一种可以在通信双方之间安全交换密钥的方法。这种方法通过将双方共有的秘密数值隐藏在公开数值相关的运算中,来实现双方之间密钥的安全交换。

(2)其中涉及到密钥合成的概念。这种合成方法有三个特征:
(假如密钥A与密钥B合成密钥A-B)
*即使持有密钥A和合成的密钥A-B,也无法把密钥B单独取出。
*不管是怎样合成而来的密钥,都可以把它作为新的元素,继续与别的密钥进行合成。
*密钥的合成结果与合成顺序无关,只与用了哪些密钥有关。

(3)交换密钥过程如下:
(假设有甲、乙两人之间要安全地交换密钥)
*先由甲生成密钥P,甲把密钥P发送给乙。
*甲和乙各自准备自己的私有密钥。(假如甲对应SA,乙对应SB)
*甲利用P和SA合成新密钥P-SA,乙利用P和SB合成新密钥P-SB。
*甲将P-SA发给乙,乙将P-SB发给甲。
*甲将SA与P-SB合成新密钥SA-P-SB,乙将SB与P-SA合成为新的密钥SB-P-SA(其中SA-P-SB=SB-P-SA)
*最后甲、乙得到一个共有的密钥P-SA-SB,这个密钥将作为“加密密钥”和“解密密钥”来使用。

(4)迪菲-赫尔曼密钥交换利用了“离散对数问题”。

要解决传输数据中的假冒或篡改问题,可以使用消息认证码或数字签名。

消息认证码
(1)可以实现“认证”和“检测篡改”这两个功能。

(2)其过程如下:
(假设A与B之间传输数据)
*A使用共享密钥加密对消息进行加密,然后通过安全的方法将密钥发送给B(比如用迪菲-赫尔曼密钥交换)。
*A使用密文(加密后的数据)和密钥生成一个值(即消息认证码,简称MAC)。
*A将MAC和密文发送给B。
*B用密文和密钥生成MAC,若与A发的MAC一致,则密文未被篡改。
*最后,B只需要使用密钥对密文进行解密即可。

(3)计算MAC的算法有HMAC、OMAC、CMAC等,目前,HMAC的应用最为广泛。

(4)缺点:不能确定MAC由哪方生成。所以有可能出现“事后否认”的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值