Update GCM implementation. For now it is very slow.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>