EasyCrypt - Verschlüsselungslibrary

    • Release

    Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von Gather.

      EasyCrypt - Verschlüsselungslibrary

      Hallo Community!
      Nach einer etwas längeren Zeit habe ich meine EasyCrypt-Library wieder ausgegraben und fertigprogrammiert.




      Beschreibung:
      EasyCrypt ist eine leistungsstarke Dynamic Link Library zum Verschlüsseln von Texten bzw. Datein.
      Alle derzeit unterstützen Funktionen können Sie im nächstem Punkt nachlesen!

      Funktionen:


      Neue Funktionen:
      Mit Version 1.0.1.1 implentiert!
      Mit Version 1.0.2.0 implentiert!
      Wichtig! Für die TripleDES ist wegen der geringen Blockgröße nur ein SECHSSTELLIGES PASSWORT möglich.
      Ich arbeite daran, dies zu ändern.

      Screenshot(s):
      Keine Vorhanden da .dll

      Verwendete Programmiersprache und IDE:

      Programmiersprache: VB.NET
      Erste IDE: Visual Studio 2010 Ultimate
      Zweite IDE: Visual Studio 2012 RC

      Systemanforderungen:

      .NET Framework 3.5


      Download:
      Den Download finden Sie unten als Dateianhang!

      Version 1.0.0.1
      Version 1.0.1.1
      Version 1.0.2.0



      Getestet auf:

      • Windows 7 Home Premium 64-Bit
      • Windows 7 Home Premium 32-Bit
      • Windows 7 Professional 64-Bit
      • Windows 7 Ultimate 64-Bit
      • Windows XP Home Premium 64-Bit


      Lizenz/Weitergabe:
      Freeware; Weitergabe nur unter Namensangabe; Closed Source; Dekompilieren verboten; Verkauf untersagt.

      Sonstiges:
      Die .dll darf nur nach Anfrage in ein Projekt eingebunden werden.
      Anfrage einfach auf meiner Seite (Noch in Arbeit) oder hier/pn.

      Codebeispiel:

      Zuerst müssen Sie natürlich einen Verweis setzen.
      Danach die .dll Importieren.

      VB.NET-Quellcode

      1. Imports EasyCrypt.EasyCrypt


      Um nun einen Text zu verschlüsseln:

      VB.NET-Quellcode

      1. txtOut.Text = EasyCrypt.EasyCrypt.Cryptography.AES.encrypt_String(txtIn.Text, txtPassword.Text)


      Oder eine Datei:

      VB.NET-Quellcode

      1. EasyCrypt.EasyCrypt.Cryptography.AES.encrypt_File(txtPath.Text, txtSavehere.Text, txtPassword.Text)


      Codebeispiel für RSA:

      VB.NET-Quellcode

      1. Imports EasyCrypt
      2. Public Class Form1
      3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      4. Dim key_RSA As EasyCrypt.EasyCrypt.Cryptography.RSA.key_Structure = EasyCrypt.EasyCrypt.Cryptography.RSA.get_Key
      5. IO.File.WriteAllText("Öffentlicher_Schlüssel.xml", key_RSA.key_xmlOpen)
      6. IO.File.WriteAllText("Privater_Schlüssel.xml", key_RSA.key_xmlPrivate)
      7. Dim unverschlüsselt As String = "Test String"
      8. Dim verschlüsselt As String = EasyCrypt.EasyCrypt.Cryptography.RSA.encrypt_String(unverschlüsselt, IO.File.ReadAllText("Öffentlicher_Schlüssel.xml"))
      9. Dim entschlüsselt As String = EasyCrypt.EasyCrypt.Cryptography.RSA.decrypt_String(verschlüsselt, IO.File.ReadAllText("Privater_Schlüssel.xml"))
      10. MsgBox("Unverschlüsselt: " & unverschlüsselt)
      11. MsgBox("Verschlüsselt: " & verschlüsselt)
      12. MsgBox("Entschlüsselt: " & entschlüsselt)
      13. End Sub
      14. End Class


      Schlussworte:
      Wenn Sie Ideen für Funktionen habem, können Sie diese mir gerne zukommen lassen. Ich werde dann mein besten geben um diese zu implentieren!
      Dateien
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von „Gather“ ()

      Wie bei der anderen Lib die es hier bereits mal gab mit ähnlichen Funktionen:

      1. Was haben Hashes in einer Crypt Library verloren??
      2. Instanzieren ist Sinnlos, weils nur Funktionsaufrufe sind, also sind Shared Funktionen hierbei sicher angebrachter

      Dodo schrieb:

      Was haben Hashes in einer Crypt Library verloren??

      Na ja, DAS müsstest du dann auch MS fragen, denn die HashFunktionen sind in System.Security.Cryptography.

      Ist aber auch korrekt, weil auch Hashes ja letztlich die selben Grundlagen haben wie 2-Wege-Verschlüsselungen. Man kann ja im Prinzip jede Verschlüsselung auch zum bilden eines Hashes verwenden (einfach immer wieder den Output mit dem alten Output XOR'en)
      Prinzipiell schon. Allerdings sehe ich dann hier schon wieder Fragen von unwissende die dann fragen "Wo ist die Enschlüsselungs-Funktions für SHA1 oder MD5?". Weil sie denken mit einer Crypt Library können sie ganz easy Passwörter rück "Entschlüsseln".
      deswegen Sind diese auch in dem Namespace Hash.
      Ich habe Sie nur hinzugefügt, da fast jeder diese irgendwann benötigt. Für VErschlüsselungen gibt es deswegen den Cryptography Namespace.
      @Dodo:
      Instanzieren ist Sinnlos, weils nur Funktionsaufrufe sind, also sind Shared Funktionen hierbei sicher angebrachter
      Okey bei der nächsten Version, werden 1. mehr Verschlüsselungen kommen, ich sitze eh gerade an einer.
      Und 2. werden ich mal die Funktionen überarbeiten.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Update #1 Version 1.0.1.1

      Ich habe nun Version 1.0.1.1 veröffentlicht!
      Neue Funktionen:
      Verschlüsselungsart RSA wurden hinzugefügt!

      Funktionen wurden auf Wunsch in Shared Functions umgeändert.
      Instanzieren ist Sinnlos, weils nur Funktionsaufrufe sind, also sind Shared Funktionen hierbei sicher angebrachter
      Codebeispiel für RSA:

      VB.NET-Quellcode

      1. Imports EasyCrypt
      2. Public Class Form1
      3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      4. Dim key_RSA As EasyCrypt.EasyCrypt.Cryptography.RSA.key_Structure = EasyCrypt.EasyCrypt.Cryptography.RSA.get_Key
      5. IO.File.WriteAllText("Öffentlicher_Schlüssel.xml", key_RSA.key_xmlOpen)
      6. IO.File.WriteAllText("Privater_Schlüssel.xml", key_RSA.key_xmlPrivate)
      7. Dim unverschlüsselt As String = "Test String"
      8. Dim verschlüsselt As String = EasyCrypt.EasyCrypt.Cryptography.RSA.encrypt_String(unverschlüsselt, IO.File.ReadAllText("Öffentlicher_Schlüssel.xml"))
      9. Dim entschlüsselt As String = EasyCrypt.EasyCrypt.Cryptography.RSA.decrypt_String(verschlüsselt, IO.File.ReadAllText("Privater_Schlüssel.xml"))
      10. MsgBox("Unverschlüsselt: " & unverschlüsselt)
      11. MsgBox("Verschlüsselt: " & verschlüsselt)
      12. MsgBox("Entschlüsselt: " & entschlüsselt)
      13. End Sub
      14. End Class



      (Version 1.0.1.1 (Veraltet!); Forendownload)
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gather“ ()

      Update #2 Version 1.0.2.0

      Es geht Schlag auf Schlag.
      Version 1.0.2.0 wurde veröffentlicht!

      Neue Funktionen:


      Andere Änderungen:

      - diverse Bugfixes
      - Umstieg auf Visual Studio 2012


      (Version 1.0.2.0, Forendownload)

      Vorschläge für andere Verschlüsselungsarten?

      Wenn ihr Vorschläge bzw. Ideen für andere Verschlüsselungsarten habt,
      lasst mich diese bitte wissen, dann werde ich mein bestes geben um diese zu implentieren.


      Hat sonst noch jmd. eine Bewertung der .dll oder vielleicht sogar einen Bug gefunden?
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Auf welchen weise sollte ich sie denn deiner Meinung nach umändern.

      Außerdem, kannst du mich bitte kurz darin einweisen und mir sagen warum das so wichtig wäre, nur der optik wegen?
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Naja, der Persistenz wegen. Nicht umsonst gibt es diese Richtlinien.

      Beispielsweise sollte die Methode decrypt_File lieber DecryptFile heißen. Es gibt im gesamten Framework keine Methode oder Eigenschaft die einen Unterstrich als Trennzeichen benutzt.
      Was für ein altes Projekt :D

      @ThomasProj

      Naja, nach der Fehlermeldung kann die .dll nicht gefunden werden.
      Folglich nenn die Datei einmal auf "EasyCrypt.dll" um und entferne somit das v.1.0.2.0 aus dem Dateinamen.
      Danach überprüfe nochmals den Verweis und das sollte es gewesen sein.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Ich finde deine Libary wirklich nützlich, aber ich frage mich ob es sinnvoll ist etwas mit einem Algorithmus zu verschlüsseln, der z.B mit ILSpy ausgelesen werden kann. Klar für die Allgemeinheit ist das ein unüberwindbares Hindernis, aber für jemanden der halbwegs Ahnung hat kein Problem oder? Sollte man so einen Algorithmus nicht mit z.B C++ schrieben, als DLL exportieren und dann nurnoch in VB ausrufen? Das macht das Ganze noch sicherer.

      Schon. Aber AES verwendet Salt-Key und Passwörter.
      Solange diese geheim bleiben, und diese auch nicht 1 zu 1 im Code stehen sollte es sicher sein.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Mach in auch morgen, ich muss leider die Files erst wieder zusammenkratzen.