public final class com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt implements com.google.crypto.tink.HybridEncrypt
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt
super_class: java.lang.Object
{
private static final byte[] EMPTY_AAD;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.google.crypto.tink.subtle.EciesHkdfSenderKem senderKem;
descriptor: Lcom/google/crypto/tink/subtle/EciesHkdfSenderKem;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String hkdfHmacAlgo;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] hkdfSalt;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.google.crypto.tink.subtle.EllipticCurves$PointFormatType ecPointFormat;
descriptor: Lcom/google/crypto/tink/subtle/EllipticCurves$PointFormatType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.google.crypto.tink.subtle.EciesAeadHkdfDemHelper demHelper;
descriptor: Lcom/google/crypto/tink/subtle/EciesAeadHkdfDemHelper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
newarray 8
putstatic com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.EMPTY_AAD:[B
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.security.interfaces.ECPublicKey, byte[], java.lang.String, com.google.crypto.tink.subtle.EllipticCurves$PointFormatType, com.google.crypto.tink.subtle.EciesAeadHkdfDemHelper);
descriptor: (Ljava/security/interfaces/ECPublicKey;[BLjava/lang/String;Lcom/google/crypto/tink/subtle/EllipticCurves$PointFormatType;Lcom/google/crypto/tink/subtle/EciesAeadHkdfDemHelper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokestatic com.google.crypto.tink.subtle.EllipticCurves.checkPublicKey:(Ljava/security/interfaces/ECPublicKey;)V
2: aload 0
new com.google.crypto.tink.subtle.EciesHkdfSenderKem
dup
aload 1
invokespecial com.google.crypto.tink.subtle.EciesHkdfSenderKem.<init>:(Ljava/security/interfaces/ECPublicKey;)V
putfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.senderKem:Lcom/google/crypto/tink/subtle/EciesHkdfSenderKem;
3: aload 0
aload 2
putfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.hkdfSalt:[B
4: aload 0
aload 3
putfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.hkdfHmacAlgo:Ljava/lang/String;
5: aload 0
aload 4
putfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.ecPointFormat:Lcom/google/crypto/tink/subtle/EllipticCurves$PointFormatType;
6: aload 0
aload 5
putfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.demHelper:Lcom/google/crypto/tink/subtle/EciesAeadHkdfDemHelper;
7: return
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 8 0 this Lcom/google/crypto/tink/subtle/EciesAeadHkdfHybridEncrypt;
0 8 1 recipientPublicKey Ljava/security/interfaces/ECPublicKey;
0 8 2 hkdfSalt [B
0 8 3 hkdfHmacAlgo Ljava/lang/String;
0 8 4 ecPointFormat Lcom/google/crypto/tink/subtle/EllipticCurves$PointFormatType;
0 8 5 demHelper Lcom/google/crypto/tink/subtle/EciesAeadHkdfDemHelper;
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
recipientPublicKey final
hkdfSalt final
hkdfHmacAlgo
ecPointFormat
demHelper
public byte[] encrypt(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.senderKem:Lcom/google/crypto/tink/subtle/EciesHkdfSenderKem;
1: aload 0
getfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.hkdfHmacAlgo:Ljava/lang/String;
2: aload 0
getfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.hkdfSalt:[B
3: aload 2
4: aload 0
getfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.demHelper:Lcom/google/crypto/tink/subtle/EciesAeadHkdfDemHelper;
invokeinterface com.google.crypto.tink.subtle.EciesAeadHkdfDemHelper.getSymmetricKeySizeInBytes:()I
5: aload 0
getfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.ecPointFormat:Lcom/google/crypto/tink/subtle/EllipticCurves$PointFormatType;
6: invokevirtual com.google.crypto.tink.subtle.EciesHkdfSenderKem.generateKey:(Ljava/lang/String;[B[BILcom/google/crypto/tink/subtle/EllipticCurves$PointFormatType;)Lcom/google/crypto/tink/subtle/EciesHkdfSenderKem$KemKey;
7: astore 3
start local 3 8: aload 0
getfield com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.demHelper:Lcom/google/crypto/tink/subtle/EciesAeadHkdfDemHelper;
aload 3
invokevirtual com.google.crypto.tink.subtle.EciesHkdfSenderKem$KemKey.getSymmetricKey:()[B
invokeinterface com.google.crypto.tink.subtle.EciesAeadHkdfDemHelper.getAead:([B)Lcom/google/crypto/tink/Aead;
astore 4
start local 4 9: aload 4
aload 1
getstatic com.google.crypto.tink.subtle.EciesAeadHkdfHybridEncrypt.EMPTY_AAD:[B
invokeinterface com.google.crypto.tink.Aead.encrypt:([B[B)[B
astore 5
start local 5 10: aload 3
invokevirtual com.google.crypto.tink.subtle.EciesHkdfSenderKem$KemKey.getKemBytes:()[B
astore 6
start local 6 11: aload 6
arraylength
aload 5
arraylength
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
12: aload 6
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
13: aload 5
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
14: invokevirtual java.nio.ByteBuffer.array:()[B
15: 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 16 0 this Lcom/google/crypto/tink/subtle/EciesAeadHkdfHybridEncrypt;
0 16 1 plaintext [B
0 16 2 contextInfo [B
8 16 3 kemKey Lcom/google/crypto/tink/subtle/EciesHkdfSenderKem$KemKey;
9 16 4 aead Lcom/google/crypto/tink/Aead;
10 16 5 ciphertext [B
11 16 6 header [B
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
plaintext final
contextInfo final
}
SourceFile: "EciesAeadHkdfHybridEncrypt.java"
InnerClasses:
public final KemKey = com.google.crypto.tink.subtle.EciesHkdfSenderKem$KemKey of com.google.crypto.tink.subtle.EciesHkdfSenderKem
public final PointFormatType = com.google.crypto.tink.subtle.EllipticCurves$PointFormatType of com.google.crypto.tink.subtle.EllipticCurves