final class SSU2Header extends Object
| Modifier and Type | Class and Description |
|---|---|
static class | SSU2Header.HeaderA temporary structure returned from trial decrypt,
with methods to access the fields. |
| Modifier and Type | Field and Description |
|---|---|
static byte[] | CHACHA_IV_012 bytes of zeros |
static byte[] | HEADER_PROT_DATA8 bytes of zeros |
| Modifier and Type | Method and Description |
|---|---|
static void | acceptTrialDecrypt(UDPPacket packet,
SSU2Header.Header header)Copy the header back to the packet. |
static long | decryptDestConnID(DatagramPacket pkt,
byte[] key1)Decrypt bytes 0-7 in header. |
static void | encryptHandshakeHeader(UDPPacket packet,
byte[] key1,
byte[] key2)First 64 bytes |
static void | encryptLongHeader(UDPPacket packet,
byte[] key1,
byte[] key2)First 32 bytes |
static void | encryptShortHeader(UDPPacket packet,
byte[] key1,
byte[] key2)First 16 bytes. |
static SSU2Header.Header | trialDecryptHandshakeHeader(UDPPacket packet,
byte[] key1,
byte[] key2)Session Request and Session Created only. |
static SSU2Header.Header | trialDecryptLongHeader(UDPPacket packet,
byte[] key1,
byte[] key2)Retry, Token Request, Peer Test only. |
static SSU2Header.Header | trialDecryptShortHeader(UDPPacket packet,
byte[] key1,
byte[] key2)Session Confirmed and data phase. |
public static final byte[] CHACHA_IV_0
public static final byte[] HEADER_PROT_DATA
public static void acceptTrialDecrypt(UDPPacket packet, SSU2Header.Header header)
public static long decryptDestConnID(DatagramPacket pkt, byte[] key1)
pkt - must be 8 bytes minIndexOutOfBoundsException - if too shortpublic static void encryptHandshakeHeader(UDPPacket packet, byte[] key1, byte[] key2)
public static void encryptLongHeader(UDPPacket packet, byte[] key1, byte[] key2)
public static void encryptShortHeader(UDPPacket packet, byte[] key1, byte[] key2)
public static SSU2Header.Header trialDecryptHandshakeHeader(UDPPacket packet, byte[] key1, byte[] key2)
packet - must be 88 bytes minpublic static SSU2Header.Header trialDecryptLongHeader(UDPPacket packet, byte[] key1, byte[] key2)
packet - must be 56 bytes minpublic static SSU2Header.Header trialDecryptShortHeader(UDPPacket packet, byte[] key1, byte[] key2)
packet - must be 40 bytes min