Verschlüsselungsalgorithmen

Mclowi243

Cadet 1st Year
Registriert
Dez. 2022
Beiträge
12
Hallo Leute,

ich habe ein kleines Problem, das eure Hilfe benötige.
Ich bin Programmierer-Anfänger und
ich bin dabei ein Software zu programmieren die zwei menschen ermöglischen kann verschlüsselte Datei auszutauschen. Ich kenne die Grundlage aber ich weiß nicht genau wie ich der Algorithmen entwinkeln kann.

Bitte helfen Sie mir.

Danke im voraus
 
Das machst du am besten nicht selber, sonst nimmst dafür eine geeignete Bibliothek. z.B. NaCl (https://nacl.cr.yp.to).
Libsodium wäre der Nachfolger, scheint aber nicht mehr gepflegt zu werden.
Siehe Post unten für Alternative.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: kartoffelpü, madmax2010 und piepenkorn
Schritt 1: Niemals Software publizieren, bei der du die Crypto selber implementiert hast.
Verschluesselungsalgorithmen selber zu implementieren erfordert erheblich mehr, als einfach nur einen ALgorithmus von wikipedia abzuschreiben.

Openssl hat da Libcrypto:
https://wiki.openssl.org/index.php/Libcrypto_API

zum lernen, hier ein relativ einfach zu implementierender:
https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
wenn du ein bisschen mit den elementaren Rechenoperationen und einer Programmiersprache klar kommst, ist AES wirklcih nicht schwierig zu implementieren, so lange du dich nicht bei den S-Boxen vertippst. Bisschen Matitzen shufflen, bisschen Modulo und das wars
Ergänzung ()

wirelessy schrieb:
Das machst du am besten nicht selber, sonst nimmst dafür eine geeignete Bibliothek. z.B. NaCl (https://nacl.cr.yp.to).
bitte nicht. die ist seit ueber 10 Jahren deprecated. AUch der Nachfolger Sodium ist mwn eher tot. Sehr schade aber
Habe eben gegoogled und da nichts neues gefunden
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DEADBEEF, DiedMatrix, RedIvan und eine weitere Person
kannst du. Aber ob das sinnvoll ist oder nicht ¯\(ツ)
Lieber 1 gut auditierter, orddentlich implementiertet, als 5x schrott
Bei AES sind halt vor allem side-channel Attacken gerade im Trend. Da wuerde ich das risiko als Gering ansehen. SOwas hier sieht man relativ oft: https://arxiv.org/pdf/2203.08220.pdf
 
AES ist bis jetzt das beste neben OTP und Tripel DES was man momentan hat.
ich habe die biblotheke gelesen ,was man mir hier geschickt hat. Ich bin wieder da wo ich vorhin war. Die biblothek sehen aus wie das Buch, das ich hier habe, aber die tatsächliche Implementierung steht nicht drin oder ich finde es nicht
 
First rule of crypto: never roll your own crypto.
(Wie die anderen schon gesagt haben).

Such dir eine Programmiersprache aus, mit entsprechendem Framework, dann nimm die mitgelieferten Algorithmen. Versuche gar nicht erst Open SSL und/oder libsodium einzubinden. Das erfordert genug Know-how, dass du nicht besitzt.

@madmax2010 libsodium wird teilweise noch entwickelt, libhydrogen vom gleichen Autor ist der Versuch einer "nextgen". Ansonsten gibt's noch monocypher. Die meisten die ich kenne, bleiben einfach bei libsodium, der letzte Patch Level ist nicht so alt 1.018.4 oder so.
 
  • Gefällt mir
Reaktionen: madmax2010 und DEADBEEF
@Tornhoof du hast recht aber mir fehlt die Einleitung für die Implementierung die Theorie habe ich aber sonst nichts.
 
Ich habe kleine software und internet Seite in Java, Html-CSS-Javascript codierung. Es fehlt mir sehr leicht. Aber der Anfang ist immer schwer. Ich bin wie gesagt ein Anfänger aber dieses Projekt könnte meine Visitenkarten werden. Deswegen brauche ich Fach-Hilfe
 
AES, Tripel DES (3DES), RSA, Twofish, Blowfish oder dieses andere RSA, das sich keiner merken kann.

Für Kommunikation über SSL/HTTPS sollte man darüber hinaus sichere "KexAlgorithms", "MACs" und "Ciphers" verwenden bzw unsichere dieser Art in üblichen Installationen deaktivieren (ssh z.B.)
 
Welche Visitenkarte willst Du denn abgeben, wenn andere die Arbeit für Dich machen?
Fang an und wenn Du konkrete Fragen hast, kann man Dich unterstützen. Welche Programmiersprache willst Du denn überhaupt verwenden?
 
@Incanus du bist brutal direct aber danke dass hilf mir besser zu werden. Ich benutze Java. Ich bin fast fertig mit dem software. Ich möchte nur einige verschlüsselung für die kommunikation einfüge. Ich bin dabei ein Software zu entwikeln um Menschen in Krisenregion in Afrika zu helfen. Mein Software wird kostenlos sein
@DEADBEEF alles was du da oben geschrieben hast, kann ich direkt kaufen und einbinden oder?
 
Öhmm ja, du kannst es mit gängigen Programmen wie Java oder auch openssl verwenden. Es kommt bei dir eher auf die entsprechenden Libraries an aber das Prinzip dahinter ist überall gleich. Verwenden ist hier wohl das Zauberwort
 
ja, stimmt aber wie kann ich es hier bzw bei mir verwenden das macht mich schon seit Tage fertig
 
Verschlüsselung ist alles andere als Trivial. Vor allem wenn man es richtig machen will.
Schau dir z.B. das mal an für Kryptographie unter Java:
https://www.torsten-horn.de/techdocs/java-crypto.htm (keine Garantie, aber es zeigt wie schnell das Thema umfangreich werden kann)
Daher erstmal die Fragen: Willst du eine End-zu-Endverschlüsselung? Vom Client zum Server? Wie willst du die Schlüssel austauschen? Wie sieht es mit Zertifizierung aus? Gegen wen willst du dich absichern? Server-Hoster? NSA? Neugierige Freundin?
 
  • Gefällt mir
Reaktionen: Mclowi243 und DEADBEEF
Mclowi243 schrieb:
ja, stimmt aber wie kann ich es hier bzw bei mir verwenden das macht mich schon seit Tage fertig
deine Frage ist viel zu generisch - niemand kennt deine Software, noch deine Java Skills. Was soll man dir jetzt hier genau sagen oder zeigen? Moechtest du Code Snippets sehen oder erhoffst du etwas anderes? So Phrasen wie "hier bzw. bei mir verwenden" sind eher nichtssagend, sorry.

Ich hab noch nicht mal genau verstanden, an welcher Stelle in deinem Programm was verschluesselt und wie kommuniziert werden soll? Dass Java Encryption Support anbietet ist klar - aber das ist als Info fuer dich auch nicht hilfreich resp. zu wenig.

Du kannst uebrigens im Zweifel auch auf Englisch hier fragen, also falls du native English Speaker bist oder zumindest Deutsch nicht deine Muttersprache ist. Es kann durchaus sein, dass bei deinen bisherigen Formulierungen schon ein paar Informationen verloren gegangen sind bzw. eher uneindeutig waren.
 
  • Gefällt mir
Reaktionen: mental.dIseASe, Hannibal Smith und DEADBEEF
@Mclowi243 Sorry aber du bist schon wieder einer dieser Kandidaten, der den Rahmen hier etwas sprengt für mein Empfinden. Erst hat man dich über die Verwendung bestehender, sicherer Algorithmen informiert und nun willst du Hilfe bei der Implementierung in einer unbekannten Anwendung.

Wenn du bei Sachen Security nicht bei 100% mit der Aussicht auf 110% bist, machst du etwas falsch oder bist der falsche Mann. Du hast nun genug Anhaltspunkte bekommen um spezifische Fragen zu stellen. Alles andere ist Faulheit oder mangelndes Interesse (was sich mit Security sehr stark beisst)
 
Nilson schrieb:
Vollzitat entfernt.
Ja, es muss End-zu-Endverschlüsselung sein. Schlüsseln werden in einer Key-card. Jeder der Zugang haben darf wird von uns eine Karte bekommen, aber ich möchte dass der Zugang mit doppelsauthentificationsverfahren sein söllte. Gegen jeder Art von Missbrauch. Weil ich Daten von Fluchling behandeln werde. Leute die in Afrika von Krieg geflohen sind
Ergänzung ()

o
Ack der III schrieb:
State of the Art und einfach in der Handhabung ist das Noise Protocol Framework. Dies kommt beispielsweise auch bei WireGuard zum Einsatz.
Okay,
ich gucke mir die Seite!
Ergänzung ()

DEADBEEF schrieb:
@Mclowi243 Sorry aber du bist schon wieder einer dieser Kandidaten, der den Rahmen hier etwas sprengt für mein Empfinden. Erst hat man dich über die Verwendung bestehender, sicherer Algorithmen informiert und nun willst du Hilfe bei der Implementierung in einer unbekannten Anwendung.

Wenn du bei Sachen Security nicht bei 100% mit der Aussicht auf 110% bist, machst du etwas falsch oder bist der falsche Mann. Du hast nun genug Anhaltspunkte bekommen um spezifische Fragen zu stellen. Alles andere ist Faulheit oder mangelndes Interesse (was sich mit Security sehr stark beisst)
Danke ich gebe mir mühe wenn ich fertig bin werde ich der Code posten
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DEADBEEF
Zurück
Oben