Kleines cryptoprogramm in C schreiben

Gast #5422416
Lesenswert?

Guten Abend allerseits,

ich bräuchte mal eure kompetente Hilfe. Ich Studiere Elekro- und 
Informationstechnik im ersten Semester. In Programmieren muss ich mit 
einem Partner ein Projekt über 300-600 Zeilen Code in C programmieren. 
Wir haben uns ein Programm vorgenommen, das per Konsole auffordert, 
entweder ein txt file einzulesen oder händisch einen text einzugeben, 
der dann verschlüsselt wird und zusammen mit einem key wieder als txt 
ausgegeben wird. Alternativ soll natürlich auch ein codierter text + 
schlüssel eingegeben werden können und dann entsprechend decodiert 
werden.

Unsere Idee war eine simples, symmetrisches Verschlüsselungsverfahren 
nach cäsar-scheibe. Das war dem Prof jetzt aber nicht ausreichend vom 
Umfang, weshalb er weitere codierverfahren fordert, stichwort: z.B. 
asymmetrisches verfahren oder Vigenère-Chiffre.

Fällt euch etwas ein, das für 2 erstsemester in C realisierbar wäre und 
die ganze sache noch etwas komplexer machen würde?

Vielen dank schon mal und Grüße

Sascha
#5422426
Lesenswert?

Hallo Sascha,

Sascha schrieb:
> Fällt euch etwas ein, das für 2 erstsemester in C realisierbar wäre und
> die ganze sache noch etwas komplexer machen würde?

leider kann ich Dir nicht die minimale Lösung auf dem Silbertablett 
liefern, die dem Professor gefällt.

Ich würde mich einfach mal in hier in Hannover in die FH begeben.
Da finde ich 1406 Treffer bei der Online-Suche nach Kryptologie, 
darunter vielversprechende Buchtitel.
Ich gehe davon aus, dass die Stadtbibliothek vielleicht auch schon 
brauchbares vorhält, die Technische Informationsbibliothek wird sowieso 
bestens bestückt sein.

Habt Ihr denn an Eurer Bildungseinrichtung keine Bibliothek?
Braucht man für so eine banale Frage die Forenkompetenz?
Gast #5422430
Lesenswert?

Bei solchen Aufgaben ist normalerweise die Programmiersprache 
vorgeschrieben. Wenn Grundlagen a la Bruchrechnung vermittelt werden, 
ist C mit ein paar Pointern und Arrays OK.

Übergabe von Paramtern etc. nicht interaktiv, sondern wie echte 
Konsolentools mit Kommandozeilenparametern und stdin/stdout, 
vernünftiger Fehlerbehandlung bei falschen Dateinamen usw.. Damit kann 
man die Komplexität des ganzen locker verdoppeln.
Das Netz sollte voll sein mit Beispielen hierzu.


Weitere Verschlüsselungsalgorithmen:
*XOR-Verschlüsselung, bei der der Key aus einer zweiten Datei
 gelesen wird.

*256-Bit-Vollbit-Verschlüsselung a la Cryptochef (wahrscheinlich
 XOR mit einem festen Schlüssel mit 32 Byte)

Alle bisher erwähnten Verschlüsselungsverfahren sind so simpel, dass sie 
mit C-Grundkenntnissen umsetzbar sein sollten, wenn man sie mal mit 
Papier und Bleistift verstanden hat.
#5422446
Lesenswert?

Hallo Sascha,

Sascha schrieb:
> Hast du evtl. ne direkte Quelle parat, wo man Vorlagen und evtl
> Beispiele gut her bekommt? Bin wie gesagt noch ziemlich neu in der
> Materie.

Das entsprechende Buch von Klaus Schmeh ist voll mit Algorithmen und 
bietet einen anwendungsorientierten eher mathematikfernen Zugang (soweit 
man so etwas bei einem Kryptobuch überhaupt sagen kann).
Gast #5422448
Lesenswert?

Danke, ich war schon darauf vorbereitet, dass wieder ein paar 
Professoren hier rummotzen werden. Das Problem besteht darin, dass wir 
heute die Rückmeldung bekamen, dass der Umfang zu gering ist und wir den 
neuen Vorschlag bis 0 Uhr eingereicht haben müssen. Ich hab auch nicht 
vor irgendwelche vorhandenen Beispiele zu kopieren, zumal wir ohnehin 
den gesamten code mit kommentaren versehen müssen, sondern wollte 
lediglich gerne beispiele sehen, um den Umfang abschätzen zu können und 
ein Verständnis für die Umsetzung zu bekommen.
#5422454
Lesenswert?

Hallo Sascha,

Sascha schrieb:
> Danke, ich war schon darauf vorbereitet, dass wieder ein paar
> Professoren hier rummotzen werden. Das Problem besteht darin, dass wir
> heute die Rückmeldung bekamen, dass der Umfang zu gering ist und wir den
> neuen Vorschlag bis 0 Uhr eingereicht haben müssen. Ich hab auch nicht
> vor irgendwelche vorhandenen Beispiele zu kopieren, zumal wir ohnehin
> den gesamten code mit kommentaren versehen müssen, sondern wollte
> lediglich gerne beispiele sehen, um den Umfang abschätzen zu können und
> ein Verständnis für die Umsetzung zu bekommen.

ich kenne die Seite nur vom Hörensagen, aber das erspart eventuell den 
kurzfristigen Bibliotheksbesuch:

https://www.cryptool.org/de/cryptool1
Beitrag #5422458 wurde von einem Moderator gelöscht.
Beitrag #5422469 wurde von einem Moderator gelöscht.
Beitrag #5422471 wurde von einem Moderator gelöscht.
Beitrag #5422474 wurde von einem Moderator gelöscht.
Gast #5422481
Lesenswert?

Sascha schrieb:
> Das war dem Prof jetzt aber nicht ausreichend vom Umfang
Und da wundert man sich, woran die Schulen heute kranken.

Der Professor will also offenkundig lieber, dass ihr irgendeinen Käse 
zusammenkopiert, als dass ihr einen simplen Chiffre implementiert.

So würde ich das jedenfalls interpretieren, für Erstsemester und 
nicht-IT-Studiengang.
#5422482
Lesenswert?

Wie wäre es mit einer Drei-Rotor ENIGMA Emulation?

Ich spielte mal damit auf einem PIC18F4620 herum und es funktionierte 
ganz vorzüglich. Die Emulation war voll kompatibel mit einer richtigen 
ENIGMA Maschine und man konnte verschlüsselte Textgruppen auf einem 
Windows ENIGMA Emulator wieder entschlüsseln.. Das Programm war in C 
geschrieben.

Die Enigma Unterlagen dazu als Vorbild stammten von "Fauzan Mirza":-)

http://www.cs.miami.edu/home/harald/enigma/index.html


Wäre vielleicht ein möglicher Ansatzpunkt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren