现在我们了解了各种保存密钥的方法,但在这些方法里,我们总是把密钥保存在一个地方:要么锁在保险箱,要么保存在软件中或打印在纸上。这会造成一个问题:一毁俱毁。当然,我们可以为密钥建立备份,这可以降低密钥丢失或损坏的风险(可获取性),但同时会增加密钥被盗的风险(安全性)。那是否存在一种方法,可以使密钥的可获取性和安全性都得到提高?答案是肯定的。密码学上有一种称为“密钥分存”的技术,就可以做到这一点。
方法如下:密钥被分成N个片段,只要我们获得其中的K个片段,就可以把原密钥重新还原。但如果获得的片段数量少于K,就无法知道关于密钥的任何信息。
要实现上述效果,把密钥简单地切分成若干片段是不行的,这样的话,每一个片段都会透露密钥的部分信息。[1]所以,密钥分存并不是简单地切分密钥,而是将密钥转换成若干“子密钥”。
举个例子,我们设定N=2,K=2,意味着我们把想要加密的密钥(原密钥)转换成两个子密钥,只有同时获得这两个子密钥才能拼出原密钥。我们把原密钥称为S,S是一个很大的数字(比如128位)。然后,我们可以随机产生另一个128位的数字R,让R作为其中的一个子密钥,那么另外一个子密钥就是S⊕R(⊕代表逻辑算符互斥,exclusive OR,或缩写成XOR,也叫异或),我们把S⊕R称为“密文”。然后,我们把子密钥R和密文S⊕R保存在两个不同的地方。单独根据子密钥R或密文都无法知晓原来密钥的任何信息,但如果我们同时得到R和S⊕R,我们可以通过异或逻辑运算得到原来的密钥。[2]
Loading...
未加载完,尝试【刷新】or【退出阅读模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.ziyungong.cc
(>人<;)