private byte[] computeJ0(byte[] nonce) {
         final int blockSize = getBlockSizeInBytes();
         byte[] J0 = new byte[blockSize];
         System.arraycopy(nonce, 0, J0, 0, nonce.length);
         J0[blockSize - 1] = 0x01;
         return incrementBlocks(J0, 1);
     }
See <a href=
"http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf">
NIST Special Publication 800-38D.</a> for the definition of J0, the
"pre-counter block".
<p>
Reference: <a href=
"https://github.com/bcgit/bc-java/blob/master/core/src/main/java/org/bouncycastle/crypto/modes/GCMBlockCipher.java"
>GCMBlockCipher.java</a>
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/internal/crypto/AesCtr.java