public abstract class org.bouncycastle.crypto.digests.LongDigest implements org.bouncycastle.crypto.ExtendedDigest, org.bouncycastle.util.Memoable, org.bouncycastle.crypto.digests.EncodableDigest
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.crypto.digests.LongDigest
super_class: java.lang.Object
{
private static final int BYTE_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private byte[] xBuf;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int xBufOff;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long byteCount1;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long byteCount2;
descriptor: J
flags: (0x0002) ACC_PRIVATE
protected long H1;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long H2;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long H3;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long H4;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long H5;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long H6;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long H7;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long H8;
descriptor: J
flags: (0x0004) ACC_PROTECTED
private long[] W;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private int wOff;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final long[] K;
descriptor: [J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: bipush 80
newarray 11
dup
iconst_0
1: ldc 4794697086780616226
lastore
dup
iconst_1
ldc 8158064640168781261
lastore
dup
iconst_2
ldc -5349999486874862801
lastore
dup
iconst_3
ldc -1606136188198331460
lastore
dup
iconst_4
2: ldc 4131703408338449720
lastore
dup
iconst_5
ldc 6480981068601479193
lastore
dup
bipush 6
ldc -7908458776815382629
lastore
dup
bipush 7
ldc -6116909921290321640
lastore
dup
bipush 8
3: ldc -2880145864133508542
lastore
dup
bipush 9
ldc 1334009975649890238
lastore
dup
bipush 10
ldc 2608012711638119052
lastore
dup
bipush 11
ldc 6128411473006802146
lastore
dup
bipush 12
4: ldc 8268148722764581231
lastore
dup
bipush 13
ldc -9160688886553864527
lastore
dup
bipush 14
ldc -7215885187991268811
lastore
dup
bipush 15
ldc -4495734319001033068
lastore
dup
bipush 16
5: ldc -1973867731355612462
lastore
dup
bipush 17
ldc -1171420211273849373
lastore
dup
bipush 18
ldc 1135362057144423861
lastore
dup
bipush 19
ldc 2597628984639134821
lastore
dup
bipush 20
6: ldc 3308224258029322869
lastore
dup
bipush 21
ldc 5365058923640841347
lastore
dup
bipush 22
ldc 6679025012923562964
lastore
dup
bipush 23
ldc 8573033837759648693
lastore
dup
bipush 24
7: ldc -7476448914759557205
lastore
dup
bipush 25
ldc -6327057829258317296
lastore
dup
bipush 26
ldc -5763719355590565569
lastore
dup
bipush 27
ldc -4658551843659510044
lastore
dup
bipush 28
8: ldc -4116276920077217854
lastore
dup
bipush 29
ldc -3051310485924567259
lastore
dup
bipush 30
ldc 489312712824947311
lastore
dup
bipush 31
ldc 1452737877330783856
lastore
dup
bipush 32
9: ldc 2861767655752347644
lastore
dup
bipush 33
ldc 3322285676063803686
lastore
dup
bipush 34
ldc 5560940570517711597
lastore
dup
bipush 35
ldc 5996557281743188959
lastore
dup
bipush 36
10: ldc 7280758554555802590
lastore
dup
bipush 37
ldc 8532644243296465576
lastore
dup
bipush 38
ldc -9096487096722542874
lastore
dup
bipush 39
ldc -7894198246740708037
lastore
dup
bipush 40
11: ldc -6719396339535248540
lastore
dup
bipush 41
ldc -6333637450476146687
lastore
dup
bipush 42
ldc -4446306890439682159
lastore
dup
bipush 43
ldc -4076793802049405392
lastore
dup
bipush 44
12: ldc -3345356375505022440
lastore
dup
bipush 45
ldc -2983346525034927856
lastore
dup
bipush 46
ldc -860691631967231958
lastore
dup
bipush 47
ldc 1182934255886127544
lastore
dup
bipush 48
13: ldc 1847814050463011016
lastore
dup
bipush 49
ldc 2177327727835720531
lastore
dup
bipush 50
ldc 2830643537854262169
lastore
dup
bipush 51
ldc 3796741975233480872
lastore
dup
bipush 52
14: ldc 4115178125766777443
lastore
dup
bipush 53
ldc 5681478168544905931
lastore
dup
bipush 54
ldc 6601373596472566643
lastore
dup
bipush 55
ldc 7507060721942968483
lastore
dup
bipush 56
15: ldc 8399075790359081724
lastore
dup
bipush 57
ldc 8693463985226723168
lastore
dup
bipush 58
ldc -8878714635349349518
lastore
dup
bipush 59
ldc -8302665154208450068
lastore
dup
bipush 60
16: ldc -8016688836872298968
lastore
dup
bipush 61
ldc -6606660893046293015
lastore
dup
bipush 62
ldc -4685533653050689259
lastore
dup
bipush 63
ldc -4147400797238176981
lastore
dup
bipush 64
17: ldc -3880063495543823972
lastore
dup
bipush 65
ldc -3348786107499101689
lastore
dup
bipush 66
ldc -1523767162380948706
lastore
dup
bipush 67
ldc -757361751448694408
lastore
dup
bipush 68
18: ldc 500013540394364858
lastore
dup
bipush 69
ldc 748580250866718886
lastore
dup
bipush 70
ldc 1242879168328830382
lastore
dup
bipush 71
ldc 1977374033974150939
lastore
dup
bipush 72
19: ldc 2944078676154940804
lastore
dup
bipush 73
ldc 3659926193048069267
lastore
dup
bipush 74
ldc 4368137639120453308
lastore
dup
bipush 75
ldc 4836135668995329356
lastore
dup
bipush 76
20: ldc 5532061633213252278
lastore
dup
bipush 77
ldc 6448918945643986474
lastore
dup
bipush 78
ldc 6902733635092675308
lastore
dup
bipush 79
ldc 7801388544844847127
lastore
21: putstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
22: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 8
newarray 8
putfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
2: aload 0
bipush 80
newarray 11
putfield org.bouncycastle.crypto.digests.LongDigest.W:[J
3: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
4: aload 0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.reset:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
protected void <init>(org.bouncycastle.crypto.digests.LongDigest);
descriptor: (Lorg/bouncycastle/crypto/digests/LongDigest;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 8
newarray 8
putfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
2: aload 0
bipush 80
newarray 11
putfield org.bouncycastle.crypto.digests.LongDigest.W:[J
3: aload 0
aload 1
invokevirtual org.bouncycastle.crypto.digests.LongDigest.copyIn:(Lorg/bouncycastle/crypto/digests/LongDigest;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 5 1 t Lorg/bouncycastle/crypto/digests/LongDigest;
MethodParameters:
Name Flags
t
protected void copyIn(org.bouncycastle.crypto.digests.LongDigest);
descriptor: (Lorg/bouncycastle/crypto/digests/LongDigest;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
iconst_0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
putfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
2: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
3: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
4: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H1:J
putfield org.bouncycastle.crypto.digests.LongDigest.H1:J
5: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H2:J
putfield org.bouncycastle.crypto.digests.LongDigest.H2:J
6: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H3:J
putfield org.bouncycastle.crypto.digests.LongDigest.H3:J
7: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H4:J
putfield org.bouncycastle.crypto.digests.LongDigest.H4:J
8: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H5:J
putfield org.bouncycastle.crypto.digests.LongDigest.H5:J
9: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H6:J
putfield org.bouncycastle.crypto.digests.LongDigest.H6:J
10: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H7:J
putfield org.bouncycastle.crypto.digests.LongDigest.H7:J
11: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.H8:J
putfield org.bouncycastle.crypto.digests.LongDigest.H8:J
12: aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iconst_0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
putfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 15 1 t Lorg/bouncycastle/crypto/digests/LongDigest;
MethodParameters:
Name Flags
t
protected void populateState(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
iconst_0
aload 1
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
aload 1
bipush 8
invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
2: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
aload 1
bipush 12
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
3: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
aload 1
bipush 20
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
4: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H1:J
aload 1
bipush 28
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
5: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H2:J
aload 1
bipush 36
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
6: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H3:J
aload 1
bipush 44
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
7: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H4:J
aload 1
bipush 52
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
8: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H5:J
aload 1
bipush 60
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
9: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H6:J
aload 1
bipush 68
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
10: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H7:J
aload 1
bipush 76
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
11: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H8:J
aload 1
bipush 84
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
12: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
aload 1
bipush 92
invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
13: iconst_0
istore 2
start local 2 14: goto 17
15: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 2
laload
aload 1
bipush 96
iload 2
bipush 8
imul
iadd
invokestatic org.bouncycastle.util.Pack.longToBigEndian:(J[BI)V
16: iinc 2 1
StackMap locals:
StackMap stack:
17: iload 2
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
if_icmplt 15
end local 2 18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 19 1 state [B
14 18 2 i I
MethodParameters:
Name Flags
state
protected void restoreState(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
bipush 8
invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
putfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
1: aload 1
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 0
aload 1
bipush 12
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
3: aload 0
aload 1
bipush 20
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
4: aload 0
aload 1
bipush 28
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H1:J
5: aload 0
aload 1
bipush 36
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H2:J
6: aload 0
aload 1
bipush 44
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H3:J
7: aload 0
aload 1
bipush 52
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H4:J
8: aload 0
aload 1
bipush 60
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H5:J
9: aload 0
aload 1
bipush 68
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H6:J
10: aload 0
aload 1
bipush 76
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H7:J
11: aload 0
aload 1
bipush 84
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
putfield org.bouncycastle.crypto.digests.LongDigest.H8:J
12: aload 0
aload 1
bipush 92
invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
putfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
13: iconst_0
istore 2
start local 2 14: goto 17
15: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 2
aload 1
bipush 96
iload 2
bipush 8
imul
iadd
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
lastore
16: iinc 2 1
StackMap locals:
StackMap stack:
17: iload 2
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
if_icmplt 15
end local 2 18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 19 1 encodedState [B
14 18 2 i I
MethodParameters:
Name Flags
encodedState
protected int getEncodedStateSize();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: bipush 96
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
bipush 8
imul
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
public void update(byte);
descriptor: (B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
iload 1
bastore
1: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
arraylength
if_icmpne 4
2: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
iconst_0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.processWord:([BI)V
3: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
lconst_1
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 6 1 in B
MethodParameters:
Name Flags
in
public void update(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: goto 4
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
baload
invokevirtual org.bouncycastle.crypto.digests.LongDigest.update:(B)V
2: iinc 2 1
3: iinc 3 -1
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
ifeq 10
iload 3
ifgt 1
5: goto 10
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.LongDigest.processWord:([BI)V
7: iload 2
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
arraylength
iadd
istore 2
8: iload 3
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
arraylength
isub
istore 3
9: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
arraylength
i2l
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
10: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
arraylength
if_icmpgt 6
11: goto 15
12: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
baload
invokevirtual org.bouncycastle.crypto.digests.LongDigest.update:(B)V
13: iinc 2 1
14: iinc 3 -1
15: StackMap locals:
StackMap stack:
iload 3
ifgt 12
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 17 1 in [B
0 17 2 inOff I
0 17 3 len I
MethodParameters:
Name Flags
in
inOff
len
public void finish();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.adjustByteCounts:()V
1: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
iconst_3
lshl
lstore 1
start local 1 2: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
lstore 3
start local 3 3: aload 0
bipush -128
invokevirtual org.bouncycastle.crypto.digests.LongDigest.update:(B)V
4: goto 6
5: StackMap locals: long long
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.update:(B)V
6: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
ifne 5
7: aload 0
lload 1
lload 3
invokevirtual org.bouncycastle.crypto.digests.LongDigest.processLength:(JJ)V
8: aload 0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.processBlock:()V
9: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
2 10 1 lowBitLength J
3 10 3 hiBitLength J
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
lconst_0
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
1: aload 0
lconst_0
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
2: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.LongDigest.xBufOff:I
3: iconst_0
istore 1
start local 1 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
iload 1
iconst_0
bastore
6: iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.xBuf:[B
arraylength
if_icmplt 5
end local 1 8: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
9: iconst_0
istore 1
start local 1 10: goto 13
11: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 1
lconst_0
lastore
12: iinc 1 1
StackMap locals:
StackMap stack:
13: iload 1
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
arraylength
if_icmpne 11
end local 1 14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
4 8 1 i I
10 14 1 i I
public int getByteLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: sipush 128
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
protected void processWord(byte[], int);
descriptor: ([BI)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
aload 1
iload 2
invokestatic org.bouncycastle.util.Pack.bigEndianToLong:([BI)J
lastore
1: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
iconst_1
iadd
dup_x1
putfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
bipush 16
if_icmpne 3
2: aload 0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.processBlock:()V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 4 1 in [B
0 4 2 inOff I
MethodParameters:
Name Flags
in
inOff
private void adjustByteCounts();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
ldc 2305843009213693951
lcmp
ifle 3
1: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
bipush 61
lushr
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount2:J
2: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
ldc 2305843009213693951
land
putfield org.bouncycastle.crypto.digests.LongDigest.byteCount1:J
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
protected void processLength(long, long);
descriptor: (JJ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
bipush 14
if_icmple 2
1: aload 0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.processBlock:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
bipush 14
lload 3
lastore
3: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
bipush 15
lload 1
lastore
4: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 5 1 lowW J
0 5 3 hiW J
MethodParameters:
Name Flags
lowW
hiW
protected void processBlock();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=19, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.crypto.digests.LongDigest.adjustByteCounts:()V
1: bipush 16
istore 1
start local 1 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 1
aload 0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 1
iconst_2
isub
laload
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sigma1:(J)J
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 1
bipush 7
isub
laload
ladd
aload 0
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 1
bipush 15
isub
laload
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sigma0:(J)J
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 1
bipush 16
isub
laload
ladd
lastore
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
bipush 79
if_icmple 3
end local 1 6: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H1:J
lstore 1
start local 1 7: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H2:J
lstore 3
start local 3 8: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H3:J
lstore 5
start local 5 9: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H4:J
lstore 7
start local 7 10: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H5:J
lstore 9
start local 9 11: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H6:J
lstore 11
start local 11 12: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H7:J
lstore 13
start local 13 13: aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.H8:J
lstore 15
start local 15 14: iconst_0
istore 17
start local 17 15: iconst_0
istore 18
start local 18 16: goto 42
17: StackMap locals: org.bouncycastle.crypto.digests.LongDigest long long long long long long long long int int
StackMap stack:
lload 15
aload 0
lload 9
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 9
lload 11
lload 13
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 15
18: lload 7
lload 15
ladd
lstore 7
19: lload 15
aload 0
lload 1
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 1
lload 3
lload 5
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 15
20: lload 13
aload 0
lload 7
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 7
lload 9
lload 11
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 13
21: lload 5
lload 13
ladd
lstore 5
22: lload 13
aload 0
lload 15
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 15
lload 1
lload 3
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 13
23: lload 11
aload 0
lload 5
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 5
lload 7
lload 9
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 11
24: lload 3
lload 11
ladd
lstore 3
25: lload 11
aload 0
lload 13
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 13
lload 15
lload 1
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 11
26: lload 9
aload 0
lload 3
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 3
lload 5
lload 7
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 9
27: lload 1
lload 9
ladd
lstore 1
28: lload 9
aload 0
lload 11
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 11
lload 13
lload 15
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 9
29: lload 7
aload 0
lload 1
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 1
lload 3
lload 5
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 7
30: lload 15
lload 7
ladd
lstore 15
31: lload 7
aload 0
lload 9
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 9
lload 11
lload 13
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 7
32: lload 5
aload 0
lload 15
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 15
lload 1
lload 3
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 5
33: lload 13
lload 5
ladd
lstore 13
34: lload 5
aload 0
lload 7
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 7
lload 9
lload 11
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 5
35: lload 3
aload 0
lload 13
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 13
lload 15
lload 1
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 3
36: lload 11
lload 3
ladd
lstore 11
37: lload 3
aload 0
lload 5
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 5
lload 7
lload 9
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 3
38: lload 1
aload 0
lload 11
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum1:(J)J
aload 0
lload 11
lload 13
lload 15
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Ch:(JJJ)J
ladd
getstatic org.bouncycastle.crypto.digests.LongDigest.K:[J
iload 17
laload
ladd
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 17
iinc 17 1
laload
ladd
ladd
lstore 1
39: lload 9
lload 1
ladd
lstore 9
40: lload 1
aload 0
lload 3
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Sum0:(J)J
aload 0
lload 3
lload 5
lload 7
invokevirtual org.bouncycastle.crypto.digests.LongDigest.Maj:(JJJ)J
ladd
ladd
lstore 1
41: iinc 18 1
StackMap locals:
StackMap stack:
42: iload 18
bipush 10
if_icmplt 17
end local 18 43: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H1:J
lload 1
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H1:J
44: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H2:J
lload 3
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H2:J
45: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H3:J
lload 5
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H3:J
46: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H4:J
lload 7
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H4:J
47: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H5:J
lload 9
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H5:J
48: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H6:J
lload 11
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H6:J
49: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H7:J
lload 13
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H7:J
50: aload 0
dup
getfield org.bouncycastle.crypto.digests.LongDigest.H8:J
lload 15
ladd
putfield org.bouncycastle.crypto.digests.LongDigest.H8:J
51: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.LongDigest.wOff:I
52: iconst_0
istore 18
start local 18 53: goto 56
54: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.LongDigest.W:[J
iload 18
lconst_0
lastore
55: iinc 18 1
StackMap locals:
StackMap stack:
56: iload 18
bipush 16
if_icmplt 54
end local 18 57: return
end local 17 end local 15 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
2 6 1 t I
7 58 1 a J
8 58 3 b J
9 58 5 c J
10 58 7 d J
11 58 9 e J
12 58 11 f J
13 58 13 g J
14 58 15 h J
15 58 17 t I
16 43 18 i I
53 57 18 i I
private long Ch(long, long, long);
descriptor: (JJJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 5 0: lload 1
lload 3
land
lload 1
ldc -1
lxor
lload 5
land
lxor
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 1 1 x J
0 1 3 y J
0 1 5 z J
MethodParameters:
Name Flags
x
y
z
private long Maj(long, long, long);
descriptor: (JJJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 5 0: lload 1
lload 3
land
lload 1
lload 5
land
lxor
lload 3
lload 5
land
lxor
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 1 1 x J
0 1 3 y J
0 1 5 z J
MethodParameters:
Name Flags
x
y
z
private long Sum0(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: lload 1
bipush 36
lshl
lload 1
bipush 28
lushr
lor
lload 1
bipush 30
lshl
lload 1
bipush 34
lushr
lor
lxor
lload 1
bipush 25
lshl
lload 1
bipush 39
lushr
lor
lxor
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 1 1 x J
MethodParameters:
Name Flags
x
private long Sum1(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: lload 1
bipush 50
lshl
lload 1
bipush 14
lushr
lor
lload 1
bipush 46
lshl
lload 1
bipush 18
lushr
lor
lxor
lload 1
bipush 23
lshl
lload 1
bipush 41
lushr
lor
lxor
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 1 1 x J
MethodParameters:
Name Flags
x
private long Sigma0(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: lload 1
bipush 63
lshl
lload 1
iconst_1
lushr
lor
lload 1
bipush 56
lshl
lload 1
bipush 8
lushr
lor
lxor
lload 1
bipush 7
lushr
lxor
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 1 1 x J
MethodParameters:
Name Flags
x
private long Sigma1(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: lload 1
bipush 45
lshl
lload 1
bipush 19
lushr
lor
lload 1
iconst_3
lshl
lload 1
bipush 61
lushr
lor
lxor
lload 1
bipush 6
lushr
lxor
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/LongDigest;
0 1 1 x J
MethodParameters:
Name Flags
x
}
SourceFile: "LongDigest.java"