首页 > 其他分享 >密码协议学习笔记(8.16):几种特殊的秘密分享体系

密码协议学习笔记(8.16):几种特殊的秘密分享体系

时间:2023-10-08 17:44:26浏览次数:34  
标签:ka 秘密 cdots 笔记 碎片 密码 beta alpha 8.16

已知两个秘密的碎片,计算秘密的乘积的碎片:

已知两个秘密$\alpha_0,\beta_0$分别实现了门限值为$t$的分享

记$$f_{\alpha}(x)=\alpha_0+\alpha_1x+\cdots+\alpha_{t-1}x^{t-1}$$

$$f_{\beta}(x)=\beta_0+\beta_1x+\cdots+\beta_{t-1}x^{t-1}$$

秘密碎片为$$A_1=f_{\alpha}(1),A_2=f_{\alpha}(2),\cdots,A_n=f_{\alpha}(n)$$

$$B_1=f_{\beta}(1),B_2=f_{\beta}(2),\cdots,B_n=f_{\beta}(n)$$

碎片$(A_1,B_1),(A_2,B_2),\cdots,(A_n,B_n),$分别由成员$P_1,P_2,\cdots,P_n$持有,但是,参与者们并不想分别恢复秘密$\alpha_0,\beta_0$(可能包含有隐私信息),而是想直接恢复秘密的乘积$\alpha_0\cdot\beta_0$,该怎么办?

实际上,各参与者直接计算手中碎片的乘积$C_i=A_i\cdot B_i$,得到的$C_i$就是秘密$\alpha_0\cdot \beta_0$门限值为$2t-1$的碎片.

任意$2t-1$个$C_1,C_2,\cdots,C_{2t-1}$碎片进行Lagrange插值后得到的结果是如下多项式.

$$\begin{aligned}
f_{\alpha}(x)\cdot f_{\beta}(x)&=\alpha_0\beta_0+(\alpha_0\beta_1+\alpha_1\beta_0)x+(\alpha_0\beta_2+\alpha_1\beta_1+\alpha_2\beta_0)x^2+\cdots+\alpha_{t-1}\beta_{t-1}x^{2t-2}
\end{aligned}$$

将$x=0$代入即可得到$\alpha_0\cdot\beta_0$

已知秘密的碎片,计算秘密的逆元的碎片:

已知秘密$k_0$实现了门限值为$t$的分享

$$f(x)=k_0+k_1x+\cdots+k_{t-1}x^{t-1}$$

秘密碎片$$x_1=f(1),x_2=f(2),\cdots,x_n=f(n)$$

分别由成员$$P_1,P_2,\cdots,P_n$$持有

但参与者们并不想分别恢复秘密$k_0$,而是想直接恢复出$k_0$的逆元$k_0^{-1}$,该怎么办?

成员$P_i$做如下工作

  1. 和其他成员协作,以无分发者的随机秘密分享(Joint-Shamir-RSS,密码协议学习笔记(8.1):秘密分享 - Isakovsky - 博客园 (cnblogs.com))的方式,实现对随机秘密$a$的门限值为$t$的分享,获得碎片$a_i$
  2. 使用上文所述的协议,计算出$x_ia_i$,此即为秘密$ka$的门限值为$2t-1$的碎片
  3. 和其他成员协作重构出$ka$的值
  4. 计算$u_i=(ka)^{-1}a_i$,即得到秘密$k^{-1}$的门限为$t$的碎片.

成员中的任意$t$个,不妨记为$P_1,P_2,\cdots,P_t$可协作恢复$k^{-1}$,只需计算

$$\Sigma_{i=1}^t\lambda_iu_i$$即可.

其中$$\lambda_i=\underset{j=0,1\cdots,i-1,i+1,\cdots,t-1}{\Pi}\frac{j}{j-i}$$为Lagrange插值系数.

$$\begin{aligned}
\Sigma_{i=1}^t\lambda_iu_i=&\Sigma_{i=1}^t\lambda_i(ka)^{-1}a_i\\
=&(ka)^{-1}\Sigma_{i=1}^t\lambda_ia_i\\
=&(ka)^{-1}a\\
=&k
\end{aligned}$$

 

标签:ka,秘密,cdots,笔记,碎片,密码,beta,alpha,8.16
From: https://www.cnblogs.com/isakovsky/p/17749494.html

相关文章

  • Dapr学习笔记(二)-安装Dapr环境(Docker)
    安装DaprCLI。它使你能够启动、运行并管理Dapr实例。它还提供调试支持。安装 DockerDesktop。如果在Windows上运行,请确保将用于Windows的DockerDesktop配置为使用Linux容器。 备注默认情况下,Dapr使用Docker容器来为你提供最佳的全新体验。若要在D......
  • Asp-Net-Core开发笔记:快速在已有项目中引入EFCore
    前言很多项目一开始选型的时候没有选择EFCore,不过EFCore确实好用,也许由于种种原因后面还是需要用到,这时候引入EFCore也很方便。本文以StarBlog为例,StarBlog目前使用的ORM是FreeSQL,引入EFCore对我来说最大的好处是支持多个数据库,如果是FreeSQL的话,服务注册的时候是单......
  • C#学习笔记--变量类型的转换
    变量类型的转化:转换原则同类型的大的可以装小的,小类型的装大的就需要强制转换。隐式转换:同种类型的转换://有符号long——>int——>short——>sbytelongl=1;inti=1;shorts=1;sbytesb=1;//隐式转换int隐式转换成了long//可以用大范围装小范围的类型(隐......
  • Dapr学习笔记(一)-Dapr是什么?
    一、Dapr是什么?  DistributedApplicationRuntime(分布式应用运行时)是由Microsoft发起的开源项目,是一种用来降低微服务开发人员之间协作工作量的微服务组件。Dapr的核心有助于降低分散式微服务应用程序的固有复杂性。它以构建基块API的概念为基础构建。Dapr构建基......
  • java泛型笔记(根据青空的霞光)
    问题:有些数据的他的类型是不固定的,比如成绩:可以是数字,也可以是字符串(比如优良),那么要存储这样的数据要用什么数据类型可以使用object类型来解决这个问题,但是我们无法判断对方传进来的到底是什么类型,如果既不是数字也不是字符串,我们也无法得知。如果想要将object类再转换回数......
  • 动态规划——带权二分优化DP 学习笔记
    动态规划——带权二分优化DP学习笔记引入带权二分其实并不一定用于优化DP,也可能用于优化贪心等最优化的算法。带权二分也叫WQS二分,最初由王钦石在他的2012年国家集训队论文中提出。定义使用情况要解决一个最优化问题(求最大/最小值)有一个限制,一般是某个参数要求一......
  • 密码协议学习笔记(8.15):知识证据详解
    在开始前,先回顾以下的知识点:离散对数问题(DiscretelogarithmProblem,DLP)难解性猜想:给定以大素数$p$为阶的循环群$G$,$g,h\inG$是两个生成元(在素数阶群上等价于非恒等元),求解$t$,使得$h^t=g$在计算上是不可行的.Diffie-Hellman的计算难解性(ComputationalDiffie-Hellm......
  • 九月读书笔记1
    《程序员修炼之道-从小工到专家》这本书对于软件工程学习者来说是一本非常重要的书籍。在阅读中,我们可以学到很多实用的建议和思考。在第一节中,作者强调了程序员需要诚实、坦率和对担负的事情负责的态度,对于出现的问题需要提供可行的解决方案。第二节中,作者引用了破窗理论来说明......
  • 力扣刷题笔记-08 字符串转整数
    08字符串转整数属于对字符串进行操作的问题百无一用是情深问题字符串里有数字,空格,正负号等,需要先过滤出来在这道题目里,我们通常考虑字符串的组合是“空格+正负号+数字”,一开始我想可能是“正负号+空格+数字”,但是这样的组合根本不可能是数字啊,没什么意义。循环条件for循......
  • 测试开发笔记2023年9月精华版
    ......