如果我知道参数a
,k
和p
,那么如何在C#中计算?
s=a*k^-1 mod p
它用于加密目的,我是新的。如果问题不合适,请不要觉得冒犯。
请注意,k^-1
是k (mod p)
的模块化反转,而不是幂运算符。
答案 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;
}