Verschlüsselung (bzw. Tutorials Dazu)

Es gibt 36 Antworten in diesem Thema. Der letzte Beitrag () ist von m9898.

    richtig, weil es dort wesentlich mehr Möglichkeiten gibt, deshalb ist es etwas ganz anderes, vorallem weil es hier ja nicht um Passwort Brute-Forcing geht, sondern um einen einfachen stetig gleichen und einfachen Algorithmus...
    Deshalb ist "kann niemand knacken" sowie "geht bei AES" genauso wirklich Falsch...

    Edit: Natürlich Brute-Force kann man überall anwenden, aber bei AES dauert es im Allgemeinen so lange, dass es keinen Sinn mehr ergibt, hier schon ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    So hier ist der Versprochene Code.
    Bin leider erst heute dazu gekommen ihn dir zu schicken.
    Die Form hat drein Textboxen : die hab ich Key, Plain und Code genannt.
    außerdem gibt es noch nen button zum starten.
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim k(Key.Text.Length) As Integer
    3. Dim p(Plain.Text.Length) As Integer
    4. Dim Zahl As Integer
    5. Dim stelle As Integer
    6. Dim wert As Integer
    7. Dim l_key As Integer = Key.Text.Length
    8. Dim abc As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890ß´#^°!§$%&/()=?`'²³{[]}\+*~üöäÜÖÄ-_.:,;µ@<>| " & Chr(34) 'Die wichtigten Zeichen + " in doppelten "
    9. For i As Integer = 1 To l_key 'schlüssel in Zahlen umwandeln
    10. k(i) = InStr(abc, Mid(Key.Text, i, 1))
    11. Next
    12. For i As Integer = 1 To Plain.Text.Length 'PLain in Zahlen umwandeln
    13. Zahl = InStr(abc, Mid(Plain.Text, i, 1))
    14. stelle += 1
    15. If stelle > l_key Then
    16. stelle = 1
    17. End If
    18. 'Die Funktion liefert immer Zahlen von 1 bis l_key
    19. wert = k(stelle) + Zahl 'Key und PLain verechnen
    20. If wert > abc.Length Then
    21. wert -= abc.Length
    22. End If
    23. p(i) = wert
    24. Next
    25. Code.Text = Nothing
    26. For i As Integer = 1 To Plain.Text.Length 'Zahlen in Code zurückrechnen
    27. Code.Text += Mid(abc, p(i), 1)
    28. Next
    29. End Sub
    30. Function decimalanteil(ByVal zahl As Double)
    31. Return zahl - Math.Round(zahl, 0)
    32. End Function


    Das ganze wird natürlich noch sicherer wenn du den Code nochmal mit dem gleichen Key verschlüsselst.
    Der Key sollte halt auf jeden Fall lang genug sein. Du könntest den z.b auch erst hashen bevor du damit verschlüsselst, dann wäre er auch immer gleich lang.
    Außerdem solltest du vllt noch prüfen ob ungültige Zeichen eingegeben worden sind.

    Viel Spass damit

    jvbsl schrieb:

    so lange, dass es keinen Sinn mehr ergibt

    Stimmt nicht. Wenn das Passwort "a" ist, geht es genauso schnell zu Brute-Forcen wie irgendeine billige Cäsar-Verschlüsselung mit dem Passwort "a". Es geht hier ja nur darum, das richtig Passwort zu finden.
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.
    Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!

    Stimmt nicht. Wenn das Passwort "a" ist, geht es genauso schnell zu Brute-Forcen wie irgendeine billige Cäsar-Verschlüsselung mit dem Passwort "a". Es geht hier ja nur darum, das richtig Passwort zu finden.

    Stimmt schon, weil es hier kein Passwort gibt und du somit nicht vergleichen kannst, diese Verschlüsselung ist vergleichbar mit Rot13, es gibt kein wirkliches Passwort, der Algorithmus ist mehr oder weniger das Passwort, somit kannst du das nicht vergleichen :P

    Eher nicht...
    Soll ich mal eine Verschlüsselungs DLL zum Testen machen?

    Eher nicht bezogen auf was?!
    Wenn deins hier so super toll ist, warum wird es dann von niemandem verwendet?! Naja außerdem kann man das ja auch nur als Einwegverschlüsselung bzw. Hash bezeichnen, somit ist der vergleich mit AES nochmals weiter hergeholt...

    Kann natürlich sein, dass alles was ich gesagt habe falsch ist, aber das wird wohl nur der Fall sein, wenn ich dein "System" falsch verstanden habe...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Anscheinend hast du das System falsch verstanden.

    Hier mal Pseudocode:

    Konvertiere den Text in Hexadezimal
    Konvertiere das Passwort in Hexadezimal
    Nehme jede Hexadezimalstelle einmal mal das Passwort
    Konvertiere den Text in ASCII


    So, und um an den Text heranzukommen bracht man dieses Verfahren nur umgekehrt zu machen.

    Wie soll man hier den Text Bruteforcen?

    m9898 schrieb:

    Wie soll man hier den Text Bruteforcen?

    Mathematik anwenden.
    Spoiler anzeigen


    Plaintext: "Geheime Nachricht"
    Passowort: "Mein_Passwort"

    Hexatext: "47 65 68 65 69 6d 65 20 4e 61 63 68 72 69 63 68 74"(15)
    Hexapw: "4d 65 69 6e 5f 50 61 73 73 77 6f 72 74"(15)
    Zur Übersicht arbeite ich mit den Dezimalwerten:
    DZtext: "71 101 104 101 105 109 101 32 78 97 99 104 114 105 99 104 116"(10)
    DZpw: "77 101 105 110 95 80 97 115 115 119 111 114 116"(10)


    Da hier deine Methode verworren wird, addiere ich die einzelen Werte des Passwortes.
    DZpw: "1355"(10)

    Und dann Resultat (Nur für die ersten 3 Zeichen):
    Encoded: "96205 136855 140920"(10)
    Encoded: "cd 97 78"(15)
    Encoded: "�x"


    So, jetzt beginnt das Decoden: Erst wird der Text mit ASCII-Tabelle zur Dezimalzahl konventiert.
    Und man nimmt nun die erste Stelle (96.205) und fängt zu Brutforcen.
    Man teilt das Ganze durch 2, guckt a) ob ne gerade Zahl rauskommt und b) ob die Zahl im ASCII-Tabellen-Bereich liegt.
    Falls a und b nicht erfüllt, durch 3, dann durch 4, 5 ... usw.

    Irgendwann würde er bei 1355 angekommen (Aufgrund der mathematischen "Einfachheit" geht das relativ schnell).
    96205 / 1355 = 71(10)
    Und 71 entspricht 'G'


    Es ist zwar unmöglich an das Plainpasswort zu kommen, aber da es hier nicht um das PW sondern um den Text geht -> Kann mit dem Dezimalwert alles entschlüsseln.



    Mfg.
    SAR

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SAR-71“ ()