public class org.bouncycastle.crypto.engines.GOST28147Engine implements org.bouncycastle.crypto.BlockCipher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.engines.GOST28147Engine
super_class: java.lang.Object
{
protected static final int BLOCK_SIZE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private int[] workingKey;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private boolean forEncryption;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] S;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private static byte[] Sbox_Default;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] ESbox_Test;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] ESbox_A;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] ESbox_B;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] ESbox_C;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] ESbox_D;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] Param_Z;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] DSbox_Test;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] DSbox_A;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.Hashtable sBoxes;
descriptor: Ljava/util/Hashtable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 29
sipush 128
newarray 8
dup
iconst_0
1: .line 30
iconst_4
bastore
dup
iconst_1
bipush 10
bastore
dup
iconst_2
bipush 9
bastore
dup
iconst_3
iconst_2
bastore
dup
iconst_4
bipush 13
bastore
dup
iconst_5
bipush 8
bastore
dup
bipush 7
bipush 14
bastore
dup
bipush 8
bipush 6
bastore
dup
bipush 9
bipush 11
bastore
dup
bipush 10
iconst_1
bastore
dup
bipush 11
bipush 12
bastore
dup
bipush 12
bipush 7
bastore
dup
bipush 13
bipush 15
bastore
dup
bipush 14
iconst_5
bastore
dup
bipush 15
iconst_3
bastore
dup
bipush 16
2: .line 31
bipush 14
bastore
dup
bipush 17
bipush 11
bastore
dup
bipush 18
iconst_4
bastore
dup
bipush 19
bipush 12
bastore
dup
bipush 20
bipush 6
bastore
dup
bipush 21
bipush 13
bastore
dup
bipush 22
bipush 15
bastore
dup
bipush 23
bipush 10
bastore
dup
bipush 24
iconst_2
bastore
dup
bipush 25
iconst_3
bastore
dup
bipush 26
bipush 8
bastore
dup
bipush 27
iconst_1
bastore
dup
bipush 29
bipush 7
bastore
dup
bipush 30
iconst_5
bastore
dup
bipush 31
bipush 9
bastore
dup
bipush 32
3: .line 32
iconst_5
bastore
dup
bipush 33
bipush 8
bastore
dup
bipush 34
iconst_1
bastore
dup
bipush 35
bipush 13
bastore
dup
bipush 36
bipush 10
bastore
dup
bipush 37
iconst_3
bastore
dup
bipush 38
iconst_4
bastore
dup
bipush 39
iconst_2
bastore
dup
bipush 40
bipush 14
bastore
dup
bipush 41
bipush 15
bastore
dup
bipush 42
bipush 12
bastore
dup
bipush 43
bipush 7
bastore
dup
bipush 44
bipush 6
bastore
dup
bipush 46
bipush 9
bastore
dup
bipush 47
bipush 11
bastore
dup
bipush 48
4: .line 33
bipush 7
bastore
dup
bipush 49
bipush 13
bastore
dup
bipush 50
bipush 10
bastore
dup
bipush 51
iconst_1
bastore
dup
bipush 53
bipush 8
bastore
dup
bipush 54
bipush 9
bastore
dup
bipush 55
bipush 15
bastore
dup
bipush 56
bipush 14
bastore
dup
bipush 57
iconst_4
bastore
dup
bipush 58
bipush 6
bastore
dup
bipush 59
bipush 12
bastore
dup
bipush 60
bipush 11
bastore
dup
bipush 61
iconst_2
bastore
dup
bipush 62
iconst_5
bastore
dup
bipush 63
iconst_3
bastore
dup
bipush 64
5: .line 34
bipush 6
bastore
dup
bipush 65
bipush 12
bastore
dup
bipush 66
bipush 7
bastore
dup
bipush 67
iconst_1
bastore
dup
bipush 68
iconst_5
bastore
dup
bipush 69
bipush 15
bastore
dup
bipush 70
bipush 13
bastore
dup
bipush 71
bipush 8
bastore
dup
bipush 72
iconst_4
bastore
dup
bipush 73
bipush 10
bastore
dup
bipush 74
bipush 9
bastore
dup
bipush 75
bipush 14
bastore
dup
bipush 77
iconst_3
bastore
dup
bipush 78
bipush 11
bastore
dup
bipush 79
iconst_2
bastore
dup
bipush 80
6: .line 35
iconst_4
bastore
dup
bipush 81
bipush 11
bastore
dup
bipush 82
bipush 10
bastore
dup
bipush 84
bipush 7
bastore
dup
bipush 85
iconst_2
bastore
dup
bipush 86
iconst_1
bastore
dup
bipush 87
bipush 13
bastore
dup
bipush 88
iconst_3
bastore
dup
bipush 89
bipush 6
bastore
dup
bipush 90
bipush 8
bastore
dup
bipush 91
iconst_5
bastore
dup
bipush 92
bipush 9
bastore
dup
bipush 93
bipush 12
bastore
dup
bipush 94
bipush 15
bastore
dup
bipush 95
bipush 14
bastore
dup
bipush 96
7: .line 36
bipush 13
bastore
dup
bipush 97
bipush 11
bastore
dup
bipush 98
iconst_4
bastore
dup
bipush 99
iconst_1
bastore
dup
bipush 100
iconst_3
bastore
dup
bipush 101
bipush 15
bastore
dup
bipush 102
iconst_5
bastore
dup
bipush 103
bipush 9
bastore
dup
bipush 105
bipush 10
bastore
dup
bipush 106
bipush 14
bastore
dup
bipush 107
bipush 7
bastore
dup
bipush 108
bipush 6
bastore
dup
bipush 109
bipush 8
bastore
dup
bipush 110
iconst_2
bastore
dup
bipush 111
bipush 12
bastore
dup
bipush 112
8: .line 37
iconst_1
bastore
dup
bipush 113
bipush 15
bastore
dup
bipush 114
bipush 13
bastore
dup
bipush 116
iconst_5
bastore
dup
bipush 117
bipush 7
bastore
dup
bipush 118
bipush 10
bastore
dup
bipush 119
iconst_4
bastore
dup
bipush 120
bipush 9
bastore
dup
bipush 121
iconst_2
bastore
dup
bipush 122
iconst_3
bastore
dup
bipush 123
bipush 14
bastore
dup
bipush 124
bipush 6
bastore
dup
bipush 125
bipush 11
bastore
dup
bipush 126
bipush 8
bastore
dup
bipush 127
bipush 12
bastore
9: .line 29
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.Sbox_Default:[B
10: .line 45
sipush 128
newarray 8
dup
iconst_0
11: .line 46
iconst_4
bastore
dup
iconst_1
iconst_2
bastore
dup
iconst_2
bipush 15
bastore
dup
iconst_3
iconst_5
bastore
dup
iconst_4
bipush 9
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 7
bipush 8
bastore
dup
bipush 8
bipush 14
bastore
dup
bipush 9
iconst_3
bastore
dup
bipush 10
bipush 11
bastore
dup
bipush 11
bipush 12
bastore
dup
bipush 12
bipush 13
bastore
dup
bipush 13
bipush 7
bastore
dup
bipush 14
bipush 10
bastore
dup
bipush 15
bipush 6
bastore
dup
bipush 16
12: .line 47
bipush 12
bastore
dup
bipush 17
bipush 9
bastore
dup
bipush 18
bipush 15
bastore
dup
bipush 19
bipush 14
bastore
dup
bipush 20
bipush 8
bastore
dup
bipush 21
iconst_1
bastore
dup
bipush 22
iconst_3
bastore
dup
bipush 23
bipush 10
bastore
dup
bipush 24
iconst_2
bastore
dup
bipush 25
bipush 7
bastore
dup
bipush 26
iconst_4
bastore
dup
bipush 27
bipush 13
bastore
dup
bipush 28
bipush 6
bastore
dup
bipush 30
bipush 11
bastore
dup
bipush 31
iconst_5
bastore
dup
bipush 32
13: .line 48
bipush 13
bastore
dup
bipush 33
bipush 8
bastore
dup
bipush 34
bipush 14
bastore
dup
bipush 35
bipush 12
bastore
dup
bipush 36
bipush 7
bastore
dup
bipush 37
iconst_3
bastore
dup
bipush 38
bipush 9
bastore
dup
bipush 39
bipush 10
bastore
dup
bipush 40
iconst_1
bastore
dup
bipush 41
iconst_5
bastore
dup
bipush 42
iconst_2
bastore
dup
bipush 43
iconst_4
bastore
dup
bipush 44
bipush 6
bastore
dup
bipush 45
bipush 15
bastore
dup
bipush 47
bipush 11
bastore
dup
bipush 48
14: .line 49
bipush 14
bastore
dup
bipush 49
bipush 9
bastore
dup
bipush 50
bipush 11
bastore
dup
bipush 51
iconst_2
bastore
dup
bipush 52
iconst_5
bastore
dup
bipush 53
bipush 15
bastore
dup
bipush 54
bipush 7
bastore
dup
bipush 55
iconst_1
bastore
dup
bipush 57
bipush 13
bastore
dup
bipush 58
bipush 12
bastore
dup
bipush 59
bipush 6
bastore
dup
bipush 60
bipush 10
bastore
dup
bipush 61
iconst_4
bastore
dup
bipush 62
iconst_3
bastore
dup
bipush 63
bipush 8
bastore
dup
bipush 64
15: .line 50
iconst_3
bastore
dup
bipush 65
bipush 14
bastore
dup
bipush 66
iconst_5
bastore
dup
bipush 67
bipush 9
bastore
dup
bipush 68
bipush 6
bastore
dup
bipush 69
bipush 8
bastore
dup
bipush 71
bipush 13
bastore
dup
bipush 72
bipush 10
bastore
dup
bipush 73
bipush 11
bastore
dup
bipush 74
bipush 7
bastore
dup
bipush 75
bipush 12
bastore
dup
bipush 76
iconst_2
bastore
dup
bipush 77
iconst_1
bastore
dup
bipush 78
bipush 15
bastore
dup
bipush 79
iconst_4
bastore
dup
bipush 80
16: .line 51
bipush 8
bastore
dup
bipush 81
bipush 15
bastore
dup
bipush 82
bipush 6
bastore
dup
bipush 83
bipush 11
bastore
dup
bipush 84
iconst_1
bastore
dup
bipush 85
bipush 9
bastore
dup
bipush 86
bipush 12
bastore
dup
bipush 87
iconst_5
bastore
dup
bipush 88
bipush 13
bastore
dup
bipush 89
iconst_3
bastore
dup
bipush 90
bipush 7
bastore
dup
bipush 91
bipush 10
bastore
dup
bipush 93
bipush 14
bastore
dup
bipush 94
iconst_2
bastore
dup
bipush 95
iconst_4
bastore
dup
bipush 96
17: .line 52
bipush 9
bastore
dup
bipush 97
bipush 11
bastore
dup
bipush 98
bipush 12
bastore
dup
bipush 100
iconst_3
bastore
dup
bipush 101
bipush 6
bastore
dup
bipush 102
bipush 7
bastore
dup
bipush 103
iconst_5
bastore
dup
bipush 104
iconst_4
bastore
dup
bipush 105
bipush 8
bastore
dup
bipush 106
bipush 14
bastore
dup
bipush 107
bipush 15
bastore
dup
bipush 108
iconst_1
bastore
dup
bipush 109
bipush 10
bastore
dup
bipush 110
iconst_2
bastore
dup
bipush 111
bipush 13
bastore
dup
bipush 112
18: .line 53
bipush 12
bastore
dup
bipush 113
bipush 6
bastore
dup
bipush 114
iconst_5
bastore
dup
bipush 115
iconst_2
bastore
dup
bipush 116
bipush 11
bastore
dup
bipush 118
bipush 9
bastore
dup
bipush 119
bipush 13
bastore
dup
bipush 120
iconst_3
bastore
dup
bipush 121
bipush 14
bastore
dup
bipush 122
bipush 7
bastore
dup
bipush 123
bipush 10
bastore
dup
bipush 124
bipush 15
bastore
dup
bipush 125
iconst_4
bastore
dup
bipush 126
iconst_1
bastore
dup
bipush 127
bipush 8
bastore
19: .line 45
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_Test:[B
20: .line 56
sipush 128
newarray 8
dup
iconst_0
21: .line 57
bipush 9
bastore
dup
iconst_1
bipush 6
bastore
dup
iconst_2
iconst_3
bastore
dup
iconst_3
iconst_2
bastore
dup
iconst_4
bipush 8
bastore
dup
iconst_5
bipush 11
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
bipush 7
bastore
dup
bipush 8
bipush 10
bastore
dup
bipush 9
iconst_4
bastore
dup
bipush 10
bipush 14
bastore
dup
bipush 11
bipush 15
bastore
dup
bipush 12
bipush 12
bastore
dup
bipush 14
bipush 13
bastore
dup
bipush 15
iconst_5
bastore
dup
bipush 16
22: .line 58
iconst_3
bastore
dup
bipush 17
bipush 7
bastore
dup
bipush 18
bipush 14
bastore
dup
bipush 19
bipush 9
bastore
dup
bipush 20
bipush 8
bastore
dup
bipush 21
bipush 10
bastore
dup
bipush 22
bipush 15
bastore
dup
bipush 24
iconst_5
bastore
dup
bipush 25
iconst_2
bastore
dup
bipush 26
bipush 6
bastore
dup
bipush 27
bipush 12
bastore
dup
bipush 28
bipush 11
bastore
dup
bipush 29
iconst_4
bastore
dup
bipush 30
bipush 13
bastore
dup
bipush 31
iconst_1
bastore
dup
bipush 32
23: .line 59
bipush 14
bastore
dup
bipush 33
iconst_4
bastore
dup
bipush 34
bipush 6
bastore
dup
bipush 35
iconst_2
bastore
dup
bipush 36
bipush 11
bastore
dup
bipush 37
iconst_3
bastore
dup
bipush 38
bipush 13
bastore
dup
bipush 39
bipush 8
bastore
dup
bipush 40
bipush 12
bastore
dup
bipush 41
bipush 15
bastore
dup
bipush 42
iconst_5
bastore
dup
bipush 43
bipush 10
bastore
dup
bipush 45
bipush 7
bastore
dup
bipush 46
iconst_1
bastore
dup
bipush 47
bipush 9
bastore
dup
bipush 48
24: .line 60
bipush 14
bastore
dup
bipush 49
bipush 7
bastore
dup
bipush 50
bipush 10
bastore
dup
bipush 51
bipush 12
bastore
dup
bipush 52
bipush 13
bastore
dup
bipush 53
iconst_1
bastore
dup
bipush 54
iconst_3
bastore
dup
bipush 55
bipush 9
bastore
dup
bipush 57
iconst_2
bastore
dup
bipush 58
bipush 11
bastore
dup
bipush 59
iconst_4
bastore
dup
bipush 60
bipush 15
bastore
dup
bipush 61
bipush 8
bastore
dup
bipush 62
iconst_5
bastore
dup
bipush 63
bipush 6
bastore
dup
bipush 64
25: .line 61
bipush 11
bastore
dup
bipush 65
iconst_5
bastore
dup
bipush 66
iconst_1
bastore
dup
bipush 67
bipush 9
bastore
dup
bipush 68
bipush 8
bastore
dup
bipush 69
bipush 13
bastore
dup
bipush 70
bipush 15
bastore
dup
bipush 72
bipush 14
bastore
dup
bipush 73
iconst_4
bastore
dup
bipush 74
iconst_2
bastore
dup
bipush 75
iconst_3
bastore
dup
bipush 76
bipush 12
bastore
dup
bipush 77
bipush 7
bastore
dup
bipush 78
bipush 10
bastore
dup
bipush 79
bipush 6
bastore
dup
bipush 80
26: .line 62
iconst_3
bastore
dup
bipush 81
bipush 10
bastore
dup
bipush 82
bipush 13
bastore
dup
bipush 83
bipush 12
bastore
dup
bipush 84
iconst_1
bastore
dup
bipush 85
iconst_2
bastore
dup
bipush 87
bipush 11
bastore
dup
bipush 88
bipush 7
bastore
dup
bipush 89
iconst_5
bastore
dup
bipush 90
bipush 9
bastore
dup
bipush 91
iconst_4
bastore
dup
bipush 92
bipush 8
bastore
dup
bipush 93
bipush 15
bastore
dup
bipush 94
bipush 14
bastore
dup
bipush 95
bipush 6
bastore
dup
bipush 96
27: .line 63
iconst_1
bastore
dup
bipush 97
bipush 13
bastore
dup
bipush 98
iconst_2
bastore
dup
bipush 99
bipush 9
bastore
dup
bipush 100
bipush 7
bastore
dup
bipush 101
bipush 10
bastore
dup
bipush 102
bipush 6
bastore
dup
bipush 104
bipush 8
bastore
dup
bipush 105
bipush 12
bastore
dup
bipush 106
iconst_4
bastore
dup
bipush 107
iconst_5
bastore
dup
bipush 108
bipush 15
bastore
dup
bipush 109
iconst_3
bastore
dup
bipush 110
bipush 11
bastore
dup
bipush 111
bipush 14
bastore
dup
bipush 112
28: .line 64
bipush 11
bastore
dup
bipush 113
bipush 10
bastore
dup
bipush 114
bipush 15
bastore
dup
bipush 115
iconst_5
bastore
dup
bipush 117
bipush 12
bastore
dup
bipush 118
bipush 14
bastore
dup
bipush 119
bipush 8
bastore
dup
bipush 120
bipush 6
bastore
dup
bipush 121
iconst_2
bastore
dup
bipush 122
iconst_3
bastore
dup
bipush 123
bipush 9
bastore
dup
bipush 124
iconst_1
bastore
dup
bipush 125
bipush 7
bastore
dup
bipush 126
bipush 13
bastore
dup
bipush 127
iconst_4
bastore
29: .line 56
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_A:[B
30: .line 67
sipush 128
newarray 8
dup
iconst_0
31: .line 68
bipush 8
bastore
dup
iconst_1
iconst_4
bastore
dup
iconst_2
bipush 11
bastore
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_3
bastore
dup
iconst_5
iconst_5
bastore
dup
bipush 7
bipush 9
bastore
dup
bipush 8
iconst_2
bastore
dup
bipush 9
bipush 14
bastore
dup
bipush 10
bipush 10
bastore
dup
bipush 11
bipush 12
bastore
dup
bipush 12
bipush 13
bastore
dup
bipush 13
bipush 6
bastore
dup
bipush 14
bipush 7
bastore
dup
bipush 15
bipush 15
bastore
dup
bipush 17
32: .line 69
iconst_1
bastore
dup
bipush 18
iconst_2
bastore
dup
bipush 19
bipush 10
bastore
dup
bipush 20
iconst_4
bastore
dup
bipush 21
bipush 13
bastore
dup
bipush 22
iconst_5
bastore
dup
bipush 23
bipush 12
bastore
dup
bipush 24
bipush 9
bastore
dup
bipush 25
bipush 7
bastore
dup
bipush 26
iconst_3
bastore
dup
bipush 27
bipush 15
bastore
dup
bipush 28
bipush 11
bastore
dup
bipush 29
bipush 8
bastore
dup
bipush 30
bipush 6
bastore
dup
bipush 31
bipush 14
bastore
dup
bipush 32
33: .line 70
bipush 14
bastore
dup
bipush 33
bipush 12
bastore
dup
bipush 35
bipush 10
bastore
dup
bipush 36
bipush 9
bastore
dup
bipush 37
iconst_2
bastore
dup
bipush 38
bipush 13
bastore
dup
bipush 39
bipush 11
bastore
dup
bipush 40
bipush 7
bastore
dup
bipush 41
iconst_5
bastore
dup
bipush 42
bipush 8
bastore
dup
bipush 43
bipush 15
bastore
dup
bipush 44
iconst_3
bastore
dup
bipush 45
bipush 6
bastore
dup
bipush 46
iconst_1
bastore
dup
bipush 47
iconst_4
bastore
dup
bipush 48
34: .line 71
bipush 7
bastore
dup
bipush 49
iconst_5
bastore
dup
bipush 51
bipush 13
bastore
dup
bipush 52
bipush 11
bastore
dup
bipush 53
bipush 6
bastore
dup
bipush 54
iconst_1
bastore
dup
bipush 55
iconst_2
bastore
dup
bipush 56
iconst_3
bastore
dup
bipush 57
bipush 10
bastore
dup
bipush 58
bipush 12
bastore
dup
bipush 59
bipush 15
bastore
dup
bipush 60
iconst_4
bastore
dup
bipush 61
bipush 14
bastore
dup
bipush 62
bipush 9
bastore
dup
bipush 63
bipush 8
bastore
dup
bipush 64
35: .line 72
iconst_2
bastore
dup
bipush 65
bipush 7
bastore
dup
bipush 66
bipush 12
bastore
dup
bipush 67
bipush 15
bastore
dup
bipush 68
bipush 9
bastore
dup
bipush 69
iconst_5
bastore
dup
bipush 70
bipush 10
bastore
dup
bipush 71
bipush 11
bastore
dup
bipush 72
iconst_1
bastore
dup
bipush 73
iconst_4
bastore
dup
bipush 75
bipush 13
bastore
dup
bipush 76
bipush 6
bastore
dup
bipush 77
bipush 8
bastore
dup
bipush 78
bipush 14
bastore
dup
bipush 79
iconst_3
bastore
dup
bipush 80
36: .line 73
bipush 8
bastore
dup
bipush 81
iconst_3
bastore
dup
bipush 82
iconst_2
bastore
dup
bipush 83
bipush 6
bastore
dup
bipush 84
iconst_4
bastore
dup
bipush 85
bipush 13
bastore
dup
bipush 86
bipush 14
bastore
dup
bipush 87
bipush 11
bastore
dup
bipush 88
bipush 12
bastore
dup
bipush 89
iconst_1
bastore
dup
bipush 90
bipush 7
bastore
dup
bipush 91
bipush 15
bastore
dup
bipush 92
bipush 10
bastore
dup
bipush 94
bipush 9
bastore
dup
bipush 95
iconst_5
bastore
dup
bipush 96
37: .line 74
iconst_5
bastore
dup
bipush 97
iconst_2
bastore
dup
bipush 98
bipush 10
bastore
dup
bipush 99
bipush 11
bastore
dup
bipush 100
bipush 9
bastore
dup
bipush 101
iconst_1
bastore
dup
bipush 102
bipush 12
bastore
dup
bipush 103
iconst_3
bastore
dup
bipush 104
bipush 7
bastore
dup
bipush 105
iconst_4
bastore
dup
bipush 106
bipush 13
bastore
dup
bipush 108
bipush 6
bastore
dup
bipush 109
bipush 15
bastore
dup
bipush 110
bipush 8
bastore
dup
bipush 111
bipush 14
bastore
dup
bipush 113
38: .line 75
iconst_4
bastore
dup
bipush 114
bipush 11
bastore
dup
bipush 115
bipush 14
bastore
dup
bipush 116
bipush 8
bastore
dup
bipush 117
iconst_3
bastore
dup
bipush 118
bipush 7
bastore
dup
bipush 119
iconst_1
bastore
dup
bipush 120
bipush 10
bastore
dup
bipush 121
iconst_2
bastore
dup
bipush 122
bipush 9
bastore
dup
bipush 123
bipush 6
bastore
dup
bipush 124
bipush 15
bastore
dup
bipush 125
bipush 13
bastore
dup
bipush 126
iconst_5
bastore
dup
bipush 127
bipush 12
bastore
39: .line 67
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_B:[B
40: .line 78
sipush 128
newarray 8
dup
iconst_0
41: .line 79
iconst_1
bastore
dup
iconst_1
bipush 11
bastore
dup
iconst_2
bipush 12
bastore
dup
iconst_3
iconst_2
bastore
dup
iconst_4
bipush 9
bastore
dup
iconst_5
bipush 13
bastore
dup
bipush 7
bipush 15
bastore
dup
bipush 8
iconst_4
bastore
dup
bipush 9
iconst_5
bastore
dup
bipush 10
bipush 8
bastore
dup
bipush 11
bipush 14
bastore
dup
bipush 12
bipush 10
bastore
dup
bipush 13
bipush 7
bastore
dup
bipush 14
bipush 6
bastore
dup
bipush 15
iconst_3
bastore
dup
bipush 17
42: .line 80
iconst_1
bastore
dup
bipush 18
bipush 7
bastore
dup
bipush 19
bipush 13
bastore
dup
bipush 20
bipush 11
bastore
dup
bipush 21
iconst_4
bastore
dup
bipush 22
iconst_5
bastore
dup
bipush 23
iconst_2
bastore
dup
bipush 24
bipush 8
bastore
dup
bipush 25
bipush 14
bastore
dup
bipush 26
bipush 15
bastore
dup
bipush 27
bipush 12
bastore
dup
bipush 28
bipush 9
bastore
dup
bipush 29
bipush 10
bastore
dup
bipush 30
bipush 6
bastore
dup
bipush 31
iconst_3
bastore
dup
bipush 32
43: .line 81
bipush 8
bastore
dup
bipush 33
iconst_2
bastore
dup
bipush 34
iconst_5
bastore
dup
bipush 36
iconst_4
bastore
dup
bipush 37
bipush 9
bastore
dup
bipush 38
bipush 15
bastore
dup
bipush 39
bipush 10
bastore
dup
bipush 40
iconst_3
bastore
dup
bipush 41
bipush 7
bastore
dup
bipush 42
bipush 12
bastore
dup
bipush 43
bipush 13
bastore
dup
bipush 44
bipush 6
bastore
dup
bipush 45
bipush 14
bastore
dup
bipush 46
iconst_1
bastore
dup
bipush 47
bipush 11
bastore
dup
bipush 48
44: .line 82
iconst_3
bastore
dup
bipush 49
bipush 6
bastore
dup
bipush 51
iconst_1
bastore
dup
bipush 52
iconst_5
bastore
dup
bipush 53
bipush 13
bastore
dup
bipush 54
bipush 10
bastore
dup
bipush 55
bipush 8
bastore
dup
bipush 56
bipush 11
bastore
dup
bipush 57
iconst_2
bastore
dup
bipush 58
bipush 9
bastore
dup
bipush 59
bipush 7
bastore
dup
bipush 60
bipush 14
bastore
dup
bipush 61
bipush 15
bastore
dup
bipush 62
bipush 12
bastore
dup
bipush 63
iconst_4
bastore
dup
bipush 64
45: .line 83
bipush 8
bastore
dup
bipush 65
bipush 13
bastore
dup
bipush 66
bipush 11
bastore
dup
bipush 68
iconst_4
bastore
dup
bipush 69
iconst_5
bastore
dup
bipush 70
iconst_1
bastore
dup
bipush 71
iconst_2
bastore
dup
bipush 72
bipush 9
bastore
dup
bipush 73
iconst_3
bastore
dup
bipush 74
bipush 12
bastore
dup
bipush 75
bipush 14
bastore
dup
bipush 76
bipush 6
bastore
dup
bipush 77
bipush 15
bastore
dup
bipush 78
bipush 10
bastore
dup
bipush 79
bipush 7
bastore
dup
bipush 80
46: .line 84
bipush 12
bastore
dup
bipush 81
bipush 9
bastore
dup
bipush 82
bipush 11
bastore
dup
bipush 83
iconst_1
bastore
dup
bipush 84
bipush 8
bastore
dup
bipush 85
bipush 14
bastore
dup
bipush 86
iconst_2
bastore
dup
bipush 87
iconst_4
bastore
dup
bipush 88
bipush 7
bastore
dup
bipush 89
iconst_3
bastore
dup
bipush 90
bipush 6
bastore
dup
bipush 91
iconst_5
bastore
dup
bipush 92
bipush 10
bastore
dup
bipush 94
bipush 15
bastore
dup
bipush 95
bipush 13
bastore
dup
bipush 96
47: .line 85
bipush 10
bastore
dup
bipush 97
bipush 9
bastore
dup
bipush 98
bipush 6
bastore
dup
bipush 99
bipush 8
bastore
dup
bipush 100
bipush 13
bastore
dup
bipush 101
bipush 14
bastore
dup
bipush 102
iconst_2
bastore
dup
bipush 104
bipush 15
bastore
dup
bipush 105
iconst_3
bastore
dup
bipush 106
iconst_5
bastore
dup
bipush 107
bipush 11
bastore
dup
bipush 108
iconst_4
bastore
dup
bipush 109
iconst_1
bastore
dup
bipush 110
bipush 12
bastore
dup
bipush 111
bipush 7
bastore
dup
bipush 112
48: .line 86
bipush 7
bastore
dup
bipush 113
iconst_4
bastore
dup
bipush 115
iconst_5
bastore
dup
bipush 116
bipush 10
bastore
dup
bipush 117
iconst_2
bastore
dup
bipush 118
bipush 15
bastore
dup
bipush 119
bipush 14
bastore
dup
bipush 120
bipush 12
bastore
dup
bipush 121
bipush 6
bastore
dup
bipush 122
iconst_1
bastore
dup
bipush 123
bipush 11
bastore
dup
bipush 124
bipush 13
bastore
dup
bipush 125
bipush 9
bastore
dup
bipush 126
iconst_3
bastore
dup
bipush 127
bipush 8
bastore
49: .line 78
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_C:[B
50: .line 89
sipush 128
newarray 8
dup
iconst_0
51: .line 90
bipush 15
bastore
dup
iconst_1
bipush 12
bastore
dup
iconst_2
iconst_2
bastore
dup
iconst_3
bipush 10
bastore
dup
iconst_4
bipush 6
bastore
dup
iconst_5
iconst_4
bastore
dup
bipush 6
iconst_5
bastore
dup
bipush 8
bipush 7
bastore
dup
bipush 9
bipush 9
bastore
dup
bipush 10
bipush 14
bastore
dup
bipush 11
bipush 13
bastore
dup
bipush 12
iconst_1
bastore
dup
bipush 13
bipush 11
bastore
dup
bipush 14
bipush 8
bastore
dup
bipush 15
iconst_3
bastore
dup
bipush 16
52: .line 91
bipush 11
bastore
dup
bipush 17
bipush 6
bastore
dup
bipush 18
iconst_3
bastore
dup
bipush 19
iconst_4
bastore
dup
bipush 20
bipush 12
bastore
dup
bipush 21
bipush 15
bastore
dup
bipush 22
bipush 14
bastore
dup
bipush 23
iconst_2
bastore
dup
bipush 24
bipush 7
bastore
dup
bipush 25
bipush 13
bastore
dup
bipush 26
bipush 8
bastore
dup
bipush 28
iconst_5
bastore
dup
bipush 29
bipush 10
bastore
dup
bipush 30
bipush 9
bastore
dup
bipush 31
iconst_1
bastore
dup
bipush 32
53: .line 92
iconst_1
bastore
dup
bipush 33
bipush 12
bastore
dup
bipush 34
bipush 11
bastore
dup
bipush 36
bipush 15
bastore
dup
bipush 37
bipush 14
bastore
dup
bipush 38
bipush 6
bastore
dup
bipush 39
iconst_5
bastore
dup
bipush 40
bipush 10
bastore
dup
bipush 41
bipush 13
bastore
dup
bipush 42
iconst_4
bastore
dup
bipush 43
bipush 8
bastore
dup
bipush 44
bipush 9
bastore
dup
bipush 45
iconst_3
bastore
dup
bipush 46
bipush 7
bastore
dup
bipush 47
iconst_2
bastore
dup
bipush 48
54: .line 93
iconst_1
bastore
dup
bipush 49
iconst_5
bastore
dup
bipush 50
bipush 14
bastore
dup
bipush 51
bipush 12
bastore
dup
bipush 52
bipush 10
bastore
dup
bipush 53
bipush 7
bastore
dup
bipush 55
bipush 13
bastore
dup
bipush 56
bipush 6
bastore
dup
bipush 57
iconst_2
bastore
dup
bipush 58
bipush 11
bastore
dup
bipush 59
iconst_4
bastore
dup
bipush 60
bipush 9
bastore
dup
bipush 61
iconst_3
bastore
dup
bipush 62
bipush 15
bastore
dup
bipush 63
bipush 8
bastore
dup
bipush 65
55: .line 94
bipush 12
bastore
dup
bipush 66
bipush 8
bastore
dup
bipush 67
bipush 9
bastore
dup
bipush 68
bipush 13
bastore
dup
bipush 69
iconst_2
bastore
dup
bipush 70
bipush 10
bastore
dup
bipush 71
bipush 11
bastore
dup
bipush 72
bipush 7
bastore
dup
bipush 73
iconst_3
bastore
dup
bipush 74
bipush 6
bastore
dup
bipush 75
iconst_5
bastore
dup
bipush 76
iconst_4
bastore
dup
bipush 77
bipush 14
bastore
dup
bipush 78
bipush 15
bastore
dup
bipush 79
iconst_1
bastore
dup
bipush 80
56: .line 95
bipush 8
bastore
dup
bipush 82
bipush 15
bastore
dup
bipush 83
iconst_3
bastore
dup
bipush 84
iconst_2
bastore
dup
bipush 85
iconst_5
bastore
dup
bipush 86
bipush 14
bastore
dup
bipush 87
bipush 11
bastore
dup
bipush 88
iconst_1
bastore
dup
bipush 89
bipush 10
bastore
dup
bipush 90
iconst_4
bastore
dup
bipush 91
bipush 7
bastore
dup
bipush 92
bipush 12
bastore
dup
bipush 93
bipush 9
bastore
dup
bipush 94
bipush 13
bastore
dup
bipush 95
bipush 6
bastore
dup
bipush 96
57: .line 96
iconst_3
bastore
dup
bipush 98
bipush 6
bastore
dup
bipush 99
bipush 15
bastore
dup
bipush 100
iconst_1
bastore
dup
bipush 101
bipush 14
bastore
dup
bipush 102
bipush 9
bastore
dup
bipush 103
iconst_2
bastore
dup
bipush 104
bipush 13
bastore
dup
bipush 105
bipush 8
bastore
dup
bipush 106
bipush 12
bastore
dup
bipush 107
iconst_4
bastore
dup
bipush 108
bipush 11
bastore
dup
bipush 109
bipush 10
bastore
dup
bipush 110
iconst_5
bastore
dup
bipush 111
bipush 7
bastore
dup
bipush 112
58: .line 97
iconst_1
bastore
dup
bipush 113
bipush 10
bastore
dup
bipush 114
bipush 6
bastore
dup
bipush 115
bipush 8
bastore
dup
bipush 116
bipush 15
bastore
dup
bipush 117
bipush 11
bastore
dup
bipush 119
iconst_4
bastore
dup
bipush 120
bipush 12
bastore
dup
bipush 121
iconst_3
bastore
dup
bipush 122
iconst_5
bastore
dup
bipush 123
bipush 9
bastore
dup
bipush 124
bipush 7
bastore
dup
bipush 125
bipush 13
bastore
dup
bipush 126
iconst_2
bastore
dup
bipush 127
bipush 14
bastore
59: .line 89
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_D:[B
60: .line 101
sipush 128
newarray 8
dup
iconst_0
61: .line 102
bipush 12
bastore
dup
iconst_1
iconst_4
bastore
dup
iconst_2
bipush 6
bastore
dup
iconst_3
iconst_2
bastore
dup
iconst_4
bipush 10
bastore
dup
iconst_5
iconst_5
bastore
dup
bipush 6
bipush 11
bastore
dup
bipush 7
bipush 9
bastore
dup
bipush 8
bipush 14
bastore
dup
bipush 9
bipush 8
bastore
dup
bipush 10
bipush 13
bastore
dup
bipush 11
bipush 7
bastore
dup
bipush 13
iconst_3
bastore
dup
bipush 14
bipush 15
bastore
dup
bipush 15
iconst_1
bastore
dup
bipush 16
62: .line 103
bipush 6
bastore
dup
bipush 17
bipush 8
bastore
dup
bipush 18
iconst_2
bastore
dup
bipush 19
iconst_3
bastore
dup
bipush 20
bipush 9
bastore
dup
bipush 21
bipush 10
bastore
dup
bipush 22
iconst_5
bastore
dup
bipush 23
bipush 12
bastore
dup
bipush 24
iconst_1
bastore
dup
bipush 25
bipush 14
bastore
dup
bipush 26
iconst_4
bastore
dup
bipush 27
bipush 7
bastore
dup
bipush 28
bipush 11
bastore
dup
bipush 29
bipush 13
bastore
dup
bipush 31
bipush 15
bastore
dup
bipush 32
63: .line 104
bipush 11
bastore
dup
bipush 33
iconst_3
bastore
dup
bipush 34
iconst_5
bastore
dup
bipush 35
bipush 8
bastore
dup
bipush 36
iconst_2
bastore
dup
bipush 37
bipush 15
bastore
dup
bipush 38
bipush 10
bastore
dup
bipush 39
bipush 13
bastore
dup
bipush 40
bipush 14
bastore
dup
bipush 41
iconst_1
bastore
dup
bipush 42
bipush 7
bastore
dup
bipush 43
iconst_4
bastore
dup
bipush 44
bipush 12
bastore
dup
bipush 45
bipush 9
bastore
dup
bipush 46
bipush 6
bastore
dup
bipush 48
64: .line 105
bipush 12
bastore
dup
bipush 49
bipush 8
bastore
dup
bipush 50
iconst_2
bastore
dup
bipush 51
iconst_1
bastore
dup
bipush 52
bipush 13
bastore
dup
bipush 53
iconst_4
bastore
dup
bipush 54
bipush 15
bastore
dup
bipush 55
bipush 6
bastore
dup
bipush 56
bipush 7
bastore
dup
bipush 58
bipush 10
bastore
dup
bipush 59
iconst_5
bastore
dup
bipush 60
iconst_3
bastore
dup
bipush 61
bipush 14
bastore
dup
bipush 62
bipush 9
bastore
dup
bipush 63
bipush 11
bastore
dup
bipush 64
65: .line 106
bipush 7
bastore
dup
bipush 65
bipush 15
bastore
dup
bipush 66
iconst_5
bastore
dup
bipush 67
bipush 10
bastore
dup
bipush 68
bipush 8
bastore
dup
bipush 69
iconst_1
bastore
dup
bipush 70
bipush 6
bastore
dup
bipush 71
bipush 13
bastore
dup
bipush 73
bipush 9
bastore
dup
bipush 74
iconst_3
bastore
dup
bipush 75
bipush 14
bastore
dup
bipush 76
bipush 11
bastore
dup
bipush 77
iconst_4
bastore
dup
bipush 78
iconst_2
bastore
dup
bipush 79
bipush 12
bastore
dup
bipush 80
66: .line 107
iconst_5
bastore
dup
bipush 81
bipush 13
bastore
dup
bipush 82
bipush 15
bastore
dup
bipush 83
bipush 6
bastore
dup
bipush 84
bipush 9
bastore
dup
bipush 85
iconst_2
bastore
dup
bipush 86
bipush 12
bastore
dup
bipush 87
bipush 10
bastore
dup
bipush 88
bipush 11
bastore
dup
bipush 89
bipush 7
bastore
dup
bipush 90
bipush 8
bastore
dup
bipush 91
iconst_1
bastore
dup
bipush 92
iconst_4
bastore
dup
bipush 93
iconst_3
bastore
dup
bipush 94
bipush 14
bastore
dup
bipush 96
67: .line 108
bipush 8
bastore
dup
bipush 97
bipush 14
bastore
dup
bipush 98
iconst_2
bastore
dup
bipush 99
iconst_5
bastore
dup
bipush 100
bipush 6
bastore
dup
bipush 101
bipush 9
bastore
dup
bipush 102
iconst_1
bastore
dup
bipush 103
bipush 12
bastore
dup
bipush 104
bipush 15
bastore
dup
bipush 105
iconst_4
bastore
dup
bipush 106
bipush 11
bastore
dup
bipush 108
bipush 13
bastore
dup
bipush 109
bipush 10
bastore
dup
bipush 110
iconst_3
bastore
dup
bipush 111
bipush 7
bastore
dup
bipush 112
68: .line 109
iconst_1
bastore
dup
bipush 113
bipush 7
bastore
dup
bipush 114
bipush 14
bastore
dup
bipush 115
bipush 13
bastore
dup
bipush 117
iconst_5
bastore
dup
bipush 118
bipush 8
bastore
dup
bipush 119
iconst_3
bastore
dup
bipush 120
iconst_4
bastore
dup
bipush 121
bipush 15
bastore
dup
bipush 122
bipush 10
bastore
dup
bipush 123
bipush 6
bastore
dup
bipush 124
bipush 9
bastore
dup
bipush 125
bipush 12
bastore
dup
bipush 126
bipush 11
bastore
dup
bipush 127
iconst_2
bastore
69: .line 101
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.Param_Z:[B
70: .line 113
sipush 128
newarray 8
dup
iconst_0
71: .line 114
iconst_4
bastore
dup
iconst_1
bipush 10
bastore
dup
iconst_2
bipush 9
bastore
dup
iconst_3
iconst_2
bastore
dup
iconst_4
bipush 13
bastore
dup
iconst_5
bipush 8
bastore
dup
bipush 7
bipush 14
bastore
dup
bipush 8
bipush 6
bastore
dup
bipush 9
bipush 11
bastore
dup
bipush 10
iconst_1
bastore
dup
bipush 11
bipush 12
bastore
dup
bipush 12
bipush 7
bastore
dup
bipush 13
bipush 15
bastore
dup
bipush 14
iconst_5
bastore
dup
bipush 15
iconst_3
bastore
dup
bipush 16
72: .line 115
bipush 14
bastore
dup
bipush 17
bipush 11
bastore
dup
bipush 18
iconst_4
bastore
dup
bipush 19
bipush 12
bastore
dup
bipush 20
bipush 6
bastore
dup
bipush 21
bipush 13
bastore
dup
bipush 22
bipush 15
bastore
dup
bipush 23
bipush 10
bastore
dup
bipush 24
iconst_2
bastore
dup
bipush 25
iconst_3
bastore
dup
bipush 26
bipush 8
bastore
dup
bipush 27
iconst_1
bastore
dup
bipush 29
bipush 7
bastore
dup
bipush 30
iconst_5
bastore
dup
bipush 31
bipush 9
bastore
dup
bipush 32
73: .line 116
iconst_5
bastore
dup
bipush 33
bipush 8
bastore
dup
bipush 34
iconst_1
bastore
dup
bipush 35
bipush 13
bastore
dup
bipush 36
bipush 10
bastore
dup
bipush 37
iconst_3
bastore
dup
bipush 38
iconst_4
bastore
dup
bipush 39
iconst_2
bastore
dup
bipush 40
bipush 14
bastore
dup
bipush 41
bipush 15
bastore
dup
bipush 42
bipush 12
bastore
dup
bipush 43
bipush 7
bastore
dup
bipush 44
bipush 6
bastore
dup
bipush 46
bipush 9
bastore
dup
bipush 47
bipush 11
bastore
dup
bipush 48
74: .line 117
bipush 7
bastore
dup
bipush 49
bipush 13
bastore
dup
bipush 50
bipush 10
bastore
dup
bipush 51
iconst_1
bastore
dup
bipush 53
bipush 8
bastore
dup
bipush 54
bipush 9
bastore
dup
bipush 55
bipush 15
bastore
dup
bipush 56
bipush 14
bastore
dup
bipush 57
iconst_4
bastore
dup
bipush 58
bipush 6
bastore
dup
bipush 59
bipush 12
bastore
dup
bipush 60
bipush 11
bastore
dup
bipush 61
iconst_2
bastore
dup
bipush 62
iconst_5
bastore
dup
bipush 63
iconst_3
bastore
dup
bipush 64
75: .line 118
bipush 6
bastore
dup
bipush 65
bipush 12
bastore
dup
bipush 66
bipush 7
bastore
dup
bipush 67
iconst_1
bastore
dup
bipush 68
iconst_5
bastore
dup
bipush 69
bipush 15
bastore
dup
bipush 70
bipush 13
bastore
dup
bipush 71
bipush 8
bastore
dup
bipush 72
iconst_4
bastore
dup
bipush 73
bipush 10
bastore
dup
bipush 74
bipush 9
bastore
dup
bipush 75
bipush 14
bastore
dup
bipush 77
iconst_3
bastore
dup
bipush 78
bipush 11
bastore
dup
bipush 79
iconst_2
bastore
dup
bipush 80
76: .line 119
iconst_4
bastore
dup
bipush 81
bipush 11
bastore
dup
bipush 82
bipush 10
bastore
dup
bipush 84
bipush 7
bastore
dup
bipush 85
iconst_2
bastore
dup
bipush 86
iconst_1
bastore
dup
bipush 87
bipush 13
bastore
dup
bipush 88
iconst_3
bastore
dup
bipush 89
bipush 6
bastore
dup
bipush 90
bipush 8
bastore
dup
bipush 91
iconst_5
bastore
dup
bipush 92
bipush 9
bastore
dup
bipush 93
bipush 12
bastore
dup
bipush 94
bipush 15
bastore
dup
bipush 95
bipush 14
bastore
dup
bipush 96
77: .line 120
bipush 13
bastore
dup
bipush 97
bipush 11
bastore
dup
bipush 98
iconst_4
bastore
dup
bipush 99
iconst_1
bastore
dup
bipush 100
iconst_3
bastore
dup
bipush 101
bipush 15
bastore
dup
bipush 102
iconst_5
bastore
dup
bipush 103
bipush 9
bastore
dup
bipush 105
bipush 10
bastore
dup
bipush 106
bipush 14
bastore
dup
bipush 107
bipush 7
bastore
dup
bipush 108
bipush 6
bastore
dup
bipush 109
bipush 8
bastore
dup
bipush 110
iconst_2
bastore
dup
bipush 111
bipush 12
bastore
dup
bipush 112
78: .line 121
iconst_1
bastore
dup
bipush 113
bipush 15
bastore
dup
bipush 114
bipush 13
bastore
dup
bipush 116
iconst_5
bastore
dup
bipush 117
bipush 7
bastore
dup
bipush 118
bipush 10
bastore
dup
bipush 119
iconst_4
bastore
dup
bipush 120
bipush 9
bastore
dup
bipush 121
iconst_2
bastore
dup
bipush 122
iconst_3
bastore
dup
bipush 123
bipush 14
bastore
dup
bipush 124
bipush 6
bastore
dup
bipush 125
bipush 11
bastore
dup
bipush 126
bipush 8
bastore
dup
bipush 127
bipush 12
bastore
79: .line 113
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.DSbox_Test:[B
80: .line 124
sipush 128
newarray 8
dup
iconst_0
81: .line 125
bipush 10
bastore
dup
iconst_1
iconst_4
bastore
dup
iconst_2
iconst_5
bastore
dup
iconst_3
bipush 6
bastore
dup
iconst_4
bipush 8
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_3
bastore
dup
bipush 7
bipush 7
bastore
dup
bipush 8
bipush 13
bastore
dup
bipush 9
bipush 12
bastore
dup
bipush 10
bipush 14
bastore
dup
bipush 12
bipush 9
bastore
dup
bipush 13
iconst_2
bastore
dup
bipush 14
bipush 11
bastore
dup
bipush 15
bipush 15
bastore
dup
bipush 16
82: .line 126
iconst_5
bastore
dup
bipush 17
bipush 15
bastore
dup
bipush 18
iconst_4
bastore
dup
bipush 20
iconst_2
bastore
dup
bipush 21
bipush 13
bastore
dup
bipush 22
bipush 11
bastore
dup
bipush 23
bipush 9
bastore
dup
bipush 24
iconst_1
bastore
dup
bipush 25
bipush 7
bastore
dup
bipush 26
bipush 6
bastore
dup
bipush 27
iconst_3
bastore
dup
bipush 28
bipush 12
bastore
dup
bipush 29
bipush 14
bastore
dup
bipush 30
bipush 10
bastore
dup
bipush 31
bipush 8
bastore
dup
bipush 32
83: .line 127
bipush 7
bastore
dup
bipush 33
bipush 15
bastore
dup
bipush 34
bipush 12
bastore
dup
bipush 35
bipush 14
bastore
dup
bipush 36
bipush 9
bastore
dup
bipush 37
iconst_4
bastore
dup
bipush 38
iconst_1
bastore
dup
bipush 40
iconst_3
bastore
dup
bipush 41
bipush 11
bastore
dup
bipush 42
iconst_5
bastore
dup
bipush 43
iconst_2
bastore
dup
bipush 44
bipush 6
bastore
dup
bipush 45
bipush 10
bastore
dup
bipush 46
bipush 8
bastore
dup
bipush 47
bipush 13
bastore
dup
bipush 48
84: .line 128
iconst_4
bastore
dup
bipush 49
bipush 10
bastore
dup
bipush 50
bipush 7
bastore
dup
bipush 51
bipush 12
bastore
dup
bipush 53
bipush 15
bastore
dup
bipush 54
iconst_2
bastore
dup
bipush 55
bipush 8
bastore
dup
bipush 56
bipush 14
bastore
dup
bipush 57
iconst_1
bastore
dup
bipush 58
bipush 6
bastore
dup
bipush 59
iconst_5
bastore
dup
bipush 60
bipush 13
bastore
dup
bipush 61
bipush 11
bastore
dup
bipush 62
bipush 9
bastore
dup
bipush 63
iconst_3
bastore
dup
bipush 64
85: .line 129
bipush 7
bastore
dup
bipush 65
bipush 6
bastore
dup
bipush 66
iconst_4
bastore
dup
bipush 67
bipush 11
bastore
dup
bipush 68
bipush 9
bastore
dup
bipush 69
bipush 12
bastore
dup
bipush 70
iconst_2
bastore
dup
bipush 71
bipush 10
bastore
dup
bipush 72
iconst_1
bastore
dup
bipush 73
bipush 8
bastore
dup
bipush 75
bipush 14
bastore
dup
bipush 76
bipush 15
bastore
dup
bipush 77
bipush 13
bastore
dup
bipush 78
iconst_3
bastore
dup
bipush 79
iconst_5
bastore
dup
bipush 80
86: .line 130
bipush 7
bastore
dup
bipush 81
bipush 6
bastore
dup
bipush 82
iconst_2
bastore
dup
bipush 83
iconst_4
bastore
dup
bipush 84
bipush 13
bastore
dup
bipush 85
bipush 9
bastore
dup
bipush 86
bipush 15
bastore
dup
bipush 88
bipush 10
bastore
dup
bipush 89
iconst_1
bastore
dup
bipush 90
iconst_5
bastore
dup
bipush 91
bipush 11
bastore
dup
bipush 92
bipush 8
bastore
dup
bipush 93
bipush 14
bastore
dup
bipush 94
bipush 12
bastore
dup
bipush 95
iconst_3
bastore
dup
bipush 96
87: .line 131
bipush 13
bastore
dup
bipush 97
bipush 14
bastore
dup
bipush 98
iconst_4
bastore
dup
bipush 99
iconst_1
bastore
dup
bipush 100
bipush 7
bastore
dup
bipush 102
iconst_5
bastore
dup
bipush 103
bipush 10
bastore
dup
bipush 104
iconst_3
bastore
dup
bipush 105
bipush 12
bastore
dup
bipush 106
bipush 8
bastore
dup
bipush 107
bipush 15
bastore
dup
bipush 108
bipush 6
bastore
dup
bipush 109
iconst_2
bastore
dup
bipush 110
bipush 9
bastore
dup
bipush 111
bipush 11
bastore
dup
bipush 112
88: .line 132
iconst_1
bastore
dup
bipush 113
iconst_3
bastore
dup
bipush 114
bipush 10
bastore
dup
bipush 115
bipush 9
bastore
dup
bipush 116
iconst_5
bastore
dup
bipush 117
bipush 11
bastore
dup
bipush 118
iconst_4
bastore
dup
bipush 119
bipush 15
bastore
dup
bipush 120
bipush 8
bastore
dup
bipush 121
bipush 6
bastore
dup
bipush 122
bipush 7
bastore
dup
bipush 123
bipush 14
bastore
dup
bipush 124
bipush 13
bastore
dup
bipush 126
iconst_2
bastore
dup
bipush 127
bipush 12
bastore
89: .line 124
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.DSbox_A:[B
90: .line 138
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic org.bouncycastle.crypto.engines.GOST28147Engine.sBoxes:Ljava/util/Hashtable;
91: .line 142
ldc "Default"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.Sbox_Default:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
92: .line 143
ldc "E-TEST"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_Test:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
93: .line 144
ldc "E-A"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_A:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
94: .line 145
ldc "E-B"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_B:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
95: .line 146
ldc "E-C"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_C:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
96: .line 147
ldc "E-D"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.ESbox_D:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
97: .line 148
ldc "Param-Z"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.Param_Z:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
98: .line 149
ldc "D-TEST"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.DSbox_Test:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
99: .line 150
ldc "D-A"
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.DSbox_A:[B
invokestatic org.bouncycastle.crypto.engines.GOST28147Engine.addSBox:(Ljava/lang/String;[B)V
100: .line 151
return
LocalVariableTable:
Start End Slot Name Signature
private static void addSBox(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String sBoxName
start local 1 // byte[] sBox
0: .line 155
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.sBoxes:Ljava/util/Hashtable;
aload 0 /* sBoxName */
invokestatic org.bouncycastle.util.Strings.toUpperCase:(Ljava/lang/String;)Ljava/lang/String;
aload 1 /* sBox */
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: .line 156
return
end local 1 // byte[] sBox
end local 0 // java.lang.String sBoxName
LocalVariableTable:
Start End Slot Name Signature
0 2 0 sBoxName Ljava/lang/String;
0 2 1 sBox [B
MethodParameters:
Name Flags
sBoxName
sBox
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
0: .line 161
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 22
aload 0 /* this */
aconst_null
putfield org.bouncycastle.crypto.engines.GOST28147Engine.workingKey:[I
2: .line 25
aload 0 /* this */
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.Sbox_Default:[B
putfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
3: .line 163
return
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
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.GOST28147Engine this
start local 1 // boolean forEncryption
start local 2 // org.bouncycastle.crypto.CipherParameters params
0: .line 177
aload 2 /* params */
instanceof org.bouncycastle.crypto.params.ParametersWithSBox
ifeq 11
1: .line 179
aload 2 /* params */
checkcast org.bouncycastle.crypto.params.ParametersWithSBox
astore 3 /* param */
start local 3 // org.bouncycastle.crypto.params.ParametersWithSBox param
2: .line 184
aload 3 /* param */
invokevirtual org.bouncycastle.crypto.params.ParametersWithSBox.getSBox:()[B
astore 4 /* sBox */
start local 4 // byte[] sBox
3: .line 185
aload 4 /* sBox */
arraylength
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.Sbox_Default:[B
arraylength
if_icmpeq 5
4: .line 187
new java.lang.IllegalArgumentException
dup
ldc "invalid S-box passed to GOST28147 init"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: .line 189
StackMap locals: org.bouncycastle.crypto.params.ParametersWithSBox byte[]
StackMap stack:
aload 0 /* this */
aload 4 /* sBox */
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
putfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
6: .line 194
aload 3 /* param */
invokevirtual org.bouncycastle.crypto.params.ParametersWithSBox.getParameters:()Lorg/bouncycastle/crypto/CipherParameters;
ifnull 18
7: .line 196
aload 0 /* this */
aload 0 /* this */
iload 1 /* forEncryption */
8: .line 197
aload 3 /* param */
invokevirtual org.bouncycastle.crypto.params.ParametersWithSBox.getParameters:()Lorg/bouncycastle/crypto/CipherParameters;
checkcast org.bouncycastle.crypto.params.KeyParameter
invokevirtual org.bouncycastle.crypto.params.KeyParameter.getKey:()[B
9: .line 196
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.generateWorkingKey:(Z[B)[I
putfield org.bouncycastle.crypto.engines.GOST28147Engine.workingKey:[I
end local 4 // byte[] sBox
end local 3 // org.bouncycastle.crypto.params.ParametersWithSBox param
10: .line 199
goto 18
11: .line 200
StackMap locals:
StackMap stack:
aload 2 /* params */
instanceof org.bouncycastle.crypto.params.KeyParameter
ifeq 16
12: .line 202
aload 0 /* this */
aload 0 /* this */
iload 1 /* forEncryption */
13: .line 203
aload 2 /* params */
checkcast org.bouncycastle.crypto.params.KeyParameter
invokevirtual org.bouncycastle.crypto.params.KeyParameter.getKey:()[B
14: .line 202
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.generateWorkingKey:(Z[B)[I
putfield org.bouncycastle.crypto.engines.GOST28147Engine.workingKey:[I
15: .line 204
goto 18
16: .line 205
StackMap locals:
StackMap stack:
aload 2 /* params */
ifnull 18
17: .line 207
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid parameter passed to GOST28147 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
18: .line 209
StackMap locals:
StackMap stack:
return
end local 2 // org.bouncycastle.crypto.CipherParameters params
end local 1 // boolean forEncryption
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
0 19 1 forEncryption Z
0 19 2 params Lorg/bouncycastle/crypto/CipherParameters;
2 10 3 param Lorg/bouncycastle/crypto/params/ParametersWithSBox;
3 10 4 sBox [B
MethodParameters:
Name Flags
forEncryption
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.GOST28147Engine this
0: .line 213
ldc "GOST28147"
areturn
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
public int getBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
0: .line 218
bipush 8
ireturn
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
public int processBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // byte[] out
start local 4 // int outOff
0: .line 227
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.workingKey:[I
ifnonnull 2
1: .line 229
new java.lang.IllegalStateException
dup
ldc "GOST28147 engine not initialised"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: .line 232
StackMap locals:
StackMap stack:
iload 2 /* inOff */
bipush 8
iadd
aload 1 /* in */
arraylength
if_icmple 4
3: .line 234
new org.bouncycastle.crypto.DataLengthException
dup
ldc "input buffer too short"
invokespecial org.bouncycastle.crypto.DataLengthException.<init>:(Ljava/lang/String;)V
athrow
4: .line 237
StackMap locals:
StackMap stack:
iload 4 /* outOff */
bipush 8
iadd
aload 3 /* out */
arraylength
if_icmple 6
5: .line 239
new org.bouncycastle.crypto.OutputLengthException
dup
ldc "output buffer too short"
invokespecial org.bouncycastle.crypto.OutputLengthException.<init>:(Ljava/lang/String;)V
athrow
6: .line 242
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.workingKey:[I
aload 1 /* in */
iload 2 /* inOff */
aload 3 /* out */
iload 4 /* outOff */
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.GOST28147Func:([I[BI[BI)V
7: .line 244
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.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
0 8 1 in [B
0 8 2 inOff I
0 8 3 out [B
0 8 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.GOST28147Engine this
0: .line 249
return
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
private int[] generateWorkingKey(boolean, byte[]);
descriptor: (Z[B)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
start local 1 // boolean forEncryption
start local 2 // byte[] userKey
0: .line 255
aload 0 /* this */
iload 1 /* forEncryption */
putfield org.bouncycastle.crypto.engines.GOST28147Engine.forEncryption:Z
1: .line 257
aload 2 /* userKey */
arraylength
bipush 32
if_icmpeq 3
2: .line 259
new java.lang.IllegalArgumentException
dup
ldc "Key length invalid. Key needs to be 32 byte - 256 bit!!!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 262
StackMap locals:
StackMap stack:
bipush 8
newarray 10
astore 3 /* key */
start local 3 // int[] key
4: .line 263
iconst_0
istore 4 /* i */
start local 4 // int i
5: goto 8
6: .line 265
StackMap locals: int[] int
StackMap stack:
aload 3 /* key */
iload 4 /* i */
aload 0 /* this */
aload 2 /* userKey */
iload 4 /* i */
iconst_4
imul
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.bytesToint:([BI)I
iastore
7: .line 263
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 4 /* i */
bipush 8
if_icmpne 6
end local 4 // int i
9: .line 268
aload 3 /* key */
areturn
end local 3 // int[] key
end local 2 // byte[] userKey
end local 1 // boolean forEncryption
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
0 10 1 forEncryption Z
0 10 2 userKey [B
4 10 3 key [I
5 9 4 i I
MethodParameters:
Name Flags
forEncryption
userKey
private int GOST28147_mainStep(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
start local 1 // int n1
start local 2 // int key
0: .line 273
iload 2 /* key */
iload 1 /* n1 */
iadd
istore 3 /* cm */
start local 3 // int cm
1: .line 277
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
iconst_0
iload 3 /* cm */
iconst_0
ishr
bipush 15
iand
iadd
baload
iconst_0
ishl
istore 4 /* om */
start local 4 // int om
2: .line 278
iload 4 /* om */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
bipush 16
iload 3 /* cm */
iconst_4
ishr
bipush 15
iand
iadd
baload
iconst_4
ishl
iadd
istore 4 /* om */
3: .line 279
iload 4 /* om */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
bipush 32
iload 3 /* cm */
bipush 8
ishr
bipush 15
iand
iadd
baload
bipush 8
ishl
iadd
istore 4 /* om */
4: .line 280
iload 4 /* om */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
bipush 48
iload 3 /* cm */
bipush 12
ishr
bipush 15
iand
iadd
baload
bipush 12
ishl
iadd
istore 4 /* om */
5: .line 281
iload 4 /* om */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
bipush 64
iload 3 /* cm */
bipush 16
ishr
bipush 15
iand
iadd
baload
bipush 16
ishl
iadd
istore 4 /* om */
6: .line 282
iload 4 /* om */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
bipush 80
iload 3 /* cm */
bipush 20
ishr
bipush 15
iand
iadd
baload
bipush 20
ishl
iadd
istore 4 /* om */
7: .line 283
iload 4 /* om */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
bipush 96
iload 3 /* cm */
bipush 24
ishr
bipush 15
iand
iadd
baload
bipush 24
ishl
iadd
istore 4 /* om */
8: .line 284
iload 4 /* om */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.S:[B
bipush 112
iload 3 /* cm */
bipush 28
ishr
bipush 15
iand
iadd
baload
bipush 28
ishl
iadd
istore 4 /* om */
9: .line 286
iload 4 /* om */
bipush 11
ishl
iload 4 /* om */
bipush 21
iushr
ior
ireturn
end local 4 // int om
end local 3 // int cm
end local 2 // int key
end local 1 // int n1
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
0 10 1 n1 I
0 10 2 key I
1 10 3 cm I
2 10 4 om I
MethodParameters:
Name Flags
n1
key
private void GOST28147Func(int[], byte[], int, byte[], int);
descriptor: ([I[BI[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=6
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
start local 1 // int[] workingKey
start local 2 // byte[] in
start local 3 // int inOff
start local 4 // byte[] out
start local 5 // int outOff
0: .line 297
aload 0 /* this */
aload 2 /* in */
iload 3 /* inOff */
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.bytesToint:([BI)I
istore 6 /* N1 */
start local 6 // int N1
1: .line 298
aload 0 /* this */
aload 2 /* in */
iload 3 /* inOff */
iconst_4
iadd
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.bytesToint:([BI)I
istore 7 /* N2 */
start local 7 // int N2
2: .line 300
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.GOST28147Engine.forEncryption:Z
ifeq 22
3: .line 302
iconst_0
istore 9 /* k */
start local 9 // int k
4: goto 13
5: .line 304
StackMap locals: org.bouncycastle.crypto.engines.GOST28147Engine int[] byte[] int byte[] int int int top int
StackMap stack:
iconst_0
istore 10 /* j */
start local 10 // int j
6: goto 11
7: .line 306
StackMap locals: int
StackMap stack:
iload 6 /* N1 */
istore 8 /* tmp */
start local 8 // int tmp
8: .line 307
iload 7 /* N2 */
aload 0 /* this */
iload 6 /* N1 */
aload 1 /* workingKey */
iload 10 /* j */
iaload
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.GOST28147_mainStep:(II)I
ixor
istore 6 /* N1 */
9: .line 308
iload 8 /* tmp */
istore 7 /* N2 */
10: .line 304
iinc 10 /* j */ 1
end local 8 // int tmp
StackMap locals:
StackMap stack:
11: iload 10 /* j */
bipush 8
if_icmplt 7
end local 10 // int j
12: .line 302
iinc 9 /* k */ 1
StackMap locals:
StackMap stack:
13: iload 9 /* k */
iconst_3
if_icmplt 5
end local 9 // int k
14: .line 311
bipush 7
istore 9 /* j */
start local 9 // int j
15: goto 20
16: .line 313
StackMap locals:
StackMap stack:
iload 6 /* N1 */
istore 8 /* tmp */
start local 8 // int tmp
17: .line 314
iload 7 /* N2 */
aload 0 /* this */
iload 6 /* N1 */
aload 1 /* workingKey */
iload 9 /* j */
iaload
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.GOST28147_mainStep:(II)I
ixor
istore 6 /* N1 */
18: .line 315
iload 8 /* tmp */
istore 7 /* N2 */
19: .line 311
iinc 9 /* j */ -1
end local 8 // int tmp
StackMap locals:
StackMap stack:
20: iload 9 /* j */
ifgt 16
end local 9 // int j
21: .line 317
goto 42
22: .line 320
StackMap locals: org.bouncycastle.crypto.engines.GOST28147Engine int[] byte[] int byte[] int int int
StackMap stack:
iconst_0
istore 9 /* j */
start local 9 // int j
23: goto 28
24: .line 322
StackMap locals: org.bouncycastle.crypto.engines.GOST28147Engine int[] byte[] int byte[] int int int top int
StackMap stack:
iload 6 /* N1 */
istore 8 /* tmp */
start local 8 // int tmp
25: .line 323
iload 7 /* N2 */
aload 0 /* this */
iload 6 /* N1 */
aload 1 /* workingKey */
iload 9 /* j */
iaload
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.GOST28147_mainStep:(II)I
ixor
istore 6 /* N1 */
26: .line 324
iload 8 /* tmp */
istore 7 /* N2 */
27: .line 320
iinc 9 /* j */ 1
end local 8 // int tmp
StackMap locals:
StackMap stack:
28: iload 9 /* j */
bipush 8
if_icmplt 24
end local 9 // int j
29: .line 326
iconst_0
istore 9 /* k */
start local 9 // int k
30: goto 41
31: .line 328
StackMap locals:
StackMap stack:
bipush 7
istore 10 /* j */
start local 10 // int j
32: goto 39
33: .line 330
StackMap locals: int
StackMap stack:
iload 9 /* k */
iconst_2
if_icmpne 35
iload 10 /* j */
ifne 35
34: .line 332
goto 40
35: .line 334
StackMap locals:
StackMap stack:
iload 6 /* N1 */
istore 8 /* tmp */
start local 8 // int tmp
36: .line 335
iload 7 /* N2 */
aload 0 /* this */
iload 6 /* N1 */
aload 1 /* workingKey */
iload 10 /* j */
iaload
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.GOST28147_mainStep:(II)I
ixor
istore 6 /* N1 */
37: .line 336
iload 8 /* tmp */
istore 7 /* N2 */
38: .line 328
iinc 10 /* j */ -1
end local 8 // int tmp
StackMap locals:
StackMap stack:
39: iload 10 /* j */
ifge 33
end local 10 // int j
40: .line 326
StackMap locals:
StackMap stack:
iinc 9 /* k */ 1
StackMap locals:
StackMap stack:
41: iload 9 /* k */
iconst_3
if_icmplt 31
end local 9 // int k
42: .line 341
StackMap locals: org.bouncycastle.crypto.engines.GOST28147Engine int[] byte[] int byte[] int int int
StackMap stack:
iload 7 /* N2 */
aload 0 /* this */
iload 6 /* N1 */
aload 1 /* workingKey */
iconst_0
iaload
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.GOST28147_mainStep:(II)I
ixor
istore 7 /* N2 */
43: .line 343
aload 0 /* this */
iload 6 /* N1 */
aload 4 /* out */
iload 5 /* outOff */
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.intTobytes:(I[BI)V
44: .line 344
aload 0 /* this */
iload 7 /* N2 */
aload 4 /* out */
iload 5 /* outOff */
iconst_4
iadd
invokevirtual org.bouncycastle.crypto.engines.GOST28147Engine.intTobytes:(I[BI)V
45: .line 345
return
end local 7 // int N2
end local 6 // int N1
end local 5 // int outOff
end local 4 // byte[] out
end local 3 // int inOff
end local 2 // byte[] in
end local 1 // int[] workingKey
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
0 46 1 workingKey [I
0 46 2 in [B
0 46 3 inOff I
0 46 4 out [B
0 46 5 outOff I
1 46 6 N1 I
2 46 7 N2 I
8 11 8 tmp I
17 20 8 tmp I
25 28 8 tmp I
36 39 8 tmp I
4 14 9 k I
6 12 10 j I
15 21 9 j I
23 29 9 j I
30 42 9 k I
32 40 10 j I
MethodParameters:
Name Flags
workingKey
in
inOff
out
outOff
private int bytesToint(byte[], int);
descriptor: ([BI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
start local 1 // byte[] in
start local 2 // int inOff
0: .line 352
aload 1 /* in */
iload 2 /* inOff */
iconst_3
iadd
baload
bipush 24
ishl
ldc -16777216
iand
aload 1 /* in */
iload 2 /* inOff */
iconst_2
iadd
baload
bipush 16
ishl
ldc 16711680
iand
iadd
1: .line 353
aload 1 /* in */
iload 2 /* inOff */
iconst_1
iadd
baload
bipush 8
ishl
ldc 65280
iand
2: .line 352
iadd
3: .line 353
aload 1 /* in */
iload 2 /* inOff */
baload
sipush 255
iand
4: .line 352
iadd
ireturn
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
0 5 1 in [B
0 5 2 inOff I
MethodParameters:
Name Flags
in
inOff
private void intTobytes(int, byte[], int);
descriptor: (I[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
start local 1 // int num
start local 2 // byte[] out
start local 3 // int outOff
0: .line 362
aload 2 /* out */
iload 3 /* outOff */
iconst_3
iadd
iload 1 /* num */
bipush 24
iushr
i2b
bastore
1: .line 363
aload 2 /* out */
iload 3 /* outOff */
iconst_2
iadd
iload 1 /* num */
bipush 16
iushr
i2b
bastore
2: .line 364
aload 2 /* out */
iload 3 /* outOff */
iconst_1
iadd
iload 1 /* num */
bipush 8
iushr
i2b
bastore
3: .line 365
aload 2 /* out */
iload 3 /* outOff */
iload 1 /* num */
i2b
bastore
4: .line 366
return
end local 3 // int outOff
end local 2 // byte[] out
end local 1 // int num
end local 0 // org.bouncycastle.crypto.engines.GOST28147Engine this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/engines/GOST28147Engine;
0 5 1 num I
0 5 2 out [B
0 5 3 outOff I
MethodParameters:
Name Flags
num
out
outOff
public static byte[] getSBox(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // java.lang.String sBoxName
0: .line 376
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.sBoxes:Ljava/util/Hashtable;
aload 0 /* sBoxName */
invokestatic org.bouncycastle.util.Strings.toUpperCase:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 1 /* sBox */
start local 1 // byte[] sBox
1: .line 378
aload 1 /* sBox */
ifnonnull 3
2: .line 380
new java.lang.IllegalArgumentException
dup
ldc "Unknown S-Box - possible types: \"Default\", \"E-Test\", \"E-A\", \"E-B\", \"E-C\", \"E-D\", \"Param-Z\", \"D-Test\", \"D-A\"."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 384
StackMap locals: byte[]
StackMap stack:
aload 1 /* sBox */
invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
areturn
end local 1 // byte[] sBox
end local 0 // java.lang.String sBoxName
LocalVariableTable:
Start End Slot Name Signature
0 4 0 sBoxName Ljava/lang/String;
1 4 1 sBox [B
MethodParameters:
Name Flags
sBoxName
public static java.lang.String getSBoxName(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 // byte[] sBox
0: .line 389
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.sBoxes:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 1 /* en */
start local 1 // java.util.Enumeration en
1: goto 6
2: .line 391
StackMap locals: java.util.Enumeration
StackMap stack:
aload 1 /* en */
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 2 /* name */
start local 2 // java.lang.String name
3: .line 392
getstatic org.bouncycastle.crypto.engines.GOST28147Engine.sBoxes:Ljava/util/Hashtable;
aload 2 /* name */
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 3 /* sb */
start local 3 // byte[] sb
4: .line 393
aload 3 /* sb */
aload 0 /* sBox */
invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
ifeq 6
5: .line 395
aload 2 /* name */
areturn
end local 3 // byte[] sb
end local 2 // java.lang.String name
6: .line 389
StackMap locals:
StackMap stack:
aload 1 /* en */
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 2
end local 1 // java.util.Enumeration en
7: .line 399
new java.lang.IllegalArgumentException
dup
ldc "SBOX provided did not map to a known one"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 // byte[] sBox
LocalVariableTable:
Start End Slot Name Signature
0 8 0 sBox [B
1 7 1 en Ljava/util/Enumeration;
3 6 2 name Ljava/lang/String;
4 6 3 sb [B
MethodParameters:
Name Flags
sBox
}
SourceFile: "GOST28147Engine.java"