shamir

package
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateSharesWithFixedShare

func GenerateSharesWithFixedShare(secret []byte, n, k int, fixedX, fixedY *big.Int, prime *big.Int) ([][2]*big.Int, error)

GenerateSharesWithFixedShare 生成秘密份额,包含一个固定的份额 参数:

  • secret: []byte 要分割的秘密
  • n: int 份额总数
  • k: int 最小需要的份额数量
  • fixedX: *big.Int 固定的x值
  • fixedY: *big.Int 固定的y值
  • prime: *big.Int 可选的自定义素数

返回值:

  • [][2]*big.Int 生成的秘密份额
  • error 可能的错误

func GenerateStandardShares

func GenerateStandardShares(secret []byte, n, k int, primeOptional ...*big.Int) ([][2]*big.Int, error)

GenerateStandardShares 生成标准的秘密份额 参数:

  • secret: []byte 要分割的秘密
  • n: int 份额总数
  • k: int 最小需要的份额数量
  • primeOptional: ...*big.Int 可选的自定义素数

返回值:

  • [][2]*big.Int 生成的秘密份额
  • error 可能的错误

func RecoverSecret

func RecoverSecret(shares [][2]*big.Int, prime *big.Int) ([]byte, error)

RecoverSecret 通过份额恢复秘密 参数:

  • shares: [][2]*big.Int 用于恢复秘密的份额集合
  • prime: *big.Int 进行计算时使用的素数模

返回值:

  • []byte 恢复的秘密
  • error 可能的错误

Types

type ShamirScheme

type ShamirScheme struct {
	TotalShares int      // 总份额数
	Threshold   int      // 需要恢复秘密的最小份额数
	Prime       *big.Int // 用于运算的素数
}

ShamirScheme 封装Shamir秘密共享方案的配置信息

func NewShamirScheme

func NewShamirScheme(totalShares, threshold int, prime *big.Int) *ShamirScheme

NewShamirScheme 创建一个新的ShamirScheme实例 参数:

  • totalShares: int 总份额数
  • threshold: int 需要恢复秘密的最小份额数
  • prime: *big.Int 用于运算的素数

返回值:

  • *ShamirScheme 新创建的ShamirScheme实例

func (*ShamirScheme) GenerateShares

func (s *ShamirScheme) GenerateShares(secret []byte) ([][]byte, error)

GenerateShares 方法改进,使用 gob 编码 参数:

  • secret: []byte 要分割的秘密

返回值:

  • [][]byte 生成的秘密份额
  • error 可能的错误

func (*ShamirScheme) RecoverSecretFromShares

func (s *ShamirScheme) RecoverSecretFromShares(sharesBytes ...[]byte) ([]byte, error)

RecoverSecretFromShares 方法改进,使用 gob 解码 参数:

  • sharesBytes: ...[]byte 用于恢复秘密的份额集合

返回值:

  • []byte 恢复的秘密
  • error 可能的错误

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL