public class org.bouncycastle.crypto.engines.SkipjackEngine implements org.bouncycastle.crypto.BlockCipher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.engines.SkipjackEngine
super_class: java.lang.Object
{
static final int BLOCK_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static short[] ftable;
descriptor: [S
flags: (0x0008) ACC_STATIC
private int[] key0;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] key1;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] key2;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] key3;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private boolean encrypting;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 17
sipush 256
newarray 9
dup
iconst_0
1: .line 18
sipush 163
sastore
dup
iconst_1
sipush 215
sastore
dup
iconst_2
bipush 9
sastore
dup
iconst_3
sipush 131
sastore
dup
iconst_4
sipush 248
sastore
dup
iconst_5
bipush 72
sastore
dup
bipush 6
sipush 246
sastore
dup
bipush 7
sipush 244
sastore
dup
bipush 8
sipush 179
sastore
dup
bipush 9
bipush 33
sastore
dup
bipush 10
bipush 21
sastore
dup
bipush 11
bipush 120
sastore
dup
bipush 12
sipush 153
sastore
dup
bipush 13
sipush 177
sastore
dup
bipush 14
sipush 175
sastore
dup
bipush 15
sipush 249
sastore
dup
bipush 16
2: .line 19
sipush 231
sastore
dup
bipush 17
bipush 45
sastore
dup
bipush 18
bipush 77
sastore
dup
bipush 19
sipush 138
sastore
dup
bipush 20
sipush 206
sastore
dup
bipush 21
bipush 76
sastore
dup
bipush 22
sipush 202
sastore
dup
bipush 23
bipush 46
sastore
dup
bipush 24
bipush 82
sastore
dup
bipush 25
sipush 149
sastore
dup
bipush 26
sipush 217
sastore
dup
bipush 27
bipush 30
sastore
dup
bipush 28
bipush 78
sastore
dup
bipush 29
bipush 56
sastore
dup
bipush 30
bipush 68
sastore
dup
bipush 31
bipush 40
sastore
dup
bipush 32
3: .line 20
bipush 10
sastore
dup
bipush 33
sipush 223
sastore
dup
bipush 34
iconst_2
sastore
dup
bipush 35
sipush 160
sastore
dup
bipush 36
bipush 23
sastore
dup
bipush 37
sipush 241
sastore
dup
bipush 38
bipush 96
sastore
dup
bipush 39
bipush 104
sastore
dup
bipush 40
bipush 18
sastore
dup
bipush 41
sipush 183
sastore
dup
bipush 42
bipush 122
sastore
dup
bipush 43
sipush 195
sastore
dup
bipush 44
sipush 233
sastore
dup
bipush 45
sipush 250
sastore
dup
bipush 46
bipush 61
sastore
dup
bipush 47
bipush 83
sastore
dup
bipush 48
4: .line 21
sipush 150
sastore
dup
bipush 49
sipush 132
sastore
dup
bipush 50
bipush 107
sastore
dup
bipush 51
sipush 186
sastore
dup
bipush 52
sipush 242
sastore
dup
bipush 53
bipush 99
sastore
dup
bipush 54
sipush 154
sastore
dup
bipush 55
bipush 25
sastore
dup
bipush 56
bipush 124
sastore
dup
bipush 57
sipush 174
sastore
dup
bipush 58
sipush 229
sastore
dup
bipush 59
sipush 245
sastore
dup
bipush 60
sipush 247
sastore
dup
bipush 61
bipush 22
sastore
dup
bipush 62
bipush 106
sastore
dup
bipush 63
sipush 162
sastore
dup
bipush 64
5: .line 22
bipush 57
sastore
dup
bipush 65
sipush 182
sastore
dup
bipush 66
bipush 123
sastore
dup
bipush 67
bipush 15
sastore
dup
bipush 68
sipush 193
sastore
dup
bipush 69
sipush 147
sastore
dup
bipush 70
sipush 129
sastore
dup
bipush 71
bipush 27
sastore
dup
bipush 72
sipush 238
sastore
dup
bipush 73
sipush 180
sastore
dup
bipush 74
bipush 26
sastore
dup
bipush 75
sipush 234
sastore
dup
bipush 76
sipush 208
sastore
dup
bipush 77
sipush 145
sastore
dup
bipush 78
bipush 47
sastore
dup
bipush 79
sipush 184
sastore
dup
bipush 80
6: .line 23
bipush 85
sastore
dup
bipush 81
sipush 185
sastore
dup
bipush 82
sipush 218
sastore
dup
bipush 83
sipush 133
sastore
dup
bipush 84
bipush 63
sastore
dup
bipush 85
bipush 65
sastore
dup
bipush 86
sipush 191
sastore
dup
bipush 87
sipush 224
sastore
dup
bipush 88
bipush 90
sastore
dup
bipush 89
bipush 88
sastore
dup
bipush 90
sipush 128
sastore
dup
bipush 91
bipush 95
sastore
dup
bipush 92
bipush 102
sastore
dup
bipush 93
bipush 11
sastore
dup
bipush 94
sipush 216
sastore
dup
bipush 95
sipush 144
sastore
dup
bipush 96
7: .line 24
bipush 53
sastore
dup
bipush 97
sipush 213
sastore
dup
bipush 98
sipush 192
sastore
dup
bipush 99
sipush 167
sastore
dup
bipush 100
bipush 51
sastore
dup
bipush 101
bipush 6
sastore
dup
bipush 102
bipush 101
sastore
dup
bipush 103
bipush 105
sastore
dup
bipush 104
bipush 69
sastore
dup
bipush 106
sipush 148
sastore
dup
bipush 107
bipush 86
sastore
dup
bipush 108
bipush 109
sastore
dup
bipush 109
sipush 152
sastore
dup
bipush 110
sipush 155
sastore
dup
bipush 111
bipush 118
sastore
dup
bipush 112
8: .line 25
sipush 151
sastore
dup
bipush 113
sipush 252
sastore
dup
bipush 114
sipush 178
sastore
dup
bipush 115
sipush 194
sastore
dup
bipush 116
sipush 176
sastore
dup
bipush 117
sipush 254
sastore
dup
bipush 118
sipush 219
sastore
dup
bipush 119
bipush 32
sastore
dup
bipush 120
sipush 225
sastore
dup
bipush 121
sipush 235
sastore
dup
bipush 122
sipush 214
sastore
dup
bipush 123
sipush 228
sastore
dup
bipush 124
sipush 221
sastore
dup
bipush 125
bipush 71
sastore
dup
bipush 126
bipush 74
sastore
dup
bipush 127
bipush 29
sastore
dup
sipush 128
9: .line 26
bipush 66
sastore
dup
sipush 129
sipush 237
sastore
dup
sipush 130
sipush 158
sastore
dup
sipush 131
bipush 110
sastore
dup
sipush 132
bipush 73
sastore
dup
sipush 133
bipush 60
sastore
dup
sipush 134
sipush 205
sastore
dup
sipush 135
bipush 67
sastore
dup
sipush 136
bipush 39
sastore
dup
sipush 137
sipush 210
sastore
dup
sipush 138
bipush 7
sastore
dup
sipush 139
sipush 212
sastore
dup
sipush 140
sipush 222
sastore
dup
sipush 141
sipush 199
sastore
dup
sipush 142
bipush 103
sastore
dup
sipush 143
bipush 24
sastore
dup
sipush 144
10: .line 27
sipush 137
sastore
dup
sipush 145
sipush 203
sastore
dup
sipush 146
bipush 48
sastore
dup
sipush 147
bipush 31
sastore
dup
sipush 148
sipush 141
sastore
dup
sipush 149
sipush 198
sastore
dup
sipush 150
sipush 143
sastore
dup
sipush 151
sipush 170
sastore
dup
sipush 152
sipush 200
sastore
dup
sipush 153
bipush 116
sastore
dup
sipush 154
sipush 220
sastore
dup
sipush 155
sipush 201
sastore
dup
sipush 156
bipush 93
sastore
dup
sipush 157
bipush 92
sastore
dup
sipush 158
bipush 49
sastore
dup
sipush 159
sipush 164
sastore
dup
sipush 160
11: .line 28
bipush 112
sastore
dup
sipush 161
sipush 136
sastore
dup
sipush 162
bipush 97
sastore
dup
sipush 163
bipush 44
sastore
dup
sipush 164
sipush 159
sastore
dup
sipush 165
bipush 13
sastore
dup
sipush 166
bipush 43
sastore
dup
sipush 167
sipush 135
sastore
dup
sipush 168
bipush 80
sastore
dup
sipush 169
sipush 130
sastore
dup
sipush 170
bipush 84
sastore
dup
sipush 171
bipush 100
sastore
dup
sipush 172
bipush 38
sastore
dup
sipush 173
bipush 125
sastore
dup
sipush 174
iconst_3
sastore
dup
sipush 175
bipush 64
sastore
dup
sipush 176
12: .line 29
bipush 52
sastore
dup
sipush 177
bipush 75
sastore
dup
sipush 178
bipush 28
sastore
dup
sipush 179
bipush 115
sastore
dup
sipush 180
sipush 209
sastore
dup
sipush 181
sipush 196
sastore
dup
sipush 182
sipush 253
sastore
dup
sipush 183
bipush 59
sastore
dup
sipush 184
sipush 204
sastore
dup
sipush 185
sipush 251
sastore
dup
sipush 186
bipush 127
sastore
dup
sipush 187
sipush 171
sastore
dup
sipush 188
sipush 230
sastore
dup
sipush 189
bipush 62
sastore
dup
sipush 190
bipush 91
sastore
dup
sipush 191
sipush 165
sastore
dup
sipush 192
13: .line 30
sipush 173
sastore
dup
sipush 193
iconst_4
sastore
dup
sipush 194
bipush 35
sastore
dup
sipush 195
sipush 156
sastore
dup
sipush 196
bipush 20
sastore
dup
sipush 197
bipush 81
sastore
dup
sipush 198
bipush 34
sastore
dup
sipush 199
sipush 240
sastore
dup
sipush 200
bipush 41
sastore
dup
sipush 201
bipush 121
sastore
dup
sipush 202
bipush 113
sastore
dup
sipush 203
bipush 126
sastore
dup
sipush 204
sipush 255
sastore
dup
sipush 205
sipush 140
sastore
dup
sipush 206
bipush 14
sastore
dup
sipush 207
sipush 226
sastore
dup
sipush 208
14: .line 31
bipush 12
sastore
dup
sipush 209
sipush 239
sastore
dup
sipush 210
sipush 188
sastore
dup
sipush 211
bipush 114
sastore
dup
sipush 212
bipush 117
sastore
dup
sipush 213
bipush 111
sastore
dup
sipush 214
bipush 55
sastore
dup
sipush 215
sipush 161
sastore
dup
sipush 216
sipush 236
sastore
dup
sipush 217
sipush 211
sastore
dup
sipush 218
sipush 142
sastore
dup
sipush 219
bipush 98
sastore
dup
sipush 220
sipush 139
sastore
dup
sipush 221
sipush 134
sastore
dup
sipush 222
bipush 16
sastore
dup
sipush 223
sipush 232
sastore
dup
sipush 224
15: .line 32
bipush 8
sastore
dup
sipush 225
bipush 119
sastore
dup
sipush 226
bipush 17
sastore
dup
sipush 227
sipush 190
sastore
dup
sipush 228
sipush 146
sastore
dup
sipush 229
bipush 79
sastore
dup
sipush 230
bipush 36
sastore
dup
sipush 231
sipush 197
sastore
dup
sipush 232
bipush 50
sastore
dup
sipush 233
bipush 54
sastore
dup
sipush 234
sipush 157
sastore
dup
sipush 235
sipush 207
sastore
dup
sipush 236
sipush 243
sastore
dup
sipush 237
sipush 166
sastore
dup
sipush 238
sipush 187
sastore
dup
sipush 239
sipush 172
sastore
dup
sipush 240
16: .line 33
bipush 94
sastore
dup
sipush 241
bipush 108
sastore
dup
sipush 242
sipush 169
sastore
dup
sipush 243
bipush 19
sastore
dup
sipush 244
bipush 87
sastore
dup
sipush 245
bipush 37
sastore
dup
sipush 246
sipush 181
sastore
dup
sipush 247
sipush 227
sastore
dup
sipush 248
sipush 189
sastore
dup
sipush 249
sipush 168
sastore
dup
sipush 250
bipush 58
sastore
dup
sipush 251
iconst_1
sastore
dup
sipush 252
iconst_5
sastore
dup
sipush 253
bipush 89
sastore
dup
sipush 254
bipush 42
sastore
dup
sipush 255
bipush 70
sastore
17: .line 16
putstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
18: .line 34
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
0: .line 11
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
public void init(boolean, org.bouncycastle.crypto.CipherParameters);
descriptor: (ZLorg/bouncycastle/crypto/CipherParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
start local 1 // boolean encrypting
start local 2 // org.bouncycastle.crypto.CipherParameters params
0: .line 51
aload 2 /* params */
instanceof org.bouncycastle.crypto.params.KeyParameter
ifne 2
1: .line 53
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid parameter passed to SKIPJACK init - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* params */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 56
StackMap locals:
StackMap stack:
aload 2 /* params */
checkcast org.bouncycastle.crypto.params.KeyParameter
invokevirtual org.bouncycastle.crypto.params.KeyParameter.getKey:()[B
astore 3 /* keyBytes */
start local 3 // byte[] keyBytes
3: .line 58
aload 0 /* this */
iload 1 /* encrypting */
putfield org.bouncycastle.crypto.engines.SkipjackEngine.encrypting:Z
4: .line 59
aload 0 /* this */
bipush 32
newarray 10
putfield org.bouncycastle.crypto.engines.SkipjackEngine.key0:[I
5: .line 60
aload 0 /* this */
bipush 32
newarray 10
putfield org.bouncycastle.crypto.engines.SkipjackEngine.key1:[I
6: .line 61
aload 0 /* this */
bipush 32
newarray 10
putfield org.bouncycastle.crypto.engines.SkipjackEngine.key2:[I
7: .line 62
aload 0 /* this */
bipush 32
newarray 10
putfield org.bouncycastle.crypto.engines.SkipjackEngine.key3:[I
8: .line 68
iconst_0
istore 4 /* i */
start local 4 // int i
9: goto 15
10: .line 70
StackMap locals: byte[] int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key0:[I
iload 4 /* i */
aload 3 /* keyBytes */
iload 4 /* i */
iconst_4
imul
bipush 10
irem
baload
sipush 255
iand
iastore
11: .line 71
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key1:[I
iload 4 /* i */
aload 3 /* keyBytes */
iload 4 /* i */
iconst_4
imul
iconst_1
iadd
bipush 10
irem
baload
sipush 255
iand
iastore
12: .line 72
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key2:[I
iload 4 /* i */
aload 3 /* keyBytes */
iload 4 /* i */
iconst_4
imul
iconst_2
iadd
bipush 10
irem
baload
sipush 255
iand
iastore
13: .line 73
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key3:[I
iload 4 /* i */
aload 3 /* keyBytes */
iload 4 /* i */
iconst_4
imul
iconst_3
iadd
bipush 10
irem
baload
sipush 255
iand
iastore
14: .line 68
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 4 /* i */
bipush 32
if_icmplt 10
end local 4 // int i
16: .line 75
return
end local 3 // byte[] keyBytes
end local 2 // org.bouncycastle.crypto.CipherParameters params
end local 1 // boolean encrypting
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
0 17 1 encrypting Z
0 17 2 params Lorg/bouncycastle/crypto/CipherParameters;
3 17 3 keyBytes [B
9 16 4 i I
MethodParameters:
Name Flags
encrypting
params
public java.lang.String getAlgorithmName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
0: .line 79
ldc "SKIPJACK"
areturn
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
public int getBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
0: .line 84
bipush 8
ireturn
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
public int processBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // byte[] out
start local 4 // int outOff
0: .line 93
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key1:[I
ifnonnull 2
1: .line 95
new java.lang.IllegalStateException
dup
ldc "SKIPJACK engine not initialised"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: .line 98
StackMap locals:
StackMap stack:
iload 2 /* inOff */
bipush 8
iadd
aload 1 /* in */
arraylength
if_icmple 4
3: .line 100
new org.bouncycastle.crypto.DataLengthException
dup
ldc "input buffer too short"
invokespecial org.bouncycastle.crypto.DataLengthException.<init>:(Ljava/lang/String;)V
athrow
4: .line 103
StackMap locals:
StackMap stack:
iload 4 /* outOff */
bipush 8
iadd
aload 3 /* out */
arraylength
if_icmple 6
5: .line 105
new org.bouncycastle.crypto.DataLengthException
dup
ldc "output buffer too short"
invokespecial org.bouncycastle.crypto.DataLengthException.<init>:(Ljava/lang/String;)V
athrow
6: .line 108
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.encrypting:Z
ifeq 9
7: .line 110
aload 0 /* this */
aload 1 /* in */
iload 2 /* inOff */
aload 3 /* out */
iload 4 /* outOff */
invokevirtual org.bouncycastle.crypto.engines.SkipjackEngine.encryptBlock:([BI[BI)I
pop
8: .line 111
goto 10
9: .line 114
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* in */
iload 2 /* inOff */
aload 3 /* out */
iload 4 /* outOff */
invokevirtual org.bouncycastle.crypto.engines.SkipjackEngine.decryptBlock:([BI[BI)I
pop
10: .line 117
StackMap locals:
StackMap stack:
bipush 8
ireturn
end local 4 // int outOff
end local 3 // byte[] out
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
0 11 1 in [B
0 11 2 inOff I
0 11 3 out [B
0 11 4 outOff I
MethodParameters:
Name Flags
in
inOff
out
outOff
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
0: .line 122
return
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
private int g(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
start local 1 // int k
start local 2 // int w
0: .line 133
iload 2 /* w */
bipush 8
ishr
sipush 255
iand
istore 3 /* g1 */
start local 3 // int g1
1: .line 134
iload 2 /* w */
sipush 255
iand
istore 4 /* g2 */
start local 4 // int g2
2: .line 136
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 4 /* g2 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key0:[I
iload 1 /* k */
iaload
ixor
saload
iload 3 /* g1 */
ixor
istore 5 /* g3 */
start local 5 // int g3
3: .line 137
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 5 /* g3 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key1:[I
iload 1 /* k */
iaload
ixor
saload
iload 4 /* g2 */
ixor
istore 6 /* g4 */
start local 6 // int g4
4: .line 138
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 6 /* g4 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key2:[I
iload 1 /* k */
iaload
ixor
saload
iload 5 /* g3 */
ixor
istore 7 /* g5 */
start local 7 // int g5
5: .line 139
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 7 /* g5 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key3:[I
iload 1 /* k */
iaload
ixor
saload
iload 6 /* g4 */
ixor
istore 8 /* g6 */
start local 8 // int g6
6: .line 141
iload 7 /* g5 */
bipush 8
ishl
iload 8 /* g6 */
iadd
ireturn
end local 8 // int g6
end local 7 // int g5
end local 6 // int g4
end local 5 // int g3
end local 4 // int g2
end local 3 // int g1
end local 2 // int w
end local 1 // int k
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
0 7 1 k I
0 7 2 w I
1 7 3 g1 I
2 7 4 g2 I
3 7 5 g3 I
4 7 6 g4 I
5 7 7 g5 I
6 7 8 g6 I
MethodParameters:
Name Flags
k
w
public int encryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=13, args_size=5
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // byte[] out
start local 4 // int outOff
0: .line 150
aload 1 /* in */
iload 2 /* inOff */
iconst_0
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_1
iadd
baload
sipush 255
iand
iadd
istore 5 /* w1 */
start local 5 // int w1
1: .line 151
aload 1 /* in */
iload 2 /* inOff */
iconst_2
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_3
iadd
baload
sipush 255
iand
iadd
istore 6 /* w2 */
start local 6 // int w2
2: .line 152
aload 1 /* in */
iload 2 /* inOff */
iconst_4
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_5
iadd
baload
sipush 255
iand
iadd
istore 7 /* w3 */
start local 7 // int w3
3: .line 153
aload 1 /* in */
iload 2 /* inOff */
bipush 6
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
bipush 7
iadd
baload
sipush 255
iand
iadd
istore 8 /* w4 */
start local 8 // int w4
4: .line 155
iconst_0
istore 9 /* k */
start local 9 // int k
5: .line 157
iconst_0
istore 10 /* t */
start local 10 // int t
6: goto 28
7: .line 159
StackMap locals: org.bouncycastle.crypto.engines.SkipjackEngine byte[] int byte[] int int int int int int int
StackMap stack:
iconst_0
istore 11 /* i */
start local 11 // int i
8: goto 16
9: .line 161
StackMap locals: int
StackMap stack:
iload 8 /* w4 */
istore 12 /* tmp */
start local 12 // int tmp
10: .line 162
iload 7 /* w3 */
istore 8 /* w4 */
11: .line 163
iload 6 /* w2 */
istore 7 /* w3 */
12: .line 164
aload 0 /* this */
iload 9 /* k */
iload 5 /* w1 */
invokevirtual org.bouncycastle.crypto.engines.SkipjackEngine.g:(II)I
istore 6 /* w2 */
13: .line 165
iload 6 /* w2 */
iload 12 /* tmp */
ixor
iload 9 /* k */
iconst_1
iadd
ixor
istore 5 /* w1 */
14: .line 166
iinc 9 /* k */ 1
end local 12 // int tmp
15: .line 159
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 11 /* i */
bipush 8
if_icmplt 9
end local 11 // int i
17: .line 169
iconst_0
istore 11 /* i */
start local 11 // int i
18: goto 26
19: .line 171
StackMap locals:
StackMap stack:
iload 8 /* w4 */
istore 12 /* tmp */
start local 12 // int tmp
20: .line 172
iload 7 /* w3 */
istore 8 /* w4 */
21: .line 173
iload 5 /* w1 */
iload 6 /* w2 */
ixor
iload 9 /* k */
iconst_1
iadd
ixor
istore 7 /* w3 */
22: .line 174
aload 0 /* this */
iload 9 /* k */
iload 5 /* w1 */
invokevirtual org.bouncycastle.crypto.engines.SkipjackEngine.g:(II)I
istore 6 /* w2 */
23: .line 175
iload 12 /* tmp */
istore 5 /* w1 */
24: .line 176
iinc 9 /* k */ 1
end local 12 // int tmp
25: .line 169
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 11 /* i */
bipush 8
if_icmplt 19
end local 11 // int i
27: .line 157
iinc 10 /* t */ 1
StackMap locals:
StackMap stack:
28: iload 10 /* t */
iconst_2
if_icmplt 7
end local 10 // int t
29: .line 180
aload 3 /* out */
iload 4 /* outOff */
iconst_0
iadd
iload 5 /* w1 */
bipush 8
ishr
i2b
bastore
30: .line 181
aload 3 /* out */
iload 4 /* outOff */
iconst_1
iadd
iload 5 /* w1 */
i2b
bastore
31: .line 182
aload 3 /* out */
iload 4 /* outOff */
iconst_2
iadd
iload 6 /* w2 */
bipush 8
ishr
i2b
bastore
32: .line 183
aload 3 /* out */
iload 4 /* outOff */
iconst_3
iadd
iload 6 /* w2 */
i2b
bastore
33: .line 184
aload 3 /* out */
iload 4 /* outOff */
iconst_4
iadd
iload 7 /* w3 */
bipush 8
ishr
i2b
bastore
34: .line 185
aload 3 /* out */
iload 4 /* outOff */
iconst_5
iadd
iload 7 /* w3 */
i2b
bastore
35: .line 186
aload 3 /* out */
iload 4 /* outOff */
bipush 6
iadd
iload 8 /* w4 */
bipush 8
ishr
i2b
bastore
36: .line 187
aload 3 /* out */
iload 4 /* outOff */
bipush 7
iadd
iload 8 /* w4 */
i2b
bastore
37: .line 189
bipush 8
ireturn
end local 9 // int k
end local 8 // int w4
end local 7 // int w3
end local 6 // int w2
end local 5 // int w1
end local 4 // int outOff
end local 3 // byte[] out
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
0 38 1 in [B
0 38 2 inOff I
0 38 3 out [B
0 38 4 outOff I
1 38 5 w1 I
2 38 6 w2 I
3 38 7 w3 I
4 38 8 w4 I
5 38 9 k I
6 29 10 t I
8 17 11 i I
10 15 12 tmp I
18 27 11 i I
20 25 12 tmp I
MethodParameters:
Name Flags
in
inOff
out
outOff
private int h(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
start local 1 // int k
start local 2 // int w
0: .line 201
iload 2 /* w */
sipush 255
iand
istore 3 /* h1 */
start local 3 // int h1
1: .line 202
iload 2 /* w */
bipush 8
ishr
sipush 255
iand
istore 4 /* h2 */
start local 4 // int h2
2: .line 204
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 4 /* h2 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key3:[I
iload 1 /* k */
iaload
ixor
saload
iload 3 /* h1 */
ixor
istore 5 /* h3 */
start local 5 // int h3
3: .line 205
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 5 /* h3 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key2:[I
iload 1 /* k */
iaload
ixor
saload
iload 4 /* h2 */
ixor
istore 6 /* h4 */
start local 6 // int h4
4: .line 206
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 6 /* h4 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key1:[I
iload 1 /* k */
iaload
ixor
saload
iload 5 /* h3 */
ixor
istore 7 /* h5 */
start local 7 // int h5
5: .line 207
getstatic org.bouncycastle.crypto.engines.SkipjackEngine.ftable:[S
iload 7 /* h5 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.SkipjackEngine.key0:[I
iload 1 /* k */
iaload
ixor
saload
iload 6 /* h4 */
ixor
istore 8 /* h6 */
start local 8 // int h6
6: .line 209
iload 8 /* h6 */
bipush 8
ishl
iload 7 /* h5 */
iadd
ireturn
end local 8 // int h6
end local 7 // int h5
end local 6 // int h4
end local 5 // int h3
end local 4 // int h2
end local 3 // int h1
end local 2 // int w
end local 1 // int k
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
0 7 1 k I
0 7 2 w I
1 7 3 h1 I
2 7 4 h2 I
3 7 5 h3 I
4 7 6 h4 I
5 7 7 h5 I
6 7 8 h6 I
MethodParameters:
Name Flags
k
w
public int decryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=13, args_size=5
start local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // byte[] out
start local 4 // int outOff
0: .line 218
aload 1 /* in */
iload 2 /* inOff */
iconst_0
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_1
iadd
baload
sipush 255
iand
iadd
istore 5 /* w2 */
start local 5 // int w2
1: .line 219
aload 1 /* in */
iload 2 /* inOff */
iconst_2
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_3
iadd
baload
sipush 255
iand
iadd
istore 6 /* w1 */
start local 6 // int w1
2: .line 220
aload 1 /* in */
iload 2 /* inOff */
iconst_4
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_5
iadd
baload
sipush 255
iand
iadd
istore 7 /* w4 */
start local 7 // int w4
3: .line 221
aload 1 /* in */
iload 2 /* inOff */
bipush 6
iadd
baload
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
bipush 7
iadd
baload
sipush 255
iand
iadd
istore 8 /* w3 */
start local 8 // int w3
4: .line 223
bipush 31
istore 9 /* k */
start local 9 // int k
5: .line 225
iconst_0
istore 10 /* t */
start local 10 // int t
6: goto 28
7: .line 227
StackMap locals: org.bouncycastle.crypto.engines.SkipjackEngine byte[] int byte[] int int int int int int int
StackMap stack:
iconst_0
istore 11 /* i */
start local 11 // int i
8: goto 16
9: .line 229
StackMap locals: int
StackMap stack:
iload 7 /* w4 */
istore 12 /* tmp */
start local 12 // int tmp
10: .line 230
iload 8 /* w3 */
istore 7 /* w4 */
11: .line 231
iload 5 /* w2 */
istore 8 /* w3 */
12: .line 232
aload 0 /* this */
iload 9 /* k */
iload 6 /* w1 */
invokevirtual org.bouncycastle.crypto.engines.SkipjackEngine.h:(II)I
istore 5 /* w2 */
13: .line 233
iload 5 /* w2 */
iload 12 /* tmp */
ixor
iload 9 /* k */
iconst_1
iadd
ixor
istore 6 /* w1 */
14: .line 234
iinc 9 /* k */ -1
end local 12 // int tmp
15: .line 227
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 11 /* i */
bipush 8
if_icmplt 9
end local 11 // int i
17: .line 237
iconst_0
istore 11 /* i */
start local 11 // int i
18: goto 26
19: .line 239
StackMap locals:
StackMap stack:
iload 7 /* w4 */
istore 12 /* tmp */
start local 12 // int tmp
20: .line 240
iload 8 /* w3 */
istore 7 /* w4 */
21: .line 241
iload 6 /* w1 */
iload 5 /* w2 */
ixor
iload 9 /* k */
iconst_1
iadd
ixor
istore 8 /* w3 */
22: .line 242
aload 0 /* this */
iload 9 /* k */
iload 6 /* w1 */
invokevirtual org.bouncycastle.crypto.engines.SkipjackEngine.h:(II)I
istore 5 /* w2 */
23: .line 243
iload 12 /* tmp */
istore 6 /* w1 */
24: .line 244
iinc 9 /* k */ -1
end local 12 // int tmp
25: .line 237
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 11 /* i */
bipush 8
if_icmplt 19
end local 11 // int i
27: .line 225
iinc 10 /* t */ 1
StackMap locals:
StackMap stack:
28: iload 10 /* t */
iconst_2
if_icmplt 7
end local 10 // int t
29: .line 248
aload 3 /* out */
iload 4 /* outOff */
iconst_0
iadd
iload 5 /* w2 */
bipush 8
ishr
i2b
bastore
30: .line 249
aload 3 /* out */
iload 4 /* outOff */
iconst_1
iadd
iload 5 /* w2 */
i2b
bastore
31: .line 250
aload 3 /* out */
iload 4 /* outOff */
iconst_2
iadd
iload 6 /* w1 */
bipush 8
ishr
i2b
bastore
32: .line 251
aload 3 /* out */
iload 4 /* outOff */
iconst_3
iadd
iload 6 /* w1 */
i2b
bastore
33: .line 252
aload 3 /* out */
iload 4 /* outOff */
iconst_4
iadd
iload 7 /* w4 */
bipush 8
ishr
i2b
bastore
34: .line 253
aload 3 /* out */
iload 4 /* outOff */
iconst_5
iadd
iload 7 /* w4 */
i2b
bastore
35: .line 254
aload 3 /* out */
iload 4 /* outOff */
bipush 6
iadd
iload 8 /* w3 */
bipush 8
ishr
i2b
bastore
36: .line 255
aload 3 /* out */
iload 4 /* outOff */
bipush 7
iadd
iload 8 /* w3 */
i2b
bastore
37: .line 257
bipush 8
ireturn
end local 9 // int k
end local 8 // int w3
end local 7 // int w4
end local 6 // int w1
end local 5 // int w2
end local 4 // int outOff
end local 3 // byte[] out
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.engines.SkipjackEngine this
LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/bouncycastle/crypto/engines/SkipjackEngine;
0 38 1 in [B
0 38 2 inOff I
0 38 3 out [B
0 38 4 outOff I
1 38 5 w2 I
2 38 6 w1 I
3 38 7 w4 I
4 38 8 w3 I
5 38 9 k I
6 29 10 t I
8 17 11 i I
10 15 12 tmp I
18 27 11 i I
20 25 12 tmp I
MethodParameters:
Name Flags
in
inOff
out
outOff
}
SourceFile: "SkipjackEngine.java"