我試圖做我自己的RSA加密。我知道在C#中有構建方法,但我想製作自己的程序,因爲我想了解它是如何完成的。當我從字節數組轉換到字節數組的時候,我覺得我搞不清楚了。如果有人能把我推向正確的方向,那將是非常棒的:)。你編碼如何使用自己的RSA加密來加密字節數組?
private void btnEncrypt_Click(object sender, EventArgs e)
{
EncryptieModulo = 55;
PublicKey = 27;
var PlainText = Encoding.UTF8.GetBytes(txtPlaintext.Text);
for (int i = 0; i < PlainText.Length; i++)
{
PlainText[i] = (byte)(BigInteger.Pow(PlainText[i], PublicKey) % EncryptieModulo);
}
textBox1.Text = Convert.ToBase64String(PlainText);
}
private void btnDecrypt_Click(object sender, EventArgs e)
{
EncryptieModulo = 55;
PrivateKey = 3;
var CrypText = Convert.FromBase64String(txtCCryptedText.Text);
for (int i = 0; i < CrypText.Length; i++)
{
CrypText[i] = (byte)(BigInteger.Pow(CrypText[i], PrivateKey) % EncryptieModulo);
}
textBox1.Text = Encoding.UTF8.GetString(CrypText);
}
請使用示例輸入和輸出來解釋此代碼的作用,並解釋它應該做什麼以及您試圖調查這些差異的內容。 – CodeCaster
當我加密字符串「Pablo」時,它返回「FDAgJQE =」。現在,當我嘗試解密它時,它會返回字符串「* + 5」。 – user2348955
@CodeCaster:正如我從代碼中看到的,他試圖實現非常基本的RSA以瞭解它的工作原理。或多或少在這裏描述http://en.wikipedia.org/wiki/RSA_%28cryptosystem%29#A_working_example完整的實施基礎在這http://www.emc.com/emc-plus/rsa-labs/ pkcs/files/h11300-wp-pkcs-1v2-2-rsa-cryptography-standard.pdf並不是那麼簡單,但他只是試圖用最基本的形式來研究RSA的內部運作。 –