ostore.security.thresh
Class KeyShare

java.lang.Object
  |
  +--ostore.security.thresh.KeyShare
All Implemented Interfaces:
QuickSerializable

public class KeyShare
extends Object
implements QuickSerializable

A Secret Key Share for an RSA (k,l) Threshold Scheme.

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

Version:
$Id: KeyShare.java,v 1.23 2002/08/02 19:39:56 geels Exp $
Author:
Steve Weis

Constructor Summary
KeyShare(InputBuffer buffer)
           
KeyShare(int id, SafeBigInt secret, SafeBigInt n, SafeBigInt delta)
          Create a new share
 
Method Summary
 int getId()
           
 SafeBigInt getSecret()
           
 SafeBigInt getSignVal()
           
 SafeBigInt getVerifier()
           
 void serialize(OutputBuffer buffer)
          Add the object to the buffer.
 void setVerifiers(SafeBigInt verifier, SafeBigInt groupVerifier)
           
 SigShare sign_using_c(SafeBigInt x, SafeBigInt n, SafeBigInt r, boolean debug)
           
 SigShare sign(byte[] b)
          Create a SigShare and a Verifier for byte[] b
Refer to Shoup pg. 8
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

KeyShare

public KeyShare(InputBuffer buffer)
         throws QSException

KeyShare

public KeyShare(int id,
                SafeBigInt secret,
                SafeBigInt n,
                SafeBigInt delta)
Create a new share

Parameters:
id - - the identifier of this share
secret - - a secret value generated by a Dealer
n - - the modulo of the group public key
delta - - l! (group size factorial)
Method Detail

serialize

public void serialize(OutputBuffer buffer)
Description copied from interface: QuickSerializable
Add the object to the buffer.

Specified by:
serialize in interface QuickSerializable
Parameters:
buffer - the output buffer to add the object to

getId

public int getId()

getSecret

public SafeBigInt getSecret()

setVerifiers

public void setVerifiers(SafeBigInt verifier,
                         SafeBigInt groupVerifier)

getVerifier

public SafeBigInt getVerifier()

getSignVal

public SafeBigInt getSignVal()

toString

public String toString()
Overrides:
toString in class Object

sign

public SigShare sign(byte[] b)
Create a SigShare and a Verifier for byte[] b
Refer to Shoup pg. 8

Returns:
a sig share with a verifier

sign_using_c

public SigShare sign_using_c(SafeBigInt x,
                             SafeBigInt n,
                             SafeBigInt r,
                             boolean debug)