내 자신의 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 내부 작업을 시도하는 것입니다. –