distribution source: https://github.com/Evgenus/BigInt original source: http://www.leemon.com/crypto/BigInt.html