Exemplo n.º 1
0
        private byte[] PerformCalculation(byte[] src, RSACalculateDelegate method)
        {
            // Big integer requires little endian order!
            Array.Reverse(src);
            BigInteger data = new BigInteger(src);

            data = method(data);

            return(data.ToByteArray(false));
        }
Exemplo n.º 2
0
        private byte[] DoEncrypt(byte[] src, RSACalculateDelegate method)
        {
            if (src.Length > this._parameters.ModulesBlockSize)
            {
                throw new ArgumentException("Src is to long to encrypt.");
            }

            byte[] data = this.pkcs1pad(src);

            return(this.PerformCalculation(data, method));
        }
Exemplo n.º 3
0
        private byte[] DoDecrypt(byte[] src, RSACalculateDelegate method)
        {
            byte[] data = this.PerformCalculation(src, method);

            return(this.pkcs1unpad(data));
        }