#include <ShareLabel.h>
Inheritance diagram for CODEX_VSS::ShareLabel< _ShareType, _OneWay >:


Public Types | |
| typedef _ShareType | ShareType |
| Export the type of sharing. | |
| typedef _OneWay | OneWay |
| Export the type of one-way function used to construct the validity checks. | |
| typedef VRecon< ShareType, OneWay > | VType |
| Convenient short name for the verification reconstruction class. | |
Public Member Functions | |
| ShareLabel () | |
| Default constructor. | |
| ShareLabel (int num, int version, int id, const ShareSet< ShareType > &shareSet, const OneWay &func) | |
| Constructor taking a share set and one-way function. | |
| ShareLabel (int num, int version, int id, const typename VType::ValueType vc[NumShares]) | |
| Constructor taking a set of verification shares. | |
| ShareLabel (const ShareLabel< _ShareType, _OneWay > &aOther) | |
| Copy constructor. | |
| virtual | ~ShareLabel () |
| Virtual destructor. | |
| void | operator= (const ShareLabel< _ShareType, _OneWay > &aOther) |
| Assignment operator. | |
| int | cmp (const ShareLabel< _ShareType, _OneWay > &aOther) const |
| Generic comparator method. | |
| bool | operator< (const ShareLabel< _ShareType, _OneWay > &aOther) const |
| Less-than comparator. | |
| bool | operator> (const ShareLabel< _ShareType, _OneWay > &aOther) const |
| Greater-than comparator. | |
| bool | operator== (const ShareLabel< _ShareType, _OneWay > &aOther) const |
| Equality comparator. | |
| bool | operator!= (const ShareLabel< _ShareType, _OneWay > &aOther) const |
| Inequality comparator. | |
| bool | operator<= (const ShareLabel< _ShareType, _OneWay > &aOther) const |
| At-most (<=) comparator (equivalent to !>). | |
| bool | operator>= (const ShareLabel< _ShareType, _OneWay > &aOther) const |
| At-least (>=) comparator (equivalent to !<). | |
| const CODEX_ASN1::Integer & | num () const |
| The ID number of the shared secret. | |
| const CODEX_ASN1::Integer & | version () const |
| The version number of the corresponding sharing. | |
| const CODEX_ASN1::Integer & | id () const |
| The origin identifier for the corresponding sharing. | |
| const VType::ValueType * | vc () const |
| The validity checks for the corresponding sharing. | |
| const VType::ValueType & | vc (unsigned int i) const |
| A particular validity check for the corresponding sharing. | |
| bool | verify (const typename VType::ValueType &vcs, const OneWay &func) const |
| Check the consistency of the verification data. | |
| bool | check (const ShareType &share, const OneWay &func) const |
| Test a share against its validity information. | |
| int | marshal (unsigned char **pp) const |
| This function creates a serialized representation of the object, which is returned through the argument pp. | |
| void * | unmarshal (void *bogus, unsigned char **pp, long length) |
| This function takes a serialized representation of the object and recreates the object representation. | |
| bool | initialized () const |
Static Public Attributes | |
| static const unsigned int | NumShares = ShareType::NumShares |
| Number of shares. | |
Protected Attributes | |
| bool | m_initialized |
| Has this object been initialized yet, or is it still blank? | |
This includes version and origin information as well as the public verification information. Because the verification data is included in the label, this is a natural place to test its validity, making the label both an indicator of a specific version and the proof that it corresponds to a valid sharing. The template parameters uniquely determine the type of sharing and the verification scheme, and these are then used to obtain the appropriate verification reconstruction class.
Definition at line 47 of file ShareLabel.h.
|
|||||
|
Convenient short name for the verification reconstruction class. Explicit specialization of the template determines the precise behavior of VRecon. Definition at line 62 of file ShareLabel.h. |
|
||||||||||||||||
|
Test a share against its validity information. This should be specialized for the type of share and function.
Definition at line 277 of file ShareLabel.h. |
|
||||||||||
|
Generic comparator method. The ordering is arbitrary, but deterministic. Since it's only used for sorting and finding purposes, this does not really matter.
a and b is a.cmp(b)
Definition at line 159 of file ShareLabel.h. References CODEX_VSS::ShareLabel< _ShareType, _OneWay >::NumShares, and CODEX_ASN1::Integer::value(). Referenced by CODEX_VSS::SubshareLabel< LabelType >::cmp(), CODEX_VSS::ShareLabel< _ShareType, _OneWay >::operator!=(), CODEX_VSS::ShareLabel< _ShareType, _OneWay >::operator<(), CODEX_VSS::ShareLabel< _ShareType, _OneWay >::operator<=(), CODEX_VSS::ShareLabel< _ShareType, _OneWay >::operator==(), CODEX_VSS::ShareLabel< _ShareType, _OneWay >::operator>(), and CODEX_VSS::ShareLabel< _ShareType, _OneWay >::operator>=(). |
|
|
||||||||||
|
This function creates a serialized representation of the object, which is returned through the argument pp. This must be overridden by the concrete derived class.
Implements CODEX_ASN1::Base. Definition at line 283 of file ShareLabel.h. References CODEX_ASN1::Base::initialized(), CODEX_ASN1::Integer::marshal(), and CODEX_VSS::ShareLabel< _ShareType, _OneWay >::NumShares. Referenced by CODEX_VSS::SubshareLabel< LabelType >::marshal(), CODEX_VSS::SecretWitness< ShareType, OneWay >::marshal(), and CODEX_VSS::LabeledShare< ShareType, OneWay >::marshal(). |
|
||||||||||||||||||||
|
This function takes a serialized representation of the object and recreates the object representation. This must be overridden by the concrete derived class.
Implements CODEX_ASN1::Base. Definition at line 315 of file ShareLabel.h. References CODEX_VSS::ShareLabel< _ShareType, _OneWay >::NumShares, CODEX_VSS::ShareLabel< _ShareType, _OneWay >::unmarshal(), and CODEX_ASN1::Integer::unmarshal(). Referenced by CODEX_VSS::SubshareLabel< LabelType >::unmarshal(), CODEX_VSS::LabeledShare< ShareType, OneWay >::unmarshal(), and CODEX_VSS::ShareLabel< _ShareType, _OneWay >::unmarshal(). |
|
||||||||||||||||
|
Check the consistency of the verification data.
Definition at line 261 of file ShareLabel.h. |
1.4.1