@Override
      @AccessesPartialKey
      public AeadOrDaead getAeadOrDaead(final byte[] symmetricKeyValue)
          throws GeneralSecurityException {
        byte[] aesCtrKeyValue =
            Arrays.copyOfRange(symmetricKeyValue, 0, parameters.getAesKeySizeBytes());
        byte[] hmacKeyValue =
            Arrays.copyOfRange(
                symmetricKeyValue,
                parameters.getAesKeySizeBytes(),
                parameters.getAesKeySizeBytes() + parameters.getHmacKeySizeBytes());
        return new AeadOrDaead(
            EncryptThenAuthenticate.create(
                AesCtrHmacAeadKey.builder()
                    .setParameters(parameters)
                    .setAesKeyBytes(
                        SecretBytes.copyFrom(aesCtrKeyValue, InsecureSecretKeyAccess.get()))
                    .setHmacKeyBytes(
                        SecretBytes.copyFrom(hmacKeyValue, InsecureSecretKeyAccess.get()))
                    .build()));
      }
ECIES encryption with HKDF-KEM (key encapsulation mechanism) and AEAD-DEM (data
encapsulation mechanism).

@since 1.0.0
java_src/src/main/java/com/google/crypto/tink/subtle/EciesAeadHkdfHybridEncrypt.java