[abgeschlossen] µitLight August '10

  • Thema: Verschlüsselung
    Eine beliebige Verschlüsselungsfunktion schreiben.

    Nun kommt mal wieder was schwereres, wobei es auch für Anfänger machbar sein sollte: Die Aufgabe ist die Erstellung eines Verschlüsselungsalgorithmusses. Welcher? Egal! Ob RSA, Cäsarchiffre oder Lattenzaunverschlüsselung, alles ist machbar.

    Bei dieser Ausgabe wird die GUI nicht bewertet, auch wenn sie mitgeliefert werden darf. Bewertet wird nach Sicherheit, Kreativität, und so weiter. Fragen zur Aufgabenstellung bitte hier im Thread oder per PM/Mail stellen. :thumbup:
    Diese Aufgabenstellung sollte sowohl den alten Hasen als auch den Anfängern Stoff zum Denken geben.

    Abgabetermin ist der 31.08.2010

    Hinweise (nicht mehr relevant)

    Sendet euer Ergebnis bitte bis dahin als Archiv an die offizielle µitLight-Adresse:
    uitlight@l3viathan.de
    Bitte meldet euch hier im Thread möglichst frühzeitig an.

    Viel Erfolg und Spaß! :thumbup:

    Anmeldungen: 14 (Ineluki, Andy, cinema, PrideRage, darksider, Yoruba, Bladerunner85, DjBlume, Sprenger120, Aquaplant, chrisatack, [s]UltimateX, marsi, Kleiner, SlowlyDead)[/s]
    Abgaben: 7 (cinema, PrideRage, Sprenger120, Kleiner, SlowlyDead, Marsi, Aquaplant)

    Die Auswertung ist dank der Hilfe von MatthiasG. und Schnitzel abgeschlossen!
    Die Ergebnisse werden vermutlich im Laufe des Tages am Ende des Threads veröffentlicht (Link folgt).

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

    17 Mal editiert, zuletzt von L3viathan (25. September 2010 um 15:35)

  • hmmmm, Verschlüsselung ist die eine Sache, habe gerade ein Beispielscript für Steganographie erstellt^^
    Aber für Verschlüsselungen fällt mir sicher auch noch was ein ^^

  • Ich werde mich mal auch eintragen.

    Kurze Frage: Hat der Text eine Maximallänge? Oder werden beliebig viele Zeichen eingegeben?

    • Offizieller Beitrag

    Ich weiß, manchmal bin ich ein Korinthenkacker :D
    Aber hier sollten auch gleich die Bedingungen klar sein. Ich vermute diese sind:
    - Ver-/Entschlüsseln eines Textes beliebiger Länge
    - eine Funktion, der 2 Parameter (Text/verschl. Text und Passwort) übergeben werden

    Wenn es von vornherein klar ist, kommen weniger Fragen. ;)

  • Was meinst du mit "- eine Funktion, der 2 Parameter (Text/verschl. Text und Passwort) übergeben werden"

  • So könnten wir das sagen, ja:

    Es soll ein String von beliebiger Länge ver- und entschlüsselt werden können.
    Beispielsweise könnte der Funktionsaufruf so sein:

    [autoit]

    _Encrypt($sText,$sPasswd)
    _Decrypt($sText,$sPasswd)

    [/autoit]


    Bei asymmetrischer Verschlüsselung könnte $sPasswd dann ja je der öffentliche bzw. private Schlüssel sein, auch wenn ich nicht glaube, dass sich jemand daran versucht (*provozier*).

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Ich würde sagen, GMPlib ist erlaubt, weil nicht der Verschlüsselungsalgorithmus ausgelagert wird, sondern nur die großen Zahlen :thumbup:
    (Ansonsten haben wir doch auch eine BigInt.au3, oder ;))

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Sorry falls ich mich jetzt blöd anstelle, doch:

    Ich gebe einen Text und ein Passwort ein, dieser Text wird verschlüsselt (mit meinen Algorythmus) und mit dem Passwort abgesichert. Möchte man den Text entschlüsseln,muss man den wieder angeben und das richtige PAsswort. Natürlich wird es nicht in eine INI oder so gespeichert, sondern auch verschlüsselt.

    Habe ich das bis jetzt richtig verstanden?

  • Du sollst nur den Algorithmus zum Verschlüsseln und Entschlüsseln schreiben. Über das speichern des Passworts und des Texts musst du dir keine Gedanken machen.
    Also sollst du sozusagen so etwas wie _Crypt_EncryptData/_Crypt_DecryptData bzw. _StringEncrypt erstellen.

  • Ich hab mir RSA noch mal angeschaut. Wenn man die GMP-library verwendet ist das fast kein Code mehr. Einfach ein s = m^d mod n zum verschlüsseln und m' = s^e mod n zum entschlüsseln. Das ist irgendwie langweilig.
    Für kleine Zahlen bzw. Nachrichten ist das auch mit normalen Funktionen lösbar.

  • Darf man zum Generieren von Primzahlen auch ein Script aus dem März-µitLight verwenden?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.