【密码学】一文读懂SHAMIR门限方案

简介: 【密码学】一文读懂SHAMIR门限方案

[密码学】一文读懂SHAMIR门限方案

秘密共享-SHAMIR门限方案

前言

先来看一个故事,1月8日,贵州省锦屏县平秋镇圭叶村开始了第七届村主任换届选举。这个藏身大山深处的偏僻小山村,最近刚刚因一枚奇特的公章而成为了人们关注的焦点。为了在村里进行民主理财管理,一年多前,村民想出了一个点子,把村财务公章分成五瓣交由5位选出的村民代表掌管,专门审核村干部的开销。近日消息一传出后,顿时引起了外界的广泛热议。这枚“五瓣章”更是被网友称为史上最牛公章。

那么在密码学当中,有没有这种方案,必须满足一定人数才能解出来整个秘密消息,而少于预设的人数阈值则解不出来这个秘密消息呢?

Shamir(t,w)门限方案

下面来简单聊聊Shamir提出的门限方案

初始化阶段

庄家(Dealer),后文我们把庄家记作「D」,在 当中选择w个不同的非0元素,分别记作 其中 ,此处显然要求有限域当中元素个数要大于w的,然后D把 的值发送给 ,这里 是公开的。

分配共享阶段

然后假设D需要共享的秘密信息为 。D在 当中独立随机的选择t-1个元素 。

然后根据如下的规则计算 其中

然后,D将 的值发送给 作为共享。

还原秘密的值

在上面的方案当中,庄家构造了一个次数至多是t-1的一个多项式,此多项式的常数项即为需要共享的秘密信息。然后对于每个参与者得到的是该多项式上面的一个点 。

假设参与者 需要确定秘密K的值,那么我们可以得到

其中 是庄家D选择的多项式。然后根据上面所得到的坐标,我们可以得到t个具有t个未知数的线性方程组,如果这些方程是线性无关的,这样我们就可以得到唯一解,因此我们可以最终求得 也就是需要共享想秘密信息。

有关如何通过坐标来求得多项式,这就涉及到我比较头疼的内容了,因为我高数这块学的实在是不咋地,这个可以用拉格朗日插值法来搞,不过对于上面的图当中的例子,直接解方程问题也不大,下面我先来带着读者用解方程的方法来搞一下。

解方程实现

对于每个参与者能拿到的坐标如下:

、、

然后我们带入上面的多项式,得到下面的三个式子

我们要在上面这一堆式子当中找到 当中找到在 的解。

这个用高斯消元法,直接来解,因为我们实际上只需要解出来 然后呢,消元的时候,就可以有目的性的,我们直接剩下我们所需要的。

然后下面我们手动来算一下(我才不是为了水字数),第一行乘以14 然后和第二行相加。然后第一行乘以12加到第三行。

然后,第二行乘以15加到第一行,

然后解得 ,因此的最终庄家所共享的秘密K = 13,和上面我们描述的一致。

拉格朗日插值法

「拉格朗日插值公式」假定p是素数, 是 中的不同元素,假定是当中的元素,无需不同,存在次数至多为m的唯一多项式,使得,并且多项式如下:

注意对于拉格朗日插值法当中的运算,也都是基于有限域上来计算的。我们带入一下前文所用到的参数,可得:

同样的注意到我们是不需要计算出来完整的多项式的,我们只需要计算 。然后我们将 x = 0带入公式(1),可得

然后注意到最开始有关shamir门限方案有关 的说明,我们可以提前预计算

因此,对于共享的秘密信息K我们可以写成

好了,通过上面得到的公式(3)我们来计算一下上面的例子。

这样,我们就可以计算出来最终共享秘密的值

参考资料

相关文章
|
网络协议 安全 网络安全
【UDP】——为什么 UDP 数据包不能超过 512 个字节
一开始了解的是 DNS 服务使用的是 UDP 协议,后面看到 DNS 服务主要使用 UDP 协议,在少数情况(传输的数据超过 512 个字节)下也会使用 TCP 协议,因为 UDP 数据包不能超过 512 个字节。那问题来了,为什么 UDP 数据包不能超过 512 个字节呢?
5610 0
【UDP】——为什么 UDP 数据包不能超过 512 个字节
|
安全 网络安全 PHP
网络安全-RCE(远程命令执行)漏洞原理、攻击与防御
网络安全-RCE(远程命令执行)漏洞原理、攻击与防御
2047 0
网络安全-RCE(远程命令执行)漏洞原理、攻击与防御
|
安全 网络安全
别慌!浏览器提示证书风险这样解决
不少朋友用 360 浏览器时遇到过这种情况,其实很多时候是电脑系统设置 “闹脾气” 啦。比如电脑时间设置错了,证书和系统时间对不上号,浏览器自然就发出警报。这时,只需简单几步,点击更改日期和时间设置,重新打开网页,说不定风险提示就消失得无影无踪。
5147 6
|
人工智能 IDE 定位技术
AI IDE正式上线!通义灵码开箱即用
作为AI原生的开发环境工具,通义灵码AI IDE深度适配了最新的千问3大模型,并全面集成通义灵码插件能力,具备编程智能体、行间建议预测、行间会话等功能。
1662 13
|
Linux iOS开发 MacOS
DeepSeek爆火,如何免费部署到你的电脑上?获取顶级推理能力教程来了
如何在本地电脑上免费部署DeepSeek,获取顶级推理能力?只需三步:1. 访问Ollama官网下载并安装对应操作系统的版本(支持macOS、Linux和Windows)。2. 打开Ollama并确保其正常运行。3. 在Ollama官网搜索并选择DeepSeek模型(如deepseek-r1),根据电脑配置选择合适的模型大小(1.5B至671B)。通过终端命令(如ollama run deepseek-r1:1.5b)运行模型,即可开始使用DeepSeek进行推理。退出模型时,在终端输入/bye。更多详情请参考Ollama官方文档。
|
机器学习/深度学习 人工智能 安全
安全多方计算之六:秘密共享
安全多方计算之六:秘密共享
1418 0
|
数据采集 监控 算法
大数据与物流行业:智能配送的实现
【10月更文挑战第31天】在数字化时代,大数据成为物流行业转型升级的关键驱动力。本文探讨大数据如何在物流行业中实现智能配送,包括数据采集与整合、数据分析与挖掘、智能配送规划及实时监控与评估,通过案例分析展示了大数据在优化配送路线和提升物流效率方面的巨大潜力,展望了未来智能配送的高度自动化、实时性和协同化趋势。
1619 1
|
存储 安全 物联网
物联网(IoT)安全:挑战与解决方案
【8月更文挑战第5天】物联网(IoT)深刻改变着我们的生活,但随之而来的安全挑战不容忽视。面对设备身份验证复杂、数据隐私泄露、软件漏洞及资源受限等问题,本文提出加强身份验证、加密保护、定期更新、安全开发生命周期、多层次防御、安全培训及标准化合作等解决方案,旨在构建一个更加安全可靠的物联网环境。
1614 2
|
供应链 安全 物联网
物联网(IoT)安全:风险与防护策略
【6月更文挑战第26天】物联网(IoT)安全风险包括数据泄露、设备劫持、DDoS攻击、超级漏洞和不安全设备。防护策略涉及强化设备安全设计、建立认证授权机制、加密数据传输、实施安全监控、加强供应链管理、提升用户安全意识及采用零信任模型。多层面合作以降低安全威胁,确保物联网稳定安全。
1773 2