add aes-128-gcm encryption implementation and organize to dirs