public class org.bouncycastle.crypto.params.DESParameters extends org.bouncycastle.crypto.params.KeyParameter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.params.DESParameters
super_class: org.bouncycastle.crypto.params.KeyParameter
{
public static final int DES_KEY_LENGTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int N_DES_WEAK_KEYS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static byte[] DES_weak_keys;
descriptor: [B
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 28
sipush 128
newarray 8
dup
iconst_0
1: .line 30
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
dup
bipush 8
2: .line 31
bipush 31
bastore
dup
bipush 9
bipush 31
bastore
dup
bipush 10
bipush 31
bastore
dup
bipush 11
bipush 31
bastore
dup
bipush 12
bipush 14
bastore
dup
bipush 13
bipush 14
bastore
dup
bipush 14
bipush 14
bastore
dup
bipush 15
bipush 14
bastore
dup
bipush 16
3: .line 32
bipush -32
bastore
dup
bipush 17
bipush -32
bastore
dup
bipush 18
bipush -32
bastore
dup
bipush 19
bipush -32
bastore
dup
bipush 20
bipush -15
bastore
dup
bipush 21
bipush -15
bastore
dup
bipush 22
bipush -15
bastore
dup
bipush 23
bipush -15
bastore
dup
bipush 24
4: .line 33
bipush -2
bastore
dup
bipush 25
bipush -2
bastore
dup
bipush 26
bipush -2
bastore
dup
bipush 27
bipush -2
bastore
dup
bipush 28
bipush -2
bastore
dup
bipush 29
bipush -2
bastore
dup
bipush 30
bipush -2
bastore
dup
bipush 31
bipush -2
bastore
dup
bipush 32
5: .line 36
iconst_1
bastore
dup
bipush 33
bipush -2
bastore
dup
bipush 34
iconst_1
bastore
dup
bipush 35
bipush -2
bastore
dup
bipush 36
iconst_1
bastore
dup
bipush 37
bipush -2
bastore
dup
bipush 38
iconst_1
bastore
dup
bipush 39
bipush -2
bastore
dup
bipush 40
6: .line 37
bipush 31
bastore
dup
bipush 41
bipush -32
bastore
dup
bipush 42
bipush 31
bastore
dup
bipush 43
bipush -32
bastore
dup
bipush 44
bipush 14
bastore
dup
bipush 45
bipush -15
bastore
dup
bipush 46
bipush 14
bastore
dup
bipush 47
bipush -15
bastore
dup
bipush 48
7: .line 38
iconst_1
bastore
dup
bipush 49
bipush -32
bastore
dup
bipush 50
iconst_1
bastore
dup
bipush 51
bipush -32
bastore
dup
bipush 52
iconst_1
bastore
dup
bipush 53
bipush -15
bastore
dup
bipush 54
iconst_1
bastore
dup
bipush 55
bipush -15
bastore
dup
bipush 56
8: .line 39
bipush 31
bastore
dup
bipush 57
bipush -2
bastore
dup
bipush 58
bipush 31
bastore
dup
bipush 59
bipush -2
bastore
dup
bipush 60
bipush 14
bastore
dup
bipush 61
bipush -2
bastore
dup
bipush 62
bipush 14
bastore
dup
bipush 63
bipush -2
bastore
dup
bipush 64
9: .line 40
iconst_1
bastore
dup
bipush 65
bipush 31
bastore
dup
bipush 66
iconst_1
bastore
dup
bipush 67
bipush 31
bastore
dup
bipush 68
iconst_1
bastore
dup
bipush 69
bipush 14
bastore
dup
bipush 70
iconst_1
bastore
dup
bipush 71
bipush 14
bastore
dup
bipush 72
10: .line 41
bipush -32
bastore
dup
bipush 73
bipush -2
bastore
dup
bipush 74
bipush -32
bastore
dup
bipush 75
bipush -2
bastore
dup
bipush 76
bipush -15
bastore
dup
bipush 77
bipush -2
bastore
dup
bipush 78
bipush -15
bastore
dup
bipush 79
bipush -2
bastore
dup
bipush 80
11: .line 42
bipush -2
bastore
dup
bipush 81
iconst_1
bastore
dup
bipush 82
bipush -2
bastore
dup
bipush 83
iconst_1
bastore
dup
bipush 84
bipush -2
bastore
dup
bipush 85
iconst_1
bastore
dup
bipush 86
bipush -2
bastore
dup
bipush 87
iconst_1
bastore
dup
bipush 88
12: .line 43
bipush -32
bastore
dup
bipush 89
bipush 31
bastore
dup
bipush 90
bipush -32
bastore
dup
bipush 91
bipush 31
bastore
dup
bipush 92
bipush -15
bastore
dup
bipush 93
bipush 14
bastore
dup
bipush 94
bipush -15
bastore
dup
bipush 95
bipush 14
bastore
dup
bipush 96
13: .line 44
bipush -32
bastore
dup
bipush 97
iconst_1
bastore
dup
bipush 98
bipush -32
bastore
dup
bipush 99
iconst_1
bastore
dup
bipush 100
bipush -15
bastore
dup
bipush 101
iconst_1
bastore
dup
bipush 102
bipush -15
bastore
dup
bipush 103
iconst_1
bastore
dup
bipush 104
14: .line 45
bipush -2
bastore
dup
bipush 105
bipush 31
bastore
dup
bipush 106
bipush -2
bastore
dup
bipush 107
bipush 31
bastore
dup
bipush 108
bipush -2
bastore
dup
bipush 109
bipush 14
bastore
dup
bipush 110
bipush -2
bastore
dup
bipush 111
bipush 14
bastore
dup
bipush 112
15: .line 46
bipush 31
bastore
dup
bipush 113
iconst_1
bastore
dup
bipush 114
bipush 31
bastore
dup
bipush 115
iconst_1
bastore
dup
bipush 116
bipush 14
bastore
dup
bipush 117
iconst_1
bastore
dup
bipush 118
bipush 14
bastore
dup
bipush 119
iconst_1
bastore
dup
bipush 120
16: .line 47
bipush -2
bastore
dup
bipush 121
bipush -32
bastore
dup
bipush 122
bipush -2
bastore
dup
bipush 123
bipush -32
bastore
dup
bipush 124
bipush -2
bastore
dup
bipush 125
bipush -15
bastore
dup
bipush 126
bipush -2
bastore
dup
bipush 127
bipush -15
bastore
17: .line 27
putstatic org.bouncycastle.crypto.params.DESParameters.DES_weak_keys:[B
18: .line 48
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.bouncycastle.crypto.params.DESParameters this
start local 1 // byte[] key
0: .line 9
aload 0 /* this */
aload 1 /* key */
invokespecial org.bouncycastle.crypto.params.KeyParameter.<init>:([B)V
1: .line 11
aload 1 /* key */
iconst_0
invokestatic org.bouncycastle.crypto.params.DESParameters.isWeakKey:([BI)Z
ifeq 3
2: .line 13
new java.lang.IllegalArgumentException
dup
ldc "attempt to create weak DES key"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 15
StackMap locals: org.bouncycastle.crypto.params.DESParameters byte[]
StackMap stack:
return
end local 1 // byte[] key
end local 0 // org.bouncycastle.crypto.params.DESParameters this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/params/DESParameters;
0 4 1 key [B
MethodParameters:
Name Flags
key
public static boolean isWeakKey(byte[], int);
descriptor: ([BI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 // byte[] key
start local 1 // int offset
0: .line 65
aload 0 /* key */
arraylength
iload 1 /* offset */
isub
bipush 8
if_icmpge 2
1: .line 67
new java.lang.IllegalArgumentException
dup
ldc "key material too short."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 70
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
3: goto 12
4: .line 72
StackMap locals: int
StackMap stack:
iconst_0
istore 3 /* j */
start local 3 // int j
5: goto 9
6: .line 74
StackMap locals: int
StackMap stack:
aload 0 /* key */
iload 3 /* j */
iload 1 /* offset */
iadd
baload
getstatic org.bouncycastle.crypto.params.DESParameters.DES_weak_keys:[B
iload 2 /* i */
bipush 8
imul
iload 3 /* j */
iadd
baload
if_icmpeq 8
7: .line 76
goto 11
8: .line 72
StackMap locals:
StackMap stack:
iinc 3 /* j */ 1
StackMap locals:
StackMap stack:
9: iload 3 /* j */
bipush 8
if_icmplt 6
end local 3 // int j
10: .line 80
iconst_1
ireturn
11: .line 70
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 2 /* i */
bipush 16
if_icmplt 4
end local 2 // int i
13: .line 82
iconst_0
ireturn
end local 1 // int offset
end local 0 // byte[] key
LocalVariableTable:
Start End Slot Name Signature
0 14 0 key [B
0 14 1 offset I
3 13 2 i I
5 10 3 j I
MethodParameters:
Name Flags
key
offset
public static void setOddParity(byte[]);
descriptor: ([B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 // byte[] bytes
0: .line 94
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 23
2: .line 96
StackMap locals: int
StackMap stack:
aload 0 /* bytes */
iload 1 /* i */
baload
istore 2 /* b */
start local 2 // int b
3: .line 97
aload 0 /* bytes */
iload 1 /* i */
iload 2 /* b */
sipush 254
iand
4: .line 98
iload 2 /* b */
iconst_1
ishr
5: .line 99
iload 2 /* b */
iconst_2
ishr
6: .line 98
ixor
7: .line 100
iload 2 /* b */
iconst_3
ishr
8: .line 98
ixor
9: .line 101
iload 2 /* b */
iconst_4
ishr
10: .line 98
ixor
11: .line 102
iload 2 /* b */
iconst_5
ishr
12: .line 98
ixor
13: .line 103
iload 2 /* b */
bipush 6
ishr
14: .line 98
ixor
15: .line 104
iload 2 /* b */
bipush 7
ishr
16: .line 98
ixor
17: .line 104
iconst_1
18: .line 98
ixor
19: .line 104
iconst_1
20: .line 98
iand
ior
i2b
21: .line 97
bastore
end local 2 // int b
22: .line 94
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
23: iload 1 /* i */
aload 0 /* bytes */
arraylength
if_icmplt 2
end local 1 // int i
24: .line 106
return
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 25 0 bytes [B
1 24 1 i I
3 22 2 b I
MethodParameters:
Name Flags
bytes
}
SourceFile: "DESParameters.java"