public void testEncryptDecrypt(
      int keySizeInBytes,
      int tagSizeInBytes,
      int segmentSize,
      int firstSegmentOffset,
      int plaintextSize,
      int chunkSize)
      throws Exception {
    byte[] ikm = Hex.decode("000102030405060708090a0b0c0d0e0f00112233445566778899aabbccddeeff");
    AesCtrHmacStreaming ags =
        new AesCtrHmacStreaming(ikm, "HmacSha256", keySizeInBytes, "HmacSha256",
            tagSizeInBytes, segmentSize, firstSegmentOffset);
    StreamingTestUtil.testEncryptDecrypt(ags, firstSegmentOffset, plaintextSize, chunkSize);
  }
Encrypts and decrypts some plaintext in a stream and checks that the expected plaintext is
returned.

@param keySizeInBytes the size of the AES key.
@param tagSizeInBytes the size of authentication tag.
@param segmentSize the size of the ciphertext segments.
@param firstSegmentOffset number of bytes prepended to the ciphertext stream.
@param plaintextSize the size of the plaintext
@param chunkSize decryption read chunks of this size.
java_src/src/test/java/com/google/crypto/tink/subtle/AesCtrHmacStreamingTest.java