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"