我是靠谱客的博主 执着水杯,最近开发中收集的这篇文章主要介绍[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第19篇]Shamir密钥交换场景,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。

Shamir密钥交换场景是一个被Adi Shamir提出的算法.算法允许多方分割一个密码,例如一个密钥.当足够多的秘密结合起来,整个密钥就被计算出来了.

正式的说,如果我们有秘密S和n方,我们能把S划分成n方.然后把它们分发给不同的组织.通过这样发送的密钥有一个限定值k,如果密钥S的k数量的部分被收集到,那么就可以计算出S.如果k−1或者更少的密钥被收集,那么S将无法被计算.这个场景就叫做(k,n)限定场景.

解释为什么场景能够被这样构造的最好方式就是通过一个例子.假设我们想要把分割秘密S=1425.分割成5部分(n=5).同时需要3方才能允许密钥(S)被计算出来.首先我们构造一个多项式f(x).它的阶为(k−1=2).系数是随机的.假如说是a1=64,a2=112.和一个常数S.

在这里插入图片描述

从这个多项式中我们可以看到,我们可以构造5个点.这些点分发给不同的组织.
在这里插入图片描述
如果我们假设我们知道5个点中的3个点.我们能够计算出这个多项式的系数.通过3个三元一次多项式.

就上面的例子来看,这个方法工作的很好.但是,窃听者也能够收集更多关于秘密的信息.因为上面我们已经工作在一个有理数的算数.然而,如果我们在有限域内工作(因此秘密和多项式是在q大小的域上定义的),那么如果任何两个或更少的参与方走到一起,他们对秘密一无所知。

这是因为这样的两方假如说组织一和组织二,然后密钥的值S来源于这个域.那么就有一个总有一个在这个多项式域中定义的值:(0,S’), (2,2001 mod q)和 (3,2625 mod q).

转载链接:
https://www.cnblogs.com/zhuowangy2k/p/12245499.html

最后

以上就是执着水杯为你收集整理的[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第19篇]Shamir密钥交换场景的全部内容,希望文章能够帮你解决[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第19篇]Shamir密钥交换场景所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部