GCM mode fully implemented