Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 12.01.2007, 20:14 Titel: Verschlüsselungsmethode |
|
|
Hallo Leute!
Da ich atm an einem größeren Projekt arbeite, bei dem es auch auf Sicherheit ankommt, hab ich eine Frage bzgl. Verschlüsselung.
Ich habe vor, Accountdaten verschlüsselt zu speichern. OTP ist mir (natürlich) zu einfach - was nützt mir das sicherste Verfahren, wenn ich den Schlüssel im Programm gleich frei Haus liefere.
Andererseits ist mir zum Beispiel der Rijndael-Algorythmus (AES) zu komplex. Ich will einfach verstehen, wie das arbeitet. Und dazu hab ich einfach zu wenig Mathematik-Kenntnisse.
Also hier eine kleine Frage an euch:
lässt sich eine (einfache ), aber wenigstens einigermaßen sichere Verschlüsselungsmethode für mein Projekt finden? Wie heißt die Lösung?
Danke schonmal für's Durchlesen - und natürlich für's Anworten.
Greets,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.01.2007, 16:14 Titel: |
|
|
Hallo.
Danke erstmal für die Antworten.
@Manuel:
Den hab ich mir schon angeschaut, ist aber imho für meine Sachen nicht wirklich sicher, da der Algorythmus a) öffentlich ist und b) keine Schlüssel so gesehen verwendet, die man nicht im Programm ablegt.
Zudem realisier ich das im Moment mit Delphi, was auch einen imho unregelmäßigen Zufallsgenerator hat.
Manuel hat Folgendes geschrieben: |
...Möchtegern_Hacker...
|
@Sebastian:
Delphi ist bei mir atm die Sprache der Wahl.
Im Moment kommt's mir auch nicht auf das plattformübergreifende an, da eine Delphi-Version für Windows teuer genug ist, als dass ich mir auch noch Kylix für Linux leisten könnte/wöllte. Und die OpenEdition ist nicht so das Wahre.
Aber die Links sehen gut aus.
Ich schau mal, denn im Prinzip habt ihr ja recht - es langt eigentlich ein Hash.
Danke für die Antworten,
Mao  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 13.01.2007, 19:38 Titel: |
|
|
Mao hat Folgendes geschrieben: | Zudem realisier ich das im Moment mit Delphi, was auch einen imho unregelmäßigen Zufallsgenerator hat.
[...]
Delphi ist bei mir atm die Sprache der Wahl.
Im Moment kommt's mir auch nicht auf das plattformübergreifende an, da eine Delphi-Version für Windows teuer genug ist, als dass ich mir auch noch Kylix für Linux leisten könnte/wöllte. Und die OpenEdition ist nicht so das Wahre. | Wenn du mit der OpenEdition NICHT die "Delphi 2005 Personal Edition" meinst... Die könntest du dir kostenlos (und legal natürlich) downloaden. (Jemand im Delphi-Foren hatte sich auch die Mühe gemacht und eine Bestätigung von Borland selbst bekommen, dass man Projekte - sofern man "als Einzelperson auftritt" - sogar verkaufen darf. Leider finde ich den Link dazu nimmer, aber ich kann meine Hand dafür ins Feuer legen, dass das stimmt^^) Dann bräuchtest du dir Delphi garnicht erst anschaffen, sofern du nicht im Team arbeitest^^.
Mao hat Folgendes geschrieben: |
Manuel hat Folgendes geschrieben: |
...Möchtegern_Hacker...
|
| Ich wusste, jemand würde den Halb-Insiderwitz verstehen, ich hab das mit Absicht so geschrieben  _________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 13.01.2007, 19:54 Titel: |
|
|
Manuel hat Folgendes geschrieben: | Wenn du mit der OpenEdition NICHT die "Delphi 2005 Personal Edition" meinst... Die könntest du dir kostenlos (und legal natürlich) downloaden. | Das ist ein guter Tipp, mal abgesehen von der Downloadgröße(412MB)..
[Edit]
..und das Beste daran ist:Heute(18.01.2007) funktioniert der Link immer noch
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO..
Zuletzt bearbeitet von ytwinky am 18.01.2007, 18:17, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.01.2007, 20:01 Titel: |
|
|
Hehe. Die hab ich mir auch schon runtergeladen.
Aber ich hab die Kylix Open Edition gemeint - is' ein klein wenig anders als die Delphi Personal Edition.
Jo, also, evtl. hast du ja sogar meinen Thread gelesen, ich hab da nämlich auch schon nachgefragt, bzgl. Verkaufen. Aber auch nur rein interessehalber.
Glaub, das war 'ne urpsprüngliche Frage von mir bzgl. nativen Datenbanksystemen. Als ich dann gefragt hatte, ob ich Zeos oder Firebird kostenlos verwenden kann, in einer kommerziellen Anwendung, ist man dann noch auf das Delphi-verkaufen zu sprechen gekommen. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.01.2007, 21:06 Titel: |
|
|
Sorry für Doublepost, aber mir ist da noch 'ne Idee gekommen:
wenn ich den String mit sich selbst XOR-verknüpfe? Könnte das ausreichen? Mir ist es dann egal, ob man es per Reverse Engineering heraus bekommen kann, es geht mir vorerst nur darum, dass man innerhalb einer zu kurzen Zeitspanne nix damit anfangen kann. Also mit den verschlüsselten Daten.
Ich hab mir das so vorgestellt: die Länge des Strings muss durch 2 teilbar sein. Wenn nicht, wird der String gepadded. Nehmen wir also an, wir haben den String "Hallo!". Wenn ich jetzt folgendes mache:
Ich nehme den ersten Buchstaben "H" und verknüpfe ihn mit dem "!". Dann nehme ich den Buchstaben "a" und verknüpfe ihn mit "o" usw. Könnte das ausreichen, um als das alles nicht sofort erkennbar wird?  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.01.2007, 21:47 Titel: |
|
|
Jo, aber man wird ja nicht sowas einfaches dahinter vermuten und ob man mit RE rankommt, ist mir dann auch egal.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.01.2007, 21:50 Titel: |
|
|
Mao hat Folgendes geschrieben: | ist mir dann auch egal.  |
...sprach Bill Gates, als er Windows programmierte  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.01.2007, 22:15 Titel: |
|
|
Nein, so war das natürlich nicht gemeint.
Nur ist das ein System, an dem man keine allzulange Verweildauer hat, als das man das machen könnte.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 13.01.2007, 23:13 Titel: |
|
|
Mao hat Folgendes geschrieben: |
Manuel hat Folgendes geschrieben: |
...Möchtegern_Hacker...
|
|
soll das eine anspielung auf mich sein?  _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.01.2007, 23:28 Titel: |
|
|
Uiii, da hat heute aber jemand ne lange leitung  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 14.01.2007, 11:45 Titel: |
|
|
ok
sry 4 trash  _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 14.01.2007, 12:55 Titel: |
|
|
Ich schon.
/edit:
Na, ich schreib mal lieber dazu, dass es Spaß war. Manch einer versteht mich manchmal net so recht...  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 17.01.2007, 15:32 Titel: |
|
|
Du könntest ja das Enigma-Prinzip verwenden. Mit einem Passwort
ist das sehr sicher, würd ich mal sagen.
Skilltronic hat mal so ein Programm geschrieben, und ich bin gerade
dabei.
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
Build0815

Anmeldungsdatum: 30.09.2006 Beiträge: 51
|
Verfasst am: 01.02.2007, 00:16 Titel: |
|
|
Hallo,
Wenn du nur eine einigermaßen sichere Verschlüsselung suchst, könntest du dir leicht eine kleine CBC (Cipher Block Chaining) - Chiffre schreiben, da:
Cipherbox hat Folgendes geschrieben: |
CBC eignet sich am besten für die Verschlüsselung von Dateien, da u.a. Muster im Klartext verborgen werden. Für Software-Anwendungen ist CBC fast immer die beste Wahl.
|
Der grobe Aufbau einer solchen "Symmetrischen Block Chiffre" ist ungefähr so:
- Lade den Passwortstring in den Speicher
- Lade einen Klartextteil (zB. aus einer Datei / dem RAM o.ä.) in den Blockspeicher (Größe zB. 16Byte(=128bit))
und verknüpfe jedes neue Klartext-Byte im Blockspeicher mit einem Geheimtextbyte aus dem vorher verschlüsselten Block (...CBC) mit Xor. (Beim ersten Block gibts natürlich keinen vorher verschlüsselten Block, da benutzt man dann meistens einen IV (Initialisierungs-Vektor; da der Klartext sonst möglicherweise über eine "Watermark"-Analyse freigelegt werden kann (Link über den IV ist ganz unten))
- Verknüpfe jedes neue Klartext-Byte im Blockspeicher mit einem anderen Byte des Passwortstrings mit Xor.
-Transpositioniere die Blockbytes anhand des Passwortstring ... zB. so als Sortierung:
Code: |
Transpositioniere..
"ABCDEFGHIJKLMNOPQRSTUVWXY"..
..mit dem Passwort "TESTPW"..
T E S T P W > E P S T T W
----------- -----------
A B D E F G B F D A E G
H I J K L M I L J H K M
N O P Q R S O R P N Q S
T U V W X Y U X V T W Y
..Ergebnis "BFDAEGILJHKMORPNQSUXVTWY"
|
- Schreibe den Geheimtextblock in eine Datei oder Speicher, o.ä.
- Wiederhole das ganze bis die Datei / Quellspeicher o.ä. fertig verschlüsselt ist.
Anmerkung: Der letzte Klartext-Block erreicht fast nie die gesammte Blockgröße, daher muss der Block mit "Nutzlos"-Bytes aufgefüllt werden oder man baut eine Rutine ein die überprüft ob: "Bytes im Block == Gesammtklartextlänge, und dann austeigt"
- Die Entschlüsselung ist durch die Verwendung von >Xor< fast die selbe Methode wie die Verschlüsselung (Nur die Transposition müsste man umkehren).
Ein paar Links:
http://de.wikipedia.org/wiki/Cipher_Block_Chaining_Mode
http://de.wikipedia.org/wiki/Initialisierungsvektor |
|
Nach oben |
|
 |
|