实验一、Shamir 秘密共享 实验目的: 巩固对 Shamir 秘密共享算法的理解 实验要求: 实现一个(k,n)-Shamir 秘密共享方案,其中 k=3,n=4,包含以下功能: (1) 给定一个数字,可以计算出对应的 share (2) 给定 k 个 share, 能够重构出秘密值。 *语言不限 实验报告要求: 1.分析 Shamir 秘密共享的基本算法过程。 2. 提供正确运行的程序,加上必要的注释及运行结果截图。 3.设计、开发中的问题及实验体会。 进阶要求: 1. 设计并实现简单的图形化界面,可参考下图
2024-04-14 17:48:55 6KB python Shamir GUI
1
Shamir秘密共享机制(加法、乘法共享)Matlab可视化实现。
2022-06-22 22:00:12 128KB shamir秘密共享 安全多方计算
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
Shamir 的(k,n)秘密共享算法将秘密S 分为n个子秘密,任意k 个子秘密都可以恢复 出S ,而任意k 1个子秘密无法恢复出S 。
2019-12-21 21:37:27 292KB 门限  共享
1