如何在C#中执行模乘和求幂?

时间:2015-05-04 11:13:21

标签: c# c#-4.0 modular-arithmetic

如果我知道参数akp,那么如何在C#中计算?

s=a*k^-1 mod p

它用于加密目的,我是新的。如果问题不合适,请不要觉得冒犯。

请注意,k^-1k (mod p)的模块化反转,而不是幂运算符。

2 个答案:

答案 0 :(得分:2)

由于问题是关于模逆,我想它会让寻求者看到另一个SO question

答案的关键是 -

  

Net 4.0+使用特殊的模块化算术函数ModPow(生成“X power Y modulo Z”)实现BigInteger,您不需要第三方库来模拟ModInverse。如果m是素数,你需要做的就是计算:

根据MSDN documentation在C#中,这被定义为

for (var i = 0; i < jsonResponse.length; i++) 
{ 
    var row = Ti.UI.createTableViewRow({ 
        width : Ti.UI.SIZE, 
        height : Ti.UI.SIZE, 
        layout: "horizontal" 
    });

    var myImage = Ti.UI.createImageView({ 
        width : Ti.UI.SIZE, 
        height : Ti.UI.SIZE, 
        image : jsonResponse[i].cover_image_url 
    }); 

    row.add(myImage); 
    data.push(row); 
} 
table.setData(data); 
win2.add(tableview);

使用这个我们可以做类似计算k模p的倒数 喜欢

public static BigInteger ModPow(
    BigInteger value,
    BigInteger exponent,
    BigInteger modulus
)

答案 1 :(得分:-3)

public static double DoMath(double a,double k,double p)

    {
        return (a * Math.Pow(k, -1)) % p;
    }