class com.google.crypto.tink.subtle.Poly1305
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.crypto.tink.subtle.Poly1305
super_class: java.lang.Object
{
public static final int MAC_TAG_SIZE_IN_BYTES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int MAC_KEY_SIZE_IN_BYTES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // com.google.crypto.tink.subtle.Poly1305 this
0: .line 36
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.google.crypto.tink.subtle.Poly1305 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/crypto/tink/subtle/Poly1305;
private static long load32(byte[], int);
descriptor: ([BI)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // byte[] in
start local 1 // int idx
0: .line 39
aload 0 /* in */
iload 1 /* idx */
baload
sipush 255
iand
1: .line 40
aload 0 /* in */
iload 1 /* idx */
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
2: .line 39
ior
3: .line 41
aload 0 /* in */
iload 1 /* idx */
iconst_2
iadd
baload
sipush 255
iand
bipush 16
ishl
4: .line 39
ior
5: .line 42
aload 0 /* in */
iload 1 /* idx */
iconst_3
iadd
baload
sipush 255
iand
bipush 24
ishl
6: .line 39
ior
i2l
7: .line 43
ldc 4294967295
8: .line 39
land
lreturn
end local 1 // int idx
end local 0 // byte[] in
LocalVariableTable:
Start End Slot Name Signature
0 9 0 in [B
0 9 1 idx I
MethodParameters:
Name Flags
in
idx
private static long load26(byte[], int, int);
descriptor: ([BII)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] in
start local 1 // int idx
start local 2 // int shift
0: .line 47
aload 0 /* in */
iload 1 /* idx */
invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
iload 2 /* shift */
lshr
ldc 67108863
land
lreturn
end local 2 // int shift
end local 1 // int idx
end local 0 // byte[] in
LocalVariableTable:
Start End Slot Name Signature
0 1 0 in [B
0 1 1 idx I
0 1 2 shift I
MethodParameters:
Name Flags
in
idx
shift
private static void toByteArray(byte[], long, int);
descriptor: ([BJI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 // byte[] output
start local 1 // long num
start local 3 // int idx
0: .line 51
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 4
2: .line 52
StackMap locals: int
StackMap stack:
aload 0 /* output */
iload 3 /* idx */
iload 4 /* i */
iadd
lload 1 /* num */
ldc 255
land
l2i
i2b
bastore
3: .line 51
iinc 4 /* i */ 1
lload 1 /* num */
bipush 8
lshr
lstore 1 /* num */
StackMap locals:
StackMap stack:
4: iload 4 /* i */
iconst_4
if_icmplt 2
end local 4 // int i
5: .line 54
return
end local 3 // int idx
end local 1 // long num
end local 0 // byte[] output
LocalVariableTable:
Start End Slot Name Signature
0 6 0 output [B
0 6 1 num J
0 6 3 idx I
1 5 4 i I
MethodParameters:
Name Flags
output
num
idx
private static void copyBlockSize(byte[], byte[], int);
descriptor: ([B[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 // byte[] output
start local 1 // byte[] in
start local 2 // int idx
0: .line 57
bipush 16
aload 1 /* in */
arraylength
iload 2 /* idx */
isub
invokestatic java.lang.Math.min:(II)I
istore 3 /* copyCount */
start local 3 // int copyCount
1: .line 58
aload 1 /* in */
iload 2 /* idx */
aload 0 /* output */
iconst_0
iload 3 /* copyCount */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: .line 59
aload 0 /* output */
iload 3 /* copyCount */
iconst_1
bastore
3: .line 60
iload 3 /* copyCount */
bipush 16
if_icmpeq 5
4: .line 61
aload 0 /* output */
iload 3 /* copyCount */
iconst_1
iadd
aload 0 /* output */
arraylength
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
5: .line 63
StackMap locals: int
StackMap stack:
return
end local 3 // int copyCount
end local 2 // int idx
end local 1 // byte[] in
end local 0 // byte[] output
LocalVariableTable:
Start End Slot Name Signature
0 6 0 output [B
0 6 1 in [B
0 6 2 idx I
1 6 3 copyCount I
MethodParameters:
Name Flags
output
in
idx
static byte[] computeMac(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=56, args_size=2
start local 0 // byte[] key
start local 1 // byte[] data
0: .line 66
aload 0 /* key */
arraylength
bipush 32
if_icmpeq 2
1: .line 67
new java.lang.IllegalArgumentException
dup
ldc "The key length in bytes must be 32."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 69
StackMap locals:
StackMap stack:
lconst_0
lstore 2 /* h0 */
start local 2 // long h0
3: .line 70
lconst_0
lstore 4 /* h1 */
start local 4 // long h1
4: .line 71
lconst_0
lstore 6 /* h2 */
start local 6 // long h2
5: .line 72
lconst_0
lstore 8 /* h3 */
start local 8 // long h3
6: .line 73
lconst_0
lstore 10 /* h4 */
start local 10 // long h4
7: .line 82
aload 0 /* key */
iconst_0
iconst_0
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ldc 67108863
land
lstore 24 /* r0 */
start local 24 // long r0
8: .line 83
aload 0 /* key */
iconst_3
iconst_2
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ldc 67108611
land
lstore 26 /* r1 */
start local 26 // long r1
9: .line 84
aload 0 /* key */
bipush 6
iconst_4
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ldc 67092735
land
lstore 28 /* r2 */
start local 28 // long r2
10: .line 85
aload 0 /* key */
bipush 9
bipush 6
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ldc 66076671
land
lstore 30 /* r3 */
start local 30 // long r3
11: .line 86
aload 0 /* key */
bipush 12
bipush 8
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ldc 1048575
land
lstore 32 /* r4 */
start local 32 // long r4
12: .line 88
lload 26 /* r1 */
ldc 5
lmul
lstore 34 /* s1 */
start local 34 // long s1
13: .line 89
lload 28 /* r2 */
ldc 5
lmul
lstore 36 /* s2 */
start local 36 // long s2
14: .line 90
lload 30 /* r3 */
ldc 5
lmul
lstore 38 /* s3 */
start local 38 // long s3
15: .line 91
lload 32 /* r4 */
ldc 5
lmul
lstore 40 /* s4 */
start local 40 // long s4
16: .line 93
bipush 17
newarray 8
astore 42 /* buf */
start local 42 // byte[] buf
17: .line 94
iconst_0
istore 43 /* i */
start local 43 // int i
18: goto 49
19: .line 95
StackMap locals: byte[] byte[] long long long long long top top top top top top top top top top top top long long long long long long long long long byte[] int
StackMap stack:
aload 42 /* buf */
aload 1 /* data */
iload 43 /* i */
invokestatic com.google.crypto.tink.subtle.Poly1305.copyBlockSize:([B[BI)V
20: .line 96
lload 2 /* h0 */
aload 42 /* buf */
iconst_0
iconst_0
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ladd
lstore 2 /* h0 */
21: .line 97
lload 4 /* h1 */
aload 42 /* buf */
iconst_3
iconst_2
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ladd
lstore 4 /* h1 */
22: .line 98
lload 6 /* h2 */
aload 42 /* buf */
bipush 6
iconst_4
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ladd
lstore 6 /* h2 */
23: .line 99
lload 8 /* h3 */
aload 42 /* buf */
bipush 9
bipush 6
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
ladd
lstore 8 /* h3 */
24: .line 100
lload 10 /* h4 */
aload 42 /* buf */
bipush 12
bipush 8
invokestatic com.google.crypto.tink.subtle.Poly1305.load26:([BII)J
aload 42 /* buf */
bipush 16
baload
bipush 24
ishl
i2l
lor
ladd
lstore 10 /* h4 */
25: .line 103
lload 2 /* h0 */
lload 24 /* r0 */
lmul
lload 4 /* h1 */
lload 40 /* s4 */
lmul
ladd
lload 6 /* h2 */
lload 38 /* s3 */
lmul
ladd
lload 8 /* h3 */
lload 36 /* s2 */
lmul
ladd
lload 10 /* h4 */
lload 34 /* s1 */
lmul
ladd
lstore 12 /* d0 */
start local 12 // long d0
26: .line 104
lload 2 /* h0 */
lload 26 /* r1 */
lmul
lload 4 /* h1 */
lload 24 /* r0 */
lmul
ladd
lload 6 /* h2 */
lload 40 /* s4 */
lmul
ladd
lload 8 /* h3 */
lload 38 /* s3 */
lmul
ladd
lload 10 /* h4 */
lload 36 /* s2 */
lmul
ladd
lstore 14 /* d1 */
start local 14 // long d1
27: .line 105
lload 2 /* h0 */
lload 28 /* r2 */
lmul
lload 4 /* h1 */
lload 26 /* r1 */
lmul
ladd
lload 6 /* h2 */
lload 24 /* r0 */
lmul
ladd
lload 8 /* h3 */
lload 40 /* s4 */
lmul
ladd
lload 10 /* h4 */
lload 38 /* s3 */
lmul
ladd
lstore 16 /* d2 */
start local 16 // long d2
28: .line 106
lload 2 /* h0 */
lload 30 /* r3 */
lmul
lload 4 /* h1 */
lload 28 /* r2 */
lmul
ladd
lload 6 /* h2 */
lload 26 /* r1 */
lmul
ladd
lload 8 /* h3 */
lload 24 /* r0 */
lmul
ladd
lload 10 /* h4 */
lload 40 /* s4 */
lmul
ladd
lstore 18 /* d3 */
start local 18 // long d3
29: .line 107
lload 2 /* h0 */
lload 32 /* r4 */
lmul
lload 4 /* h1 */
lload 30 /* r3 */
lmul
ladd
lload 6 /* h2 */
lload 28 /* r2 */
lmul
ladd
lload 8 /* h3 */
lload 26 /* r1 */
lmul
ladd
lload 10 /* h4 */
lload 24 /* r0 */
lmul
ladd
lstore 20 /* d4 */
start local 20 // long d4
30: .line 110
lload 12 /* d0 */
bipush 26
lshr
lstore 22 /* c */
start local 22 // long c
31: .line 111
lload 12 /* d0 */
ldc 67108863
land
lstore 2 /* h0 */
32: .line 112
lload 14 /* d1 */
lload 22 /* c */
ladd
lstore 14 /* d1 */
33: .line 113
lload 14 /* d1 */
bipush 26
lshr
lstore 22 /* c */
34: .line 114
lload 14 /* d1 */
ldc 67108863
land
lstore 4 /* h1 */
35: .line 115
lload 16 /* d2 */
lload 22 /* c */
ladd
lstore 16 /* d2 */
36: .line 116
lload 16 /* d2 */
bipush 26
lshr
lstore 22 /* c */
37: .line 117
lload 16 /* d2 */
ldc 67108863
land
lstore 6 /* h2 */
38: .line 118
lload 18 /* d3 */
lload 22 /* c */
ladd
lstore 18 /* d3 */
39: .line 119
lload 18 /* d3 */
bipush 26
lshr
lstore 22 /* c */
40: .line 120
lload 18 /* d3 */
ldc 67108863
land
lstore 8 /* h3 */
41: .line 121
lload 20 /* d4 */
lload 22 /* c */
ladd
lstore 20 /* d4 */
42: .line 122
lload 20 /* d4 */
bipush 26
lshr
lstore 22 /* c */
43: .line 123
lload 20 /* d4 */
ldc 67108863
land
lstore 10 /* h4 */
44: .line 124
lload 2 /* h0 */
lload 22 /* c */
ldc 5
lmul
ladd
lstore 2 /* h0 */
45: .line 125
lload 2 /* h0 */
bipush 26
lshr
lstore 22 /* c */
46: .line 126
lload 2 /* h0 */
ldc 67108863
land
lstore 2 /* h0 */
47: .line 127
lload 4 /* h1 */
lload 22 /* c */
ladd
lstore 4 /* h1 */
48: .line 94
iinc 43 /* i */ 16
end local 22 // long c
end local 20 // long d4
end local 18 // long d3
end local 16 // long d2
end local 14 // long d1
end local 12 // long d0
StackMap locals:
StackMap stack:
49: iload 43 /* i */
aload 1 /* data */
arraylength
if_icmplt 19
end local 43 // int i
50: .line 130
lload 4 /* h1 */
bipush 26
lshr
lstore 22 /* c */
start local 22 // long c
51: .line 131
lload 4 /* h1 */
ldc 67108863
land
lstore 4 /* h1 */
52: .line 132
lload 6 /* h2 */
lload 22 /* c */
ladd
lstore 6 /* h2 */
53: .line 133
lload 6 /* h2 */
bipush 26
lshr
lstore 22 /* c */
54: .line 134
lload 6 /* h2 */
ldc 67108863
land
lstore 6 /* h2 */
55: .line 135
lload 8 /* h3 */
lload 22 /* c */
ladd
lstore 8 /* h3 */
56: .line 136
lload 8 /* h3 */
bipush 26
lshr
lstore 22 /* c */
57: .line 137
lload 8 /* h3 */
ldc 67108863
land
lstore 8 /* h3 */
58: .line 138
lload 10 /* h4 */
lload 22 /* c */
ladd
lstore 10 /* h4 */
59: .line 139
lload 10 /* h4 */
bipush 26
lshr
lstore 22 /* c */
60: .line 140
lload 10 /* h4 */
ldc 67108863
land
lstore 10 /* h4 */
61: .line 141
lload 2 /* h0 */
lload 22 /* c */
ldc 5
lmul
ladd
lstore 2 /* h0 */
62: .line 142
lload 2 /* h0 */
bipush 26
lshr
lstore 22 /* c */
63: .line 143
lload 2 /* h0 */
ldc 67108863
land
lstore 2 /* h0 */
64: .line 144
lload 4 /* h1 */
lload 22 /* c */
ladd
lstore 4 /* h1 */
65: .line 147
lload 2 /* h0 */
ldc 5
ladd
lstore 43 /* g0 */
start local 43 // long g0
66: .line 148
lload 43 /* g0 */
bipush 26
lshr
lstore 22 /* c */
67: .line 149
lload 43 /* g0 */
ldc 67108863
land
lstore 43 /* g0 */
68: .line 150
lload 4 /* h1 */
lload 22 /* c */
ladd
lstore 45 /* g1 */
start local 45 // long g1
69: .line 151
lload 45 /* g1 */
bipush 26
lshr
lstore 22 /* c */
70: .line 152
lload 45 /* g1 */
ldc 67108863
land
lstore 45 /* g1 */
71: .line 153
lload 6 /* h2 */
lload 22 /* c */
ladd
lstore 47 /* g2 */
start local 47 // long g2
72: .line 154
lload 47 /* g2 */
bipush 26
lshr
lstore 22 /* c */
73: .line 155
lload 47 /* g2 */
ldc 67108863
land
lstore 47 /* g2 */
74: .line 156
lload 8 /* h3 */
lload 22 /* c */
ladd
lstore 49 /* g3 */
start local 49 // long g3
75: .line 157
lload 49 /* g3 */
bipush 26
lshr
lstore 22 /* c */
76: .line 158
lload 49 /* g3 */
ldc 67108863
land
lstore 49 /* g3 */
77: .line 159
lload 10 /* h4 */
lload 22 /* c */
ladd
ldc 67108864
lsub
lstore 51 /* g4 */
start local 51 // long g4
78: .line 162
lload 51 /* g4 */
bipush 63
lshr
lstore 53 /* mask */
start local 53 // long mask
79: .line 163
lload 2 /* h0 */
lload 53 /* mask */
land
lstore 2 /* h0 */
80: .line 164
lload 4 /* h1 */
lload 53 /* mask */
land
lstore 4 /* h1 */
81: .line 165
lload 6 /* h2 */
lload 53 /* mask */
land
lstore 6 /* h2 */
82: .line 166
lload 8 /* h3 */
lload 53 /* mask */
land
lstore 8 /* h3 */
83: .line 167
lload 10 /* h4 */
lload 53 /* mask */
land
lstore 10 /* h4 */
84: .line 168
lload 53 /* mask */
ldc -1
lxor
lstore 53 /* mask */
85: .line 169
lload 2 /* h0 */
lload 43 /* g0 */
lload 53 /* mask */
land
lor
lstore 2 /* h0 */
86: .line 170
lload 4 /* h1 */
lload 45 /* g1 */
lload 53 /* mask */
land
lor
lstore 4 /* h1 */
87: .line 171
lload 6 /* h2 */
lload 47 /* g2 */
lload 53 /* mask */
land
lor
lstore 6 /* h2 */
88: .line 172
lload 8 /* h3 */
lload 49 /* g3 */
lload 53 /* mask */
land
lor
lstore 8 /* h3 */
89: .line 173
lload 10 /* h4 */
lload 51 /* g4 */
lload 53 /* mask */
land
lor
lstore 10 /* h4 */
90: .line 176
lload 2 /* h0 */
lload 4 /* h1 */
bipush 26
lshl
lor
ldc 4294967295
land
lstore 2 /* h0 */
91: .line 177
lload 4 /* h1 */
bipush 6
lshr
lload 6 /* h2 */
bipush 20
lshl
lor
ldc 4294967295
land
lstore 4 /* h1 */
92: .line 178
lload 6 /* h2 */
bipush 12
lshr
lload 8 /* h3 */
bipush 14
lshl
lor
ldc 4294967295
land
lstore 6 /* h2 */
93: .line 179
lload 8 /* h3 */
bipush 18
lshr
lload 10 /* h4 */
bipush 8
lshl
lor
ldc 4294967295
land
lstore 8 /* h3 */
94: .line 182
lload 2 /* h0 */
aload 0 /* key */
bipush 16
invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
ladd
lstore 22 /* c */
95: .line 183
lload 22 /* c */
ldc 4294967295
land
lstore 2 /* h0 */
96: .line 184
lload 4 /* h1 */
aload 0 /* key */
bipush 20
invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
ladd
lload 22 /* c */
bipush 32
lshr
ladd
lstore 22 /* c */
97: .line 185
lload 22 /* c */
ldc 4294967295
land
lstore 4 /* h1 */
98: .line 186
lload 6 /* h2 */
aload 0 /* key */
bipush 24
invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
ladd
lload 22 /* c */
bipush 32
lshr
ladd
lstore 22 /* c */
99: .line 187
lload 22 /* c */
ldc 4294967295
land
lstore 6 /* h2 */
100: .line 188
lload 8 /* h3 */
aload 0 /* key */
bipush 28
invokestatic com.google.crypto.tink.subtle.Poly1305.load32:([BI)J
ladd
lload 22 /* c */
bipush 32
lshr
ladd
lstore 22 /* c */
101: .line 189
lload 22 /* c */
ldc 4294967295
land
lstore 8 /* h3 */
102: .line 191
bipush 16
newarray 8
astore 55 /* mac */
start local 55 // byte[] mac
103: .line 192
aload 55 /* mac */
lload 2 /* h0 */
iconst_0
invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
104: .line 193
aload 55 /* mac */
lload 4 /* h1 */
iconst_4
invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
105: .line 194
aload 55 /* mac */
lload 6 /* h2 */
bipush 8
invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
106: .line 195
aload 55 /* mac */
lload 8 /* h3 */
bipush 12
invokestatic com.google.crypto.tink.subtle.Poly1305.toByteArray:([BJI)V
107: .line 197
aload 55 /* mac */
areturn
end local 55 // byte[] mac
end local 53 // long mask
end local 51 // long g4
end local 49 // long g3
end local 47 // long g2
end local 45 // long g1
end local 43 // long g0
end local 42 // byte[] buf
end local 40 // long s4
end local 38 // long s3
end local 36 // long s2
end local 34 // long s1
end local 32 // long r4
end local 30 // long r3
end local 28 // long r2
end local 26 // long r1
end local 24 // long r0
end local 22 // long c
end local 10 // long h4
end local 8 // long h3
end local 6 // long h2
end local 4 // long h1
end local 2 // long h0
end local 1 // byte[] data
end local 0 // byte[] key
LocalVariableTable:
Start End Slot Name Signature
0 108 0 key [B
0 108 1 data [B
3 108 2 h0 J
4 108 4 h1 J
5 108 6 h2 J
6 108 8 h3 J
7 108 10 h4 J
26 49 12 d0 J
27 49 14 d1 J
28 49 16 d2 J
29 49 18 d3 J
30 49 20 d4 J
31 49 22 c J
51 108 22 c J
8 108 24 r0 J
9 108 26 r1 J
10 108 28 r2 J
11 108 30 r3 J
12 108 32 r4 J
13 108 34 s1 J
14 108 36 s2 J
15 108 38 s3 J
16 108 40 s4 J
17 108 42 buf [B
18 50 43 i I
66 108 43 g0 J
69 108 45 g1 J
72 108 47 g2 J
75 108 49 g3 J
78 108 51 g4 J
79 108 53 mask J
103 108 55 mac [B
MethodParameters:
Name Flags
key final
data
static void verifyMac(byte[], byte[], byte[]);
descriptor: ([B[B[B)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // byte[] key
start local 1 // byte[] data
start local 2 // byte[] mac
0: .line 201
aload 0 /* key */
aload 1 /* data */
invokestatic com.google.crypto.tink.subtle.Poly1305.computeMac:([B[B)[B
aload 2 /* mac */
invokestatic com.google.crypto.tink.subtle.Bytes.equal:([B[B)Z
ifne 2
1: .line 202
new java.security.GeneralSecurityException
dup
ldc "invalid MAC"
invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
athrow
2: .line 204
StackMap locals:
StackMap stack:
return
end local 2 // byte[] mac
end local 1 // byte[] data
end local 0 // byte[] key
LocalVariableTable:
Start End Slot Name Signature
0 3 0 key [B
0 3 1 data [B
0 3 2 mac [B
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
key final
data
mac
}
SourceFile: "Poly1305.java"