ostore.security.thresh
Class SigShare

java.lang.Object
  |
  +--ostore.security.thresh.SigShare
All Implemented Interfaces:
Digestible, QuickSerializable

public class SigShare
extends Object
implements Digestible

Signature Shares Class. Associates a signature share with an id and wraps a static verifier.

Reference: "Practical Threshold Signatures", Victor Shoup (sho@zurich.ibm.com), IBM Research Paper RZ3121, 4/30/99

Version:
$Id: SigShare.java,v 1.7 2002/04/06 22:52:43 eaton Exp $
Author:
Steve Weis

Constructor Summary
SigShare(byte[] data, int[] offset)
           
SigShare(int id, BigInteger sig, ostore.security.thresh.Verifier sigVerifier)
           
SigShare(int id, byte[] sig)
           
 
Method Summary
 void add_to_digest(SecureHashBuffer buffer)
          Adds this object's state to the specified SecureHashBuffer using the various add methods.
static byte[] createSignature(SigShare[] sigs)
           
 byte[] getBytes()
          Return a byte array representation of this signature
 int getId()
          Return this share's id.
 BigInteger getSig()
          Return a BigInteger representation of this signature
 ostore.security.thresh.Verifier getSigVerifier()
          Return this signature's verifier
 void to_bytes(byte[] data, int[] offset)
          Store the object in its "on the wire" form in the byte array data, starting at index offset [0], and increment offset [0] by the number of bytes written; if data == null, increment offset [0] by the number of bytes that would have been written otherwise.
 String toString()
           
 int type_code()
          Returns the unique integer associated with this class in the TypeTable.
static boolean verify(byte[] data, SigShare[] sigs, ThresholdPublicKey public_key)
           
 boolean verify(byte[] data, ThresholdPublicKey public_key)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SigShare

public SigShare(int id,
                BigInteger sig,
                ostore.security.thresh.Verifier sigVerifier)

SigShare

public SigShare(int id,
                byte[] sig)

SigShare

public SigShare(byte[] data,
                int[] offset)
         throws QSException
Method Detail

to_bytes

public void to_bytes(byte[] data,
                     int[] offset)
Description copied from interface: QuickSerializable
Store the object in its "on the wire" form in the byte array data, starting at index offset [0], and increment offset [0] by the number of bytes written; if data == null, increment offset [0] by the number of bytes that would have been written otherwise.
Specified by:
to_bytes in interface QuickSerializable
Following copied from interface: ostore.util.QuickSerializable
Parameters:
data - The byte array to store into, or null.
offset - A single element array whose first element is the index in data to begin writing at on function entry, and which on function exit has been incremented by the number of bytes written.

type_code

public int type_code()
Description copied from interface: QuickSerializable
Returns the unique integer associated with this class in the TypeTable.
Specified by:
type_code in interface QuickSerializable
Following copied from interface: ostore.util.QuickSerializable
Returns:
an integer unique to this class

add_to_digest

public void add_to_digest(SecureHashBuffer buffer)
Description copied from interface: Digestible
Adds this object's state to the specified SecureHashBuffer using the various add methods.
Specified by:
add_to_digest in interface Digestible
Following copied from interface: ostore.util.Digestible
See Also:
SecureHashBuffer.add( byte ), SecureHashBuffer.add( byte[] ), SecureHashBuffer.add( byte[], int, int ), SecureHashBuffer.add( Digestible )

createSignature

public static byte[] createSignature(SigShare[] sigs)

getId

public int getId()
Return this share's id. Needed for Lagrange interpolation
Returns:
the id of this key share

getSig

public BigInteger getSig()
Return a BigInteger representation of this signature
Returns:
a BigInteger representation of this signature

getSigVerifier

public ostore.security.thresh.Verifier getSigVerifier()
Return this signature's verifier
Returns:
A verifier for this signaute

getBytes

public byte[] getBytes()
Return a byte array representation of this signature
Returns:
a byte array representation of this signature

toString

public String toString()
Overrides:
toString in class Object

verify

public boolean verify(byte[] data,
                      ThresholdPublicKey public_key)

verify

public static boolean verify(byte[] data,
                             SigShare[] sigs,
                             ThresholdPublicKey public_key)
                      throws ThresholdSigException