When using AES-GCM I know that I am supposed to use a new initialization vector every time I call the AES-GCM algorithm with the same key. What are other rules must be followed to use AES-GCM correctly?
I am looking for a bullet point checklist with advice that I can follow as a developer, and the consequence of ignoring the advice.
I am using the Java implementation of AES-GCM.