net.i2p.crypto
Class HMAC256Generator

java.lang.Object
  extended by net.i2p.crypto.HMACGenerator
      extended by net.i2p.crypto.HMAC256Generator

public class HMAC256Generator
extends HMACGenerator

Calculate the HMAC-SHA256 of a key+message. This is compatible with javax.crypto.Mac.getInstance("HmacSHA256"). As of 0.9.12, uses javax.crypto.Mac. Deprecated, used only by Syndie.


Field Summary
 
Fields inherited from class net.i2p.crypto.HMACGenerator
_available
 
Constructor Summary
HMAC256Generator(I2PAppContext context)
           
 
Method Summary
protected  I2PHMac acquire()
          Deprecated. unused (not even by Syndie)
 Hash calculate(SessionKey key, byte[] data)
          Deprecated. unused (not even by Syndie)
 void calculate(SessionKey key, byte[] data, int offset, int length, byte[] target, int targetOffset)
          Calculate the HMAC of the data with the given key.
 boolean verify(SessionKey key, byte[] curData, int curOffset, int curLength, byte[] origMAC, int origMACOffset, int origMACLength)
          Verify the MAC inline, reducing some unnecessary memory churn.
 
Methods inherited from class net.i2p.crypto.HMACGenerator
acquireTmp, releaseTmp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HMAC256Generator

public HMAC256Generator(I2PAppContext context)
Parameters:
context - unused
Method Detail

acquire

protected I2PHMac acquire()
Deprecated. unused (not even by Syndie)

Overrides:
acquire in class HMACGenerator
Throws:
UnsupportedOperationException - since 0.9.12

calculate

public Hash calculate(SessionKey key,
                      byte[] data)
Deprecated. unused (not even by Syndie)

Calculate the HMAC of the data with the given key

Overrides:
calculate in class HMACGenerator
Returns:
the first 16 bytes contain the HMAC, the last 16 bytes are zero
Throws:
UnsupportedOperationException - always
Since:
0.9.12 overrides HMACGenerator

calculate

public void calculate(SessionKey key,
                      byte[] data,
                      int offset,
                      int length,
                      byte[] target,
                      int targetOffset)
Calculate the HMAC of the data with the given key. Outputs 32 bytes to target starting at targetOffset.

Overrides:
calculate in class HMACGenerator
target - out parameter the first 16 bytes contain the HMAC, the last 16 bytes are zero
targetOffset - offset into target to put the hmac
Throws:
UnsupportedOperationException - if the JVM does not support it
IllegalArgumentException - for bad key or target too small
Since:
0.9.12 overrides HMACGenerator

verify

public boolean verify(SessionKey key,
                      byte[] curData,
                      int curOffset,
                      int curLength,
                      byte[] origMAC,
                      int origMACOffset,
                      int origMACLength)
Verify the MAC inline, reducing some unnecessary memory churn.

Overrides:
verify in class HMACGenerator
Parameters:
key - session key to verify the MAC with
curData - MAC to verify
curOffset - index into curData to MAC
curLength - how much data in curData do we want to run the HMAC over
origMAC - what do we expect the MAC of curData to equal
origMACOffset - index into origMAC
origMACLength - how much of the MAC do we want to verify, use 32 for HMAC256
Since:
0.9.12 overrides HMACGenerator