final class SSU2Header extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SSU2Header.Header
A temporary structure returned from trial decrypt,
with methods to access the fields.
|
| Modifier and Type | Field and Description |
|---|---|
static byte[] |
CHACHA_IV_0
12 bytes of zeros
|
static byte[] |
HEADER_PROT_DATA
8 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