Can I derive an IV as a segment counter for AES256-GCM? I'm writing a software that will be encrypting &amp; authenticating segments of data, each 4096 bytes long. These segments are saved to disk in a sequential order that will never change. So I was thinking to encrypt each one of them using AES256-GCM, but before I code it I need to confirm a couple of points:


To conserve space for saving an IV for AES-GCM encryption/decryption, I was thinking to use each of my segments' sequential number as an IV. Would that pose an issue (in cryptographic sense)?
I decided to go with a 16-byte TAG (that is used by AES-GCM for authentication.) Is that an overkill for an encrypted 4096 byte segment?
To conserve space for saving an IV for AES-GCM encryption/decryption, I was thinking to use each of my segments' sequential number as an IV. Would that pose an issue (in cryptographic sense)?
  


No, it will not pose an issue because the (twelve byte) IV for GCM encryption is really a nonce; it is not directly used as counter for the underlying CTR encryption.


  
  I decided to go with a 16-byte TAG (that is used by AES-GCM for authentication.) Is that an overkill for an encrypted 4096 byte segment?
  


The security of GCM is rather dependent on the size of the authentication tag. If you can spare the few bytes I would strongly recommend keeping it set to 128 bits. You have overhead anyway and 16 / 4096 (1 / 256 if I'm not mistaken) is less than half of a percent of overhead.

And it seems like you will be handling large amounts of data, which increases the attack surface to an attacker. Better safe than sorry.