Method: Ccrypto::Ruby::ShamirSharing#is_valid_share?

Defined in:
lib/ccrypto/ruby/engines/secret_sharing_engine.rb

#is_valid_share?(share) ⇒ Boolean

Returns:

  • (Boolean)


70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/ccrypto/ruby/engines/secret_sharing_engine.rb', line 70

def is_valid_share?(share)
  raise "Share is of incorrect length: #{share.size}" if share.size !=2
  raise "Must initialize coefficient before checking is_valid_share?" unless @_coefficients
  raise "Must initialize coefficient before checking is_valid_share?" if @_coefficients.size != share[1].size

  x  = share[0]
  fx = share[1]

  correctshare = compute_share(x)

  correctshare == share
end