Announcement

Collapse
No announcement yet.

Vigenere-Verschlüsselung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vigenere-Verschlüsselung

    Hallo ,

    Ich habe ein ganz dringendes Anliegen an euch :

    Ich studiere Wirtschaftsinformatik und bin bei dem Fach „Programmierung 2“
    schon im entscheidenden Semester , in dem Semester , wo man dieses Fach abschließen
    muß . Dazu kommt , daß ich meine ersten beiden von 3 Versuchen schon vergeigt habe ,
    d.h. DIES ist mein ALLERLETZTER Versuch die Prüfung zu bestehen . Um allerdings
    an dieser Prüfung teilnehmen zu können , muß man erst eine Aufgabe lösen , die wir
    bekommen haben und diese muß dann abgegeben werden.
    Diese Aufgabe hat es in sich und bin schon ganz verzweifelt , ist
    einfach für mich der Hammer , komme damit überhaupt nicht klar . Die Leute , die
    ich kenne konnten mir dabei auch nicht helfen*seufz* . Wenn ich das Fach nicht
    abschließen kann , ist das Studium für mich beendet !!! In 10 TAGEN ist Abgabeschluß !!!

    Die Aufgabe lautet :

    „Verschlüsselung von Texten und Dateien nach dem Vigenere-Prinzip“

    Textdateien müssen ver- und wieder entschlüsselt werden .
    Das Programm stellt folgendes Hauptmenü zur Verfügung :

    -1- Datei verschlüsseln
    -2- Datei entschlüsseln
    -3- Programm beenden

    Bei Auswahl von -1- ist der Dateiname der Datei, die verschlüsselt werden soll, zu
    Erfassen. Die verschlüsselte Datei erhält den gleichen Namen, wie die Originaldatei
    mit der zusätzlichen Kennung „crypt“. Falls die Datei nicht existiert ist ein entspre-
    chender Hinweis vorzusehen und der Anwender erhält wieder das Hauptmenü.

    Bei Auswahl von –2- ist der Dateiname der verschlüsselten Datei (*.crypt)
    zu erfassen . Der Dateiname der entschlüsselten Datei wird ohne die Kennung
    „crypt“ gebildet. Falls es schon eine Datei dieses Namens gibt, ist der Benutzer
    zu fragen, ob die Datei überschrieben werden soll. Falls der Benutzer verneint,
    ist ein neuer Dateiname zu erfassen oder der Vorgang abzubrechen.

    Das Schlüsselwort wird bei Aufruf des Programms als Command-line-Argument
    der main()-Funktion übergeben, sofern die Option „-s“ angegeben wurde
    (der Aufruf lautet dann also „programm –s schlüsselwort“). Wird nur die Option
    „-d“ angegeben, wird ein Default-Schlüsselwort benutzt. Wird das Programm
    ohne Optionen aufgerufen, so ist das Schlüsselwort über die Tastatur einzulesen.
    Es is zu überprüfen, ob das Schlüsselwort aus mindestens 6 Zeichen besteht,
    von denen mindestens 1 Zeichen eine Ziffer ist. Falls das nicht der Fall ist
    bricht das Programm mit der Meldung „Schlüsselwort nicht geeignet“ ab.
    Nach erfolgreicher Überprüfung des Schlüsselwortes wird die Originaldatei
    nach dem unten beschriebenen Verfahren ver-, bzw. entschlüsselt.

    Hinweise:

    1. Erweitern des Verfahrens für alle druckbaren Zeichen ,
    d.h. Leerzeichen , Sonderzeichen
    2. Dateien sind im aktuellen Verzeichnis zu suchen – nicht
    vom Benutzer Pfadangaben erwarten !
    3. Anlegen für die Matrix ein 2-dim. Char-Array.
    4. Der Verschlüsselungalgorithmus ist in einer eigenen Datei (vigenere.c)
    Abzuspeichern !
    5. Vermeiden von globalen Variablen!
    6. Gliedern des Programms in Unterfunktionen(z.B. einlesen, ausgeben,
    passwort-pruefen, verschluesseln, show_hauptmenu etc.)
    7. Testen des Programms.
    8. Ver-und entschlüsseln Sie einen C-Quellcode. Anschließend sollte er noch compilietrbar
    Und ausführbar sein !

    Das Verschlüsselungsverfahren ist Vigenere . Wenn einer nicht weiß was das ist
    ich habe auch Informationen darüber , also anfragen bitte .

    Vielen Dank für eure Hilfe . Ihr seid meine letzte Rettung.
    Das Programm sollte auch gut dokumentiert sein , wenn möglich .

    Bis dann

  • #2
    Hi,

    Da schon in 10 Tagen Abgabeschluss ist nehme ich nun mal an, dass Du wenigstens einen Teil dieses Proggis schon geschrieben hast.<br>
    Bist ja ziemlich spät dran...<br>
    Wie währ's wenn wir diesen Quelltext irgendwoher bekommen könnten? Ich nehme mal an, dass niemand Lust hat, das ganze 2x zu schreiben, obwohl die Hälfte davon schon existiert.<br>
    Wie funktioniert eigentlich das Vigenere-Verfahren genau?

    Gruss - Bori

    Comment


    • #3
      Die Funktionsweise von Vignere :
      Vigenère-Code (polyalphabetisch)
      Um die Häufigkeiten der Buchstaben im Geheimtextalphabet (GTA) möglichst gleich groß zu gestalten, wurde im 16. Jahrhundert unter anderem von Vigenère folgendes Verfahren entwickelt.
      Bei der Verschlüsselung wird nicht nur ein Geheimtextalphabet, sondern verschiedene benutzt; die sich wieder aus der Verschiebung des Klartextalphabetes (KTA) ergeben. Auf die verschiedenen GTAe wird durch einen festgelegten Schlüssel zugegriffen.
      Zunächst notiert man das sogenannte Vigenère-Quadrat.
      A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
      B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
      C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
      D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
      ...
      I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
      ...
      M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
      N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
      O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
      P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
      ...
      S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
      T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
      U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
      ...
      Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
      Schlüssel: UNIPOTSDAM
      Es wird nun der zu verschlüsselnde Text und darüber unser Schlüsselwort aufgeschrieben.
      Schlüssel: U N I P O T S D A M U N I P O T S D
      KTA: D A S I S T S T R E N G G E H E I M
      Zum Verschlüsseln des ersten Buchstaben wird in der Zeile, die mit U beginnt, der Buchstabe notiert, der unter der Spalte D des KTAs steht. Also das X. Um den zweiten zu verschlüsseln, sucht man den Buchstaben in der Zeile N unter der Spalte A. Dort findet man natürlich das N. Den dritten Geheimbuchstaben findet man in der Zeile I unter der Spalte S. Das ist A.
      So ergibt sich also der folgende Geheimtext:
      Schlüssel: U N I P O T S D A M U N I P O T S D
      KTA: D A S I S T S T R E N G G E H E I M
      GTA: X N A X G M K W R Q H T O T V X A P
      Ein Angreifer ist nun nicht mehr in der Lage, zu erkennen, aus welchem Buchstaben sich der Geheimbuchstabe ergab.
      Die drei Es, die im Klartext vorhanden sind, wurden in verschiedene Buchstaben verschlüsselt.
      Die drei Xs, die im Geheimtext stehen, ergaben sich aus verschiedenen Buchstaben im Klartext.
      So ist dieses Verschlüsselungsverfahren viel sicherer als das einfache Caesarverfahren.
      Ein Probieren würde nicht zum Erfolg führen. Die statistische Analyse liefert zunächst auch keine Chance. Erst wenn die Länge des Schlüssels bekannt wäre, könnte analytisch wieder eine Häufigkeit der einzelnen Buchstaben bestimmt werden, da ja dann klar ist, welche Buchstaben des Geheimtextes in derselben Zeile des GTAs stehen. Die Sicherheit dieses Verfahrens steigt also, je länger der Schlüssel ist. Die sicherste Variante wäre, wenn Klartext und Schlüssel die gleiche Länge hätten, denn dann kann auch die Statistik nicht zum Knacken helfen

      Comment


      • #4
        sorry , das Prinzip von vignere wurde bei meinem Posting total zu-
        sammengepreßt angezeigt . Deswegen hier die URL für Vignere :

        http://didaktik.cs.uni-potsdam.de/HyFISCH/Produzieren/SeminarDidaktik/Krypto/vigenere.ht

        Comment


        • #5
          Hi Jan,

          du tust mir echt leid. Ich hab zwar momentan nicht viel Zeit, aber vielleicht kann ich dir ja helfen. Schaden wirds nicht. Schick mir am besten auch den Teil zu, den du bereits hast (vorausgesetzt du hast schon was!). Meine Mail ist [email protected]. Ich will dir aber nichts versprechen, ok? Ich versuchs mal.

          Mfg, Georg

          Comment

          Working...
          X