针对分布式数据存储中空间效率低、计算复杂度高等问题,基于Jordan矩阵和拉格朗日差值公式,提出了一种一般访问结构上高效的分布式数据存储方案。方案是计算安全的,空间利用率与理论安全的方案相比提高了m2倍,每个存储服务器只需维护长度很短的秘密份额,就可以实现大数据的分布式存储。在数据存储过程中,存储服务器根据双线性对的性质计算并贡献影子份额,确保秘密份额的安全性。方案具有可公开验证性,有效防止了数据分发者与存储服务器的欺骗。最后对方案的正确性、安全性、拓展性、空间效率等进行分析,表明方案在分布式数据安全存储中具有很好的应用前景。
1
采用Shamir门限秘密分享方案,提出一种带有认证功能的图像可视加密算法。该算法主要思想是,先将二值秘密图像分块得到数据,然后使用Shamir的门限秘密共享方案得到子秘密数据,同时用SM2签名算法对秘密图像进行签名,并将分享数据和签名信息嵌入载体图像。还原时需要指定张数的子秘密图像进行信息的提取、还原与认证。仿真实验结果表明,该秘密图像分享方案提高了秘密图像存储与传输的安全性。
2021-12-28 16:30:06 958KB 秘密共享 SM2签名 数字水印 二值图
1
基于中国剩余定理的作弊者可识别的多秘密共享方案
2021-12-27 09:40:10 128KB 研究论文
1
秘密共享是在 n 个参与者之间分配一个秘密,每个参与者都被分配了一份秘密。 只有当至少 t 个份额组合在一起时,才能重建秘密; 个别股份本身没有任何用处。 这种方案的安全性取决于模型参数 t(即恢复整个秘密所需的份额数)、秘密的大小以及对手获得了多少独特的秘密份额。 例如,对大小为 N 的 8 位秘密图像的野蛮武力攻击需要 2^{8*N/t} 的复杂度,如果对手已获得 t-1 份。
2021-12-03 14:11:14 361KB matlab
1
#某电信安数学基础实验(3)基于中国剩余定理的秘密共享方案(更新): #涉及位数的均为二进制位 #python #使用中国剩余定理 #使用(t,n)门限来控制秘密,即:n个子秘密中任取t个或以上即可计算得到秘密,而任意t-1个及以下都不可解出秘密 注:‘99.txt’是我用odd_maker函数随机生成的,位数为500位 #作者是澜澜家的小羊驼
2021-11-24 14:15:48 3KB 网络安全 中国剩余定理 更新版
1
基于椭圆曲线上的双线性对,构造了一种非交互式,简单且有效的公开可验证秘密共享(PVSS),这具有Schoenmakers的PVSS的所有优点[15]。 此外,在计划的股份分配阶段,仅使用双线性配对的双线性,任何人都可以验证参与者是否在不实施交互式或非交互式协议且没有构造所谓的使用Fiat-Shamir技术的股份见证的情况下收到了正确的股份。 随后,在方案的秘密阶段重建中,任何人都可以使用相同的方法来验证释放的份额。 由于PVSS不需要实现非交互式协议并构造见证以防止恶意播放器,因此可以减少通信的开销。 最后,PVSS是没有经销商(或没有受信任的中心)的案件的扩展。 提出了分布式公共可验证秘密共享(DPVSS),这也减少了通信开销。 分析表明,这些方案比其他方案更安全,更有效,并且在特殊情况下可能更适用。
2021-11-23 13:39:26 170KB Bilinear pairing cryptography Di–e-Hellman
1
#某电信安数学基础实验(3)基于中国剩余定理的秘密共享方案: #Alice和Bob的公钥加密通信 #python #使用中国剩余定理 #使用(t,n)门限来控制秘密,即:n个子秘密中任取t个或以上即可计算得到秘密,而任意t-1个及以下都不可解出秘密
2021-11-04 10:01:11 3KB 信安实验-秘密共享方案
1
沙米尔 沙米尔的秘密分享有以下三种形式: GUI应用程序 标准的Java API 响应式Java API 所有形式都使用有限域算术来防止几何攻击。 使用API​​之前,至少对Shamir的秘密共享有一个粗略的了解是有益的。 建议将作为一个良好的起点。 支持通知:该库现在是稳定的。 它不再处于积极的开发中,但是仍然接受其他人的拉动请求。 GUI应用 GUI应用程序提供了使用Shamir的秘密共享的简单方法。 下载 本机软件包适用于MacOS和Windows,JAR适用于所有其他情况。 最新版本: 每个版本均经过PGP签名以确保安全性,并且可以在找到签名者的公钥。 从源头建造 您还可以从源代码构建发行版,以提高安全性。 首先获取master分支的副本。 您可以从下载它,也可以通过运行以下命令克隆它: git clone -b master https://github.com/
1
沙米尔·JS 这是一种实现,该使用Javascript设计,可在NodeJS上运行。 用法 generateShares(秘密,totalShares,requiredShares,padLength) 将给定的十六进制secret拆分为给定的totalShares其中至少必须将requiredShares totalShares共享稍后再组合以恢复secret 。 例子: let secret = 'shamirSecretTest'; let hexSecret = Buffer.from(secret).toString('hex'); let shares = Shamir.generateShares(hexSecret, 5, 3); console.log(shares); // [ '01cce9a3904d0b9b334f75be3b4d9083b4a2feded
2021-09-22 09:54:47 8KB JavaScript
1
秘密共享 这个程序是一个实现。 一个秘密可以以某种方式拆分成 N 个份额,以便需要可选择数量的份额 K(其中 K ≤ N)来重新构建秘密。 警告:我还不建议认真使用这个工具。 共享的编码可能会在较新版本中更改,在这种情况下,您将无法解码使用旧版本程序共享的机密。 目前,这是实验性的。 例子 将秘密传递给 secretshare 进行编码: $ echo My secret | ./sss e 2 5 2-1-1YAYwmOHqZ69jA-v+mz 2-2-YJZQDGm22Y77Gw-IhSh 2-3-+G9ovW9SAnUynQ-Elwi 2-4-F7rAjX3UOa53KA-b2vm 2-5-j0P4PHsw4lW+rg-XyNl e命令后面的参数告诉secretshare创建 5 个共享,其中 2 个是解码所必需的。 可以像这样解码共享的子集: $ echo 2-2-YJ
2021-09-22 02:52:29 15KB C++
1