Wie verwenden von c# zu entschlüsseln, MD5-hash, verschlüsselt über RSA1024

Ich versuche zum überprüfen der Integrität einer Datei bei der Arbeit und haben eine harte Zeit von es. Ich bin nicht sehr versiert mit Verschlüsselung und hashing, so mit mir tragen.

Ich habe einige Dateien mit einem MD5-hash das Hotel liegt am Ende von Ihnen. Ich habe code geschrieben, greifen die bytes, die ich denke, sind die hash-und Sie gesehen gleichmäßig zu 128 bytes lang. In der Datei, kurz vor dem hash, ist das Stichwort "RSA1024", das habe ich verstanden, wird der hash verschlüsselt mit RSA-1024.

Habe ich, was ich weiß, ist der RSA-Schlüssel in eine Datei und das Auslesen der bytes (immer 258 bytes lang). Ich habe gesehen, viele tutorials, die die Nutzung FromXmlString() to pull in den Schlüssel, aber dieser RSA-Schlüssel nicht generiert wurde, mithilfe der .net framework, und nicht in einem XML-format.

Ich geschrieben habe die folgende Methode zum entschlüsseln des hash-Daten mit dem Schlüssel, und es wirft diese Fehlermeldung beim ausführen ImportCspBlob() - System.Sicherheit.Die Kryptographie.CryptographicException: Bad Version der Anbieter.

Irgendwelche Ideen?

    public byte[] DecryptRSA(byte[] encryptedData, byte[] keyData)
    {
        CspParameters param = new CspParameters();
        param.Flags = CspProviderFlags.UseExistingKey;
        RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider(param);

        rsaProvider.ImportCspBlob(keyData);

        byte[] decryptedData = rsaProvider.Decrypt(encryptedData, false);

        return decryptedData;
    }

Grundlegende Algorithmus

Es mag seltsam klingen zu wollen "entschlüsseln einen MD5-hash", und vor allem, wenn man sagt, dass Sie wollen "entschlüsseln mit public-key" -. Aber das ist, wie digitale Signaturen funktionieren. Mit RSA können Sie:

  • verschlüsseln mit privatem Schlüssel
  • entschlüsseln mit dem öffentlichen Schlüssel

Wie verwenden von c# zu entschlüsseln, MD5-hash, verschlüsselt über RSA1024

Den message digest ist verschlüsselt mit dem privaten Schlüssel, und kann nur dann entschlüsselt werden, die mit der öffentlichen - Taste. Auf diese Weise wissen Sie, dass nur die person mit dem privaten Schlüssel haben könnte, hat die Nachricht signiert.

  • Nur damit Sie wissen, Sie können nicht "unhash" oder "entschlüsseln" ein hash-code. Hashing ist ein one-way-operation. Das sagte, ich glaube, Ihre Frage ist eigentlich über die Entschlüsselung und das Wort hash wird nur missbraucht! Nur ein fyi
  • Um zu klären, - Die Datei Hashen mit MD5, dann sind das MD5-Ergebnis war verschlüsselt mit RSA1024 und das Ergebnis an die Datei angehängt?
  • Sie nicht entschlüsseln können/dehash MD5. MD5-Algorithmus one-way.
  • Jede chance, die Sie sind die gleiche person wie dieser Fragesteller?
  • Nein, dass ist nicht mir.
  • Sorry, Kevek. Vielleicht war ich nicht klar genug. Ich will nicht zum entschlüsseln des Hash, das verstehe ich nicht. Ich möchte zu entschlüsseln und das Ergebnis der Verschlüsselung des hash, das ist, was gespeichert wird, an das Ende der Datei.

InformationsquelleAutor user384961 | 2011-09-12
Schreibe einen Kommentar