12

我致力于实现RSA密钥算法。但我不能使用 2048 位的值。我该如何使用它?

我想使用大整数。

4

5 回答 5

29

您可以使用System.Numerics.BigInteger(添加对 System.Numerics 程序集的引用)。正如评论中提到的,这可能不是正确的方法。

于 2012-05-16T18:56:02.157 回答
8

.NET 4.0 中引入了对大整数的本机支持。只需添加对 的程序集引用,在代码文件的顶部System.Numerics添加声明,就可以开始了。using System.Numerics;你追求的类型是BigInteger.

于 2012-05-16T18:55:46.067 回答
8

这里使用BigInteger. 此方法将斐波那契数列中的数字打印到n.

public static void FibonacciSequence(int n)
{
    /** BigInteger easily holds the first 1000 numbers in the Fibonacci Sequence. **/
    List<BigInteger> fibonacci = new List<BigInteger>();
    fibonacci.Add(0);
    fibonacci.Add(1);
    BigInteger i = 2;
    while(i < n)
    {                
        int first = (int)i - 2;
        int second = (int) i - 1;

        BigInteger firstNumber =  fibonacci[first];
        BigInteger secondNumber = fibonacci[second];
        BigInteger sum = firstNumber + secondNumber;
        fibonacci.Add(sum);
        i++;
    }         

    foreach (BigInteger f in fibonacci) { Console.WriteLine(f); }
}
于 2013-01-03T16:00:06.223 回答
3

BigInteger在 .NET 4.0 或更高版本中可用。还有一些第三方实现(如果您使用的是框架的早期版本)。

于 2012-05-16T18:56:53.307 回答
1

更好用System.Numerics.BigInteger

于 2012-05-16T19:10:53.587 回答