um.di.lmf.enote
Class OpenENote

java.lang.Object
  extended byum.di.lmf.enote.Order
      extended byum.di.lmf.enote.ENote
          extended byum.di.lmf.enote.OpenENote
All Implemented Interfaces:
iaik.asn1.ASN1Type

public class OpenENote
extends ENote
implements iaik.asn1.ASN1Type

This class represents a digital cash note disclosing half of the bit commitments for the payment protocol


Field Summary
protected  boolean[] bits
          The chosen half bits
protected  byte[][] idhalf
          The private information for half of the bit commitments: id halves
protected  java.math.BigInteger[] priv_random
          The private information for half of the bit commitments: private randoms
 
Fields inherited from class um.di.lmf.enote.ENote
signature
 
Fields inherited from class um.di.lmf.enote.Order
amount, bank_cert, commit1, commit2, npairs, pub_random1, pub_random2, serial
 
Constructor Summary
OpenENote()
          This is the constructor that should be used before building an object with decode.
OpenENote(OpenOrder oorder, ENote enote, boolean[] bits)
          This constructor builds an open enote from an enote and an open order
 
Method Summary
 void decode(iaik.asn1.ASN1Object obj)
          Decodes an ASN1Object according to the ASN.1 type the class implements.
 boolean[] getBits()
           
 byte[] getIDHalf(int i)
          Returns one half of the ID
 java.math.BigInteger getPrivRandom(int i)
          Returns one of the commitment secret randoms
 iaik.asn1.ASN1Object toASN1Object()
          Creates an ASN1Object according to the ASN.1 type the class implements.
 iaik.asn1.ASN1Object toENoteASN1Object()
          Creates an ASN1Object of the enclosed ENote object
 
Methods inherited from class um.di.lmf.enote.ENote
getSignature
 
Methods inherited from class um.di.lmf.enote.Order
getAmount, getBankCertificate, getCommitment, getNPairs, getPubRandom, getSerial
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

idhalf

protected byte[][] idhalf
The private information for half of the bit commitments: id halves


priv_random

protected java.math.BigInteger[] priv_random
The private information for half of the bit commitments: private randoms


bits

protected boolean[] bits
The chosen half bits

Constructor Detail

OpenENote

public OpenENote()
This is the constructor that should be used before building an object with decode.


OpenENote

public OpenENote(OpenOrder oorder,
                 ENote enote,
                 boolean[] bits)
This constructor builds an open enote from an enote and an open order

Method Detail

getIDHalf

public byte[] getIDHalf(int i)
Returns one half of the ID


getPrivRandom

public java.math.BigInteger getPrivRandom(int i)
Returns one of the commitment secret randoms


getBits

public boolean[] getBits()

decode

public void decode(iaik.asn1.ASN1Object obj)
            throws iaik.asn1.CodingException
Decodes an ASN1Object according to the ASN.1 type the class implements.

Specified by:
decode in interface iaik.asn1.ASN1Type
Overrides:
decode in class ENote
Throws:
iaik.asn1.CodingException

toENoteASN1Object

public iaik.asn1.ASN1Object toENoteASN1Object()
                                       throws iaik.asn1.CodingException
Creates an ASN1Object of the enclosed ENote object

Throws:
iaik.asn1.CodingException

toASN1Object

public iaik.asn1.ASN1Object toASN1Object()
                                  throws iaik.asn1.CodingException
Creates an ASN1Object according to the ASN.1 type the class implements.

Specified by:
toASN1Object in interface iaik.asn1.ASN1Type
Overrides:
toASN1Object in class ENote
Throws:
iaik.asn1.CodingException