public class org.bouncycastle.crypto.encodings.OAEPEncoding implements org.bouncycastle.crypto.AsymmetricBlockCipher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.encodings.OAEPEncoding
super_class: java.lang.Object
{
private byte[] defHash;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.crypto.Digest hash;
descriptor: Lorg/bouncycastle/crypto/Digest;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.crypto.Digest mgf1Hash;
descriptor: Lorg/bouncycastle/crypto/Digest;
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.crypto.AsymmetricBlockCipher engine;
descriptor: Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
flags: (0x0002) ACC_PRIVATE
private java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0002) ACC_PRIVATE
private boolean forEncryption;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.bouncycastle.crypto.AsymmetricBlockCipher);
descriptor: (Lorg/bouncycastle/crypto/AsymmetricBlockCipher;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new org.bouncycastle.crypto.digests.SHA1Digest
dup
invokespecial org.bouncycastle.crypto.digests.SHA1Digest.<init>:()V
aconst_null
invokespecial org.bouncycastle.crypto.encodings.OAEPEncoding.<init>:(Lorg/bouncycastle/crypto/AsymmetricBlockCipher;Lorg/bouncycastle/crypto/Digest;[B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 2 1 cipher Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
MethodParameters:
Name Flags
cipher
public void <init>(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest);
descriptor: (Lorg/bouncycastle/crypto/AsymmetricBlockCipher;Lorg/bouncycastle/crypto/Digest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokespecial org.bouncycastle.crypto.encodings.OAEPEncoding.<init>:(Lorg/bouncycastle/crypto/AsymmetricBlockCipher;Lorg/bouncycastle/crypto/Digest;[B)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 2 1 cipher Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
0 2 2 hash Lorg/bouncycastle/crypto/Digest;
MethodParameters:
Name Flags
cipher
hash
public void <init>(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, byte[]);
descriptor: (Lorg/bouncycastle/crypto/AsymmetricBlockCipher;Lorg/bouncycastle/crypto/Digest;[B)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: aload 0
aload 1
aload 2
aload 2
aload 3
invokespecial org.bouncycastle.crypto.encodings.OAEPEncoding.<init>:(Lorg/bouncycastle/crypto/AsymmetricBlockCipher;Lorg/bouncycastle/crypto/Digest;Lorg/bouncycastle/crypto/Digest;[B)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 2 1 cipher Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
0 2 2 hash Lorg/bouncycastle/crypto/Digest;
0 2 3 encodingParams [B
MethodParameters:
Name Flags
cipher
hash
encodingParams
public void <init>(org.bouncycastle.crypto.AsymmetricBlockCipher, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.Digest, byte[]);
descriptor: (Lorg/bouncycastle/crypto/AsymmetricBlockCipher;Lorg/bouncycastle/crypto/Digest;Lorg/bouncycastle/crypto/Digest;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
2: aload 0
aload 2
putfield org.bouncycastle.crypto.encodings.OAEPEncoding.hash:Lorg/bouncycastle/crypto/Digest;
3: aload 0
aload 3
putfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
4: aload 0
aload 2
invokeinterface org.bouncycastle.crypto.Digest.getDigestSize:()I
newarray 8
putfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
5: aload 4
ifnull 7
6: aload 2
aload 4
iconst_0
aload 4
arraylength
invokeinterface org.bouncycastle.crypto.Digest.update:([BII)V
7: StackMap locals: org.bouncycastle.crypto.encodings.OAEPEncoding org.bouncycastle.crypto.AsymmetricBlockCipher org.bouncycastle.crypto.Digest org.bouncycastle.crypto.Digest byte[]
StackMap stack:
aload 2
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
iconst_0
invokeinterface org.bouncycastle.crypto.Digest.doFinal:([BI)I
pop
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 9 1 cipher Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
0 9 2 hash Lorg/bouncycastle/crypto/Digest;
0 9 3 mgf1Hash Lorg/bouncycastle/crypto/Digest;
0 9 4 encodingParams [B
MethodParameters:
Name Flags
cipher
hash
mgf1Hash
encodingParams
public org.bouncycastle.crypto.AsymmetricBlockCipher getUnderlyingCipher();
descriptor: ()Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
public void init(boolean, org.bouncycastle.crypto.CipherParameters);
descriptor: (ZLorg/bouncycastle/crypto/CipherParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.bouncycastle.crypto.params.ParametersWithRandom
ifeq 4
1: aload 2
checkcast org.bouncycastle.crypto.params.ParametersWithRandom
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.bouncycastle.crypto.params.ParametersWithRandom.getRandom:()Ljava/security/SecureRandom;
putfield org.bouncycastle.crypto.encodings.OAEPEncoding.random:Ljava/security/SecureRandom;
end local 3 3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield org.bouncycastle.crypto.encodings.OAEPEncoding.random:Ljava/security/SecureRandom;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
iload 1
aload 2
invokeinterface org.bouncycastle.crypto.AsymmetricBlockCipher.init:(ZLorg/bouncycastle/crypto/CipherParameters;)V
6: aload 0
iload 1
putfield org.bouncycastle.crypto.encodings.OAEPEncoding.forEncryption:Z
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 8 1 forEncryption Z
0 8 2 param Lorg/bouncycastle/crypto/CipherParameters;
2 3 3 rParam Lorg/bouncycastle/crypto/params/ParametersWithRandom;
MethodParameters:
Name Flags
forEncryption
param
public int getInputBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
invokeinterface org.bouncycastle.crypto.AsymmetricBlockCipher.getInputBlockSize:()I
istore 1
start local 1 1: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.forEncryption:Z
ifeq 3
2: iload 1
iconst_1
isub
iconst_2
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
imul
isub
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
1 4 1 baseBlockSize I
public int getOutputBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
invokeinterface org.bouncycastle.crypto.AsymmetricBlockCipher.getOutputBlockSize:()I
istore 1
start local 1 1: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.forEncryption:Z
ifeq 3
2: iload 1
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
iconst_1
isub
iconst_2
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
imul
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
1 4 1 baseBlockSize I
public byte[] processBlock(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.forEncryption:Z
ifeq 2
1: aload 0
aload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.encodeBlock:([BII)[B
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.decodeBlock:([BII)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 3 1 in [B
0 3 2 inOff I
0 3 3 inLen I
Exceptions:
throws org.bouncycastle.crypto.InvalidCipherTextException
MethodParameters:
Name Flags
in
inOff
inLen
public byte[] encodeBlock(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.getInputBlockSize:()I
iconst_1
iadd
iconst_2
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
imul
iadd
newarray 8
astore 4
start local 4 1: aload 1
iload 2
aload 4
aload 4
arraylength
iload 3
isub
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 4
aload 4
arraylength
iload 3
isub
iconst_1
isub
iconst_1
bastore
3: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
iconst_0
aload 4
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
newarray 8
astore 5
start local 5 5: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.random:Ljava/security/SecureRandom;
aload 5
invokevirtual java.security.SecureRandom.nextBytes:([B)V
6: aload 0
aload 5
iconst_0
aload 5
arraylength
aload 4
arraylength
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
isub
invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.maskGeneratorFunction1:([BIII)[B
astore 6
start local 6 7: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
istore 7
start local 7 8: goto 11
9: StackMap locals: org.bouncycastle.crypto.encodings.OAEPEncoding byte[] int int byte[] byte[] byte[] int
StackMap stack:
aload 4
iload 7
dup2
baload
aload 6
iload 7
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
isub
baload
ixor
i2b
bastore
10: iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
aload 4
arraylength
if_icmpne 9
end local 7 12: aload 5
iconst_0
aload 4
iconst_0
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
14: aload 4
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
aload 4
arraylength
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
isub
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
15: invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.maskGeneratorFunction1:([BIII)[B
astore 6
16: iconst_0
istore 7
start local 7 17: goto 20
18: StackMap locals:
StackMap stack:
aload 4
iload 7
dup2
baload
aload 6
iload 7
baload
ixor
i2b
bastore
19: iinc 7 1
StackMap locals:
StackMap stack:
20: iload 7
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
if_icmpne 18
end local 7 21: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
aload 4
iconst_0
aload 4
arraylength
invokeinterface org.bouncycastle.crypto.AsymmetricBlockCipher.processBlock:([BII)[B
areturn
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 22 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 22 1 in [B
0 22 2 inOff I
0 22 3 inLen I
1 22 4 block [B
5 22 5 seed [B
7 22 6 mask [B
8 12 7 i I
17 21 7 i I
Exceptions:
throws org.bouncycastle.crypto.InvalidCipherTextException
MethodParameters:
Name Flags
in
inOff
inLen
public byte[] decodeBlock(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
aload 1
iload 2
iload 3
invokeinterface org.bouncycastle.crypto.AsymmetricBlockCipher.processBlock:([BII)[B
astore 4
start local 4 1: aload 4
arraylength
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
invokeinterface org.bouncycastle.crypto.AsymmetricBlockCipher.getOutputBlockSize:()I
if_icmpge 5
2: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.engine:Lorg/bouncycastle/crypto/AsymmetricBlockCipher;
invokeinterface org.bouncycastle.crypto.AsymmetricBlockCipher.getOutputBlockSize:()I
newarray 8
astore 5
start local 5 3: aload 4
iconst_0
aload 5
aload 5
arraylength
aload 4
arraylength
isub
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: goto 6
end local 5 5: StackMap locals: byte[]
StackMap stack:
aload 4
astore 5
start local 5 6: StackMap locals: byte[]
StackMap stack:
aload 5
arraylength
iconst_2
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
imul
iconst_1
iadd
if_icmpge 8
7: new org.bouncycastle.crypto.InvalidCipherTextException
dup
ldc "data too short"
invokespecial org.bouncycastle.crypto.InvalidCipherTextException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
9: aload 5
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
aload 5
arraylength
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
isub
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
10: invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.maskGeneratorFunction1:([BIII)[B
astore 6
start local 6 11: iconst_0
istore 7
start local 7 12: goto 15
13: StackMap locals: byte[] int
StackMap stack:
aload 5
iload 7
dup2
baload
aload 6
iload 7
baload
ixor
i2b
bastore
14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
if_icmpne 13
end local 7 16: aload 0
aload 5
iconst_0
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
aload 5
arraylength
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
isub
invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.maskGeneratorFunction1:([BIII)[B
astore 6
17: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
istore 7
start local 7 18: goto 21
19: StackMap locals:
StackMap stack:
aload 5
iload 7
dup2
baload
aload 6
iload 7
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
isub
baload
ixor
i2b
bastore
20: iinc 7 1
StackMap locals:
StackMap stack:
21: iload 7
aload 5
arraylength
if_icmpne 19
end local 7 22: iconst_0
istore 7
start local 7 23: goto 27
24: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
iload 7
baload
aload 5
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
iload 7
iadd
baload
if_icmpeq 26
25: new org.bouncycastle.crypto.InvalidCipherTextException
dup
ldc "data hash wrong"
invokespecial org.bouncycastle.crypto.InvalidCipherTextException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
27: iload 7
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
if_icmpne 24
end local 7 28: iconst_2
aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.defHash:[B
arraylength
imul
istore 7
start local 7 29: goto 33
30: StackMap locals:
StackMap stack:
aload 5
iload 7
baload
ifeq 32
31: goto 34
32: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
33: iload 7
aload 5
arraylength
if_icmpne 30
34: StackMap locals:
StackMap stack:
iload 7
aload 5
arraylength
iconst_1
isub
if_icmpge 35
aload 5
iload 7
baload
iconst_1
if_icmpeq 36
35: StackMap locals:
StackMap stack:
new org.bouncycastle.crypto.InvalidCipherTextException
dup
new java.lang.StringBuilder
dup
ldc "data start wrong "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.bouncycastle.crypto.InvalidCipherTextException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
iinc 7 1
37: aload 5
arraylength
iload 7
isub
newarray 8
astore 8
start local 8 38: aload 5
iload 7
aload 8
iconst_0
aload 8
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
39: aload 8
areturn
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 40 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 40 1 in [B
0 40 2 inOff I
0 40 3 inLen I
1 40 4 data [B
3 5 5 block [B
6 40 5 block [B
11 40 6 mask [B
12 16 7 i I
18 22 7 i I
23 28 7 i I
29 40 7 start I
38 40 8 output [B
Exceptions:
throws org.bouncycastle.crypto.InvalidCipherTextException
MethodParameters:
Name Flags
in
inOff
inLen
private void ItoOSP(int, byte[]);
descriptor: (I[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
iload 1
bipush 24
iushr
i2b
bastore
1: aload 2
iconst_1
iload 1
bipush 16
iushr
i2b
bastore
2: aload 2
iconst_2
iload 1
bipush 8
iushr
i2b
bastore
3: aload 2
iconst_3
iload 1
iconst_0
iushr
i2b
bastore
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 5 1 i I
0 5 2 sp [B
MethodParameters:
Name Flags
i
sp
private byte[] maskGeneratorFunction1(byte[], int, int, int);
descriptor: ([BIII)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
newarray 8
astore 5
start local 5 1: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
invokeinterface org.bouncycastle.crypto.Digest.getDigestSize:()I
newarray 8
astore 6
start local 6 2: iconst_4
newarray 8
astore 7
start local 7 3: iconst_0
istore 8
start local 8 4: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.hash:Lorg/bouncycastle/crypto/Digest;
invokeinterface org.bouncycastle.crypto.Digest.reset:()V
5: StackMap locals: org.bouncycastle.crypto.encodings.OAEPEncoding byte[] int int int byte[] byte[] byte[] int
StackMap stack:
aload 0
iload 8
aload 7
invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.ItoOSP:(I[B)V
6: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
aload 1
iload 2
iload 3
invokeinterface org.bouncycastle.crypto.Digest.update:([BII)V
7: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
aload 7
iconst_0
aload 7
arraylength
invokeinterface org.bouncycastle.crypto.Digest.update:([BII)V
8: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
aload 6
iconst_0
invokeinterface org.bouncycastle.crypto.Digest.doFinal:([BI)I
pop
9: aload 6
iconst_0
aload 5
iload 8
aload 6
arraylength
imul
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: iinc 8 1
iload 8
iload 4
aload 6
arraylength
idiv
11: if_icmplt 5
12: iload 8
aload 6
arraylength
imul
iload 4
if_icmpge 18
13: aload 0
iload 8
aload 7
invokevirtual org.bouncycastle.crypto.encodings.OAEPEncoding.ItoOSP:(I[B)V
14: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
aload 1
iload 2
iload 3
invokeinterface org.bouncycastle.crypto.Digest.update:([BII)V
15: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
aload 7
iconst_0
aload 7
arraylength
invokeinterface org.bouncycastle.crypto.Digest.update:([BII)V
16: aload 0
getfield org.bouncycastle.crypto.encodings.OAEPEncoding.mgf1Hash:Lorg/bouncycastle/crypto/Digest;
aload 6
iconst_0
invokeinterface org.bouncycastle.crypto.Digest.doFinal:([BI)I
pop
17: aload 6
iconst_0
aload 5
iload 8
aload 6
arraylength
imul
aload 5
arraylength
iload 8
aload 6
arraylength
imul
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: StackMap locals:
StackMap stack:
aload 5
areturn
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 19 0 this Lorg/bouncycastle/crypto/encodings/OAEPEncoding;
0 19 1 Z [B
0 19 2 zOff I
0 19 3 zLen I
0 19 4 length I
1 19 5 mask [B
2 19 6 hashBuf [B
3 19 7 C [B
4 19 8 counter I
MethodParameters:
Name Flags
Z
zOff
zLen
length
}
SourceFile: "OAEPEncoding.java"