Added some tests.
Added GCM support.