copied the project from https://bitbucket.org/ustraca/crypto