zoukankan      html  css  js  c++  java
  • 04.3_密钥分存和密钥共享

    N<=M)..把密钥放在保险箱或者写在纸上,这样会造成一个问题就是,一毁具毁。为了解决这个问题,密码学有一个“密码分存”技术。

      方法:密钥被分为N个片段,我们只需要获取其中的K个片段,就可以把原密钥重新还原。如果获取的片段少于K个,就无法知道关于密钥的任何信息。

    密钥不是简单的切分为N个片段,而是将密钥转换成若干“子密钥”。

      例如:设定N=2,K=2,意味着我们想把原密钥转换成两个子密钥,只有同时获得这两个子密钥,才能拼出原密钥。我们把原密钥成为S,S是一个很大的数(比如128位)。然后,我们就可以随机产生另一个128位的数字R,让R作为其中一个子密钥,另外一个子密钥就是S和R的异或,称之为“密文”。然后把子密钥和密文存储在两个不同的地方。单独的子密钥或密文都无法推出原密钥。

      

      门限密码(threshold cryptography)

        M密码分存还有一个问题就是,密码分存之后,如果我们需要原密钥来签名,那么我们就需要取得子密钥,还原原密钥,才能够签名,这个过程可能被黑客趁虚而入。盗取密钥。

        如果子密钥存储在不同的设备中,可以以去中心化的方式还原原密钥,而不是在某台设备上完成。这种技术“门限签名”技术。

          例如把2个子密钥分别存储在电脑上和手机中,你可以在电脑上发起一个付款,这是电脑会生成一个签名片段,并发送给手机,手机会收到提示付款信息(收款人和金额等),如果你确认了付款信息,手机会利用它的子密钥完成整个签名,然后广播到区块链中。

        多重签名:就是把账户的控制权交给多个密钥M,不同密钥分别生成不同的地址,这些密钥交给不同的人,只有达到N(N<=M).个人的签名才能取走比特币

      

    每天的价值就是不停息的前进!!!
  • 相关阅读:
    WinForm控件之【Button】
    P4168 蒲公英 题解
    U91741 题解
    树链剖分 学习笔记
    GCD 及 EXGCD 复习笔记
    javascript中的对象拷贝
    关于Vue.js的v-for,key的顺序改变,影响过渡动画表现
    ajax无刷新上传和下载
    站点开启https和http2
    windows挂载EFI分区
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11415046.html
Copyright © 2011-2022 走看看