public static final KeyTemplate aes128CtrHmacSha2561MBTemplate() {
    return exceptionIsBug(
        () ->
            KeyTemplate.createFrom(
                AesCtrHmacStreamingParameters.builder()
                    .setKeySizeBytes(16)
                    .setDerivedKeySizeBytes(16)
                    .setHkdfHashType(AesCtrHmacStreamingParameters.HashType.SHA256)
                    .setHmacHashType(AesCtrHmacStreamingParameters.HashType.SHA256)
                    .setHmacTagSizeBytes(32)
                    .setCiphertextSegmentSizeBytes(1024 * 1024)
                    .build()));
  }
@return a {@link KeyTemplate} that generates new instances of AesCtrHmacStreaming keys with the
    following parameters:
    <ul>
      <li>Size of the main key: 16 bytes
      <li>HKDF algo: HMAC-SHA256
      <li>Size of AES-CTR derived keys: 16 bytes
      <li>Tag algo: HMAC-SHA256
      <li>Tag size: 32 bytes
      <li>Ciphertext segment size: 1MB
    </ul>
java_src/src/main/java/com/google/crypto/tink/streamingaead/AesCtrHmacStreamingKeyManager.java