3个版本

0.1.3 2021年7月24日
0.1.2 2021年7月21日
0.1.0 2021年7月20日

#1465 in 数学


用于 guff-sharefiles

GPL-2.0-or-later OR LGPL-2.0-or-later

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