<a name="BLS256"></a>

## BLS256
**Kind**: global class  
**this**: <code>{BLS256}</code>  

* [BLS256](#BLS256)
    * [new BLS256()](#new_BLS256_new)
    * [.bytestostring()](#BLS256.bytestostring) ⇒
    * [.stringtobytes()](#BLS256.stringtobytes) ⇒
    * [.bls_hashit()](#BLS256.bls_hashit) ⇒
    * [.KeyPairGenerate()](#BLS256.KeyPairGenerate) ⇒
    * [.sign()](#BLS256.sign) ⇒
    * [.verify()](#BLS256.verify) ⇒
    * [.add_G1()](#BLS256.add_G1) ⇒
    * [.add_G2()](#BLS256.add_G2) ⇒

<a name="new_BLS256_new"></a>

### new BLS256()
Creates an instance of BLS256

<a name="BLS256.bytestostring"></a>

### BLS256.bytestostring() ⇒
Convert byte array to string

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: string  
**this**: <code>{BLS192}</code>  
**Parameter**: b byte array  
<a name="BLS256.stringtobytes"></a>

### BLS256.stringtobytes() ⇒
Convert string to byte array

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: byte array  
**this**: <code>{BLS192}</code>  
**Parameter**: s string  
<a name="BLS256.bls_hashit"></a>

### BLS256.bls\_hashit() ⇒
hash a message to an ECP point, using SHA3

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: ECP point  
**this**: <code>{BLS192}</code>  
**Parameter**: m message to be hashedstring  
<a name="BLS256.KeyPairGenerate"></a>

### BLS256.KeyPairGenerate() ⇒
Generate key pair

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: Error code  
**this**: <code>{BLS192}</code>  
**Parameter**: rng Cryptographically Secure Random Number Generator  
**Parameter**: S Private key  
**Parameter**: W Public key  
<a name="BLS256.sign"></a>

### BLS256.sign() ⇒
Sign message

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: Error code  
**this**: <code>{BLS192}</code>  
**Parameter**: SIG Singature  
**Parameter**: m Message to sign  
**Parameter**: S Private key  
<a name="BLS256.verify"></a>

### BLS256.verify() ⇒
Verify message

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: Error code  
**this**: <code>{BLS192}</code>  
**Parameter**: SIG Signature  
**Parameter**: m Message to sign  
**Parameter**: W Public key  
<a name="BLS256.add_G1"></a>

### BLS256.add\_G1() ⇒
R=R1+R2 in group G1

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: Error code  
**this**: <code>{BLS192}</code>  
**Parameter**: R1 G1 Point  
**Parameter**: R2 G1 Point  
**Parameter**: R G1 Point  
<a name="BLS256.add_G2"></a>

### BLS256.add\_G2() ⇒
W=W1+W2 in group G2

**Kind**: static method of [<code>BLS256</code>](#BLS256)  
**Returns**: Error code  
**this**: <code>{BLS192}</code>  
**Parameter**: W1 G2 Point  
**Parameter**: W2 G2 Point  
**Parameter**: R G2 Point  
