Module: PathgraphEncoding
- Defined in:
- lib/pathgraph_encoding.rb,
lib/pathgraph_encoding/version.rb
Overview
Defined Under Namespace
Modules: PrivateKey, PublicKey
Constant Summary collapse
- VERSION =
Pathgraph encoding library version
"0.0.3"- MIN_Q_N =
Minimum hypercube degree
4
Class Method Summary collapse
Class Method Details
.pack(k, m, set) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/pathgraph_encoding.rb', line 7 def self.pack(k, m, set) OpenSSL::ASN1::Sequence.new([ OpenSSL::ASN1::Integer.new(k), OpenSSL::ASN1::Integer.new(m), OpenSSL::ASN1::Sequence.new( set.map { |path| OpenSSL::ASN1::Sequence.new( path.map { |x| OpenSSL::ASN1::Integer.new(x) } ) } ) ]).to_der end |
.unpack(der) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/pathgraph_encoding.rb', line 21 def self.unpack(der) asn1 = OpenSSL::ASN1.decode(der) [ OpenSSL::ASN1.decode(asn1.value[0]).value.to_i, # k OpenSSL::ASN1.decode(asn1.value[1]).value.to_i, # m OpenSSL::ASN1.decode(asn1.value[2]).value.map { |e| e.map { |d| d.value.to_i } } ] end |