public abstract class org.bouncycastle.crypto.StreamBlockCipher implements org.bouncycastle.crypto.BlockCipher, org.bouncycastle.crypto.StreamCipher
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.crypto.StreamBlockCipher
super_class: java.lang.Object
{
private final org.bouncycastle.crypto.BlockCipher cipher;
descriptor: Lorg/bouncycastle/crypto/BlockCipher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(org.bouncycastle.crypto.BlockCipher);
descriptor: (Lorg/bouncycastle/crypto/BlockCipher;)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
aload 1
putfield org.bouncycastle.crypto.StreamBlockCipher.cipher:Lorg/bouncycastle/crypto/BlockCipher;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/crypto/StreamBlockCipher;
0 3 1 cipher Lorg/bouncycastle/crypto/BlockCipher;
MethodParameters:
Name Flags
cipher
public org.bouncycastle.crypto.BlockCipher getUnderlyingCipher();
descriptor: ()Lorg/bouncycastle/crypto/BlockCipher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.StreamBlockCipher.cipher:Lorg/bouncycastle/crypto/BlockCipher;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/StreamBlockCipher;
public final byte returnByte(byte);
descriptor: (B)B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.bouncycastle.crypto.StreamBlockCipher.calculateByte:(B)B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/StreamBlockCipher;
0 1 1 in B
MethodParameters:
Name Flags
in
public int processBytes(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 2
iload 3
iadd
aload 1
arraylength
if_icmple 2
1: new org.bouncycastle.crypto.DataLengthException
dup
ldc "input buffer too small"
invokespecial org.bouncycastle.crypto.DataLengthException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 5
iload 3
iadd
aload 4
arraylength
if_icmple 4
3: new org.bouncycastle.crypto.OutputLengthException
dup
ldc "output buffer too short"
invokespecial org.bouncycastle.crypto.OutputLengthException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
istore 6
start local 6 5: iload 2
iload 3
iadd
istore 7
start local 7 6: iload 5
istore 8
start local 8 7: goto 9
8: StackMap locals: int int int
StackMap stack:
aload 4
iload 8
iinc 8 1
aload 0
aload 1
iload 6
iinc 6 1
baload
invokevirtual org.bouncycastle.crypto.StreamBlockCipher.calculateByte:(B)B
bastore
9: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmplt 8
10: iload 3
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/crypto/StreamBlockCipher;
0 11 1 in [B
0 11 2 inOff I
0 11 3 len I
0 11 4 out [B
0 11 5 outOff I
5 11 6 inStart I
6 11 7 inEnd I
7 11 8 outStart I
Exceptions:
throws org.bouncycastle.crypto.DataLengthException
MethodParameters:
Name Flags
in
inOff
len
out
outOff
protected abstract byte calculateByte(byte);
descriptor: (B)B
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
b
}
SourceFile: "StreamBlockCipher.java"