3个版本
0.1.3 | 2021年7月24日 |
---|---|
0.1.2 | 2021年7月21日 |
0.1.0 | 2021年7月20日 |
#1465 in 数学
35KB
216 行
guff-ida
Rust中的信息扩散算法
此crate名称仅为占位符。
它将包含对数据进行IDA(信息扩散算法)转换的功能。
它是我的旧Perl模块 Crypt::IDA
的移植/重写,该模块可在 CPAN 上或从 我在github上的 gnetraid
仓库 中获得。
lib.rs
:
用于处理柯西和范德蒙德矩阵的crate
一组用于创建可用于实现纠错(错误校正)方案或门限方案的伽罗瓦域门限方案的矩阵的例程。
注意,此crate仅提供插入到矩阵中的数据。对于缺失的功能,请参阅
- guff : 覆盖有限域的基本操作,包括向量操作
- guff-matrix : 完整的矩阵类型和操作集
使用有限域矩阵操作进行门限方案
“门限方案”是一种将秘密安全地分成多个“份额”的数学方法,这些份额
-
如果组合了一定数量的份额(“门限”),则可以恢复原始秘密
-
如果组合的份额少于门限,则不会泄露关于秘密的信息
模块焦点
此模块特别关注Michael O. Rabin的“信息扩散算法”(IDA)。在其中,通过以下方式分割秘密
-
创建具有所需门限属性的转换矩阵
-
将秘密放入输入矩阵中,如果需要则填充
-
计算转换乘以输入以得到输出矩阵
-
从转换矩阵和相应的输出矩阵的行中读取每个份额
要恢复秘密
-
将提供的转换矩阵行放入一个方阵中
-
计算矩阵的逆
-
从相应的输出数据行中形成一个新的输入矩阵
-
计算逆矩阵乘以输入
-
从输出矩阵中读取秘密
有关该算法的更多详细信息,请参阅此处。
依赖项
~550KB
~11K SLoC