Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Verschlüsselungsmethode

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 12.01.2007, 20:14    Titel: Verschlüsselungsmethode Antworten mit Zitat

Hallo Leute! lächeln
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. traurig
Andererseits ist mir zum Beispiel der Rijndael-Algorythmus (AES) zu komplex. Ich will einfach verstehen, wie das arbeitet. zwinkern Und dazu hab ich einfach zu wenig Mathematik-Kenntnisse.
Also hier eine kleine Frage an euch:
lässt sich eine (einfache happy), aber wenigstens einigermaßen sichere Verschlüsselungsmethode für mein Projekt finden? Wie heißt die Lösung? lächeln

Danke schonmal für's Durchlesen - und natürlich für's Anworten. grinsen

Greets,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 13.01.2007, 13:24    Titel: Antworten mit Zitat

http://eps.designdevil.de/index.php?show=quickbasic/tutorials&tut=encrypt

Die Methode ist zwar für QBasic geschrieben worden, sollte aber auch für FreeBasic funktionieren. Eine Garantie kann ich leider nicht geben^^. In der Regel reicht das, um irgendwelche Möchtegern_Hacker rauszuhalten.
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.01.2007, 13:45    Titel: Antworten mit Zitat

In welcher Programmiersprache hast du vor das zu machen?

Mit diesem hier im Forum geposteten VB-Code lässt sich mit Hilfe der WinAPI sogar ein SHA1 Hash oder auch MD5 etc. mit wenigen Zeilen Code generieren. Der Code müsste sich recht gut nach FreeBasic portieren lassen. Wenn du plattformübergreifend arbeiten möchtest, schau dir diesen MD5-Code in FB-pur an: http://www.freebasic.net/forum/viewtopic.php?t=5288 Der kommt ohne API aus. lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.01.2007, 16:14    Titel: Antworten mit Zitat

Hallo.
Danke erstmal für die Antworten. lächeln

@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. neutral
Zudem realisier ich das im Moment mit Delphi, was auch einen imho unregelmäßigen Zufallsgenerator hat. neutral
Manuel hat Folgendes geschrieben:

...Möchtegern_Hacker...

vor lachen auf dem Boden rollen

@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. traurig Und die OpenEdition ist nicht so das Wahre. traurig
Aber die Links sehen gut aus. lächeln
Ich schau mal, denn im Prinzip habt ihr ja recht - es langt eigentlich ein Hash. grinsen

Danke für die Antworten,
Mao lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 13.01.2007, 19:38    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Zudem realisier ich das im Moment mit Delphi, was auch einen imho unregelmäßigen Zufallsgenerator hat. neutral
[...]
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. traurig Und die OpenEdition ist nicht so das Wahre. traurig
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...

vor lachen auf dem Boden rollen
Ich wusste, jemand würde den Halb-Insiderwitz verstehen, ich hab das mit Absicht so geschrieben lachen
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 13.01.2007, 19:54    Titel: Antworten mit Zitat

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 Yahooo!!!!
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.01.2007, 20:01    Titel: Antworten mit Zitat

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. grinsen Aber auch nur rein interessehalber. lächeln
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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.01.2007, 21:06    Titel: Antworten mit Zitat

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. zwinkern
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? lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 13.01.2007, 21:17    Titel: Antworten mit Zitat

Rein theoretisch ginge das, aber das sind Methoden, die man schon im ersten Berufsschuljahr als Fachinformatiker lernt (ich spreche aus Erfahrung^^)
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.01.2007, 21:47    Titel: Antworten mit Zitat

grinsen
Jo, aber man wird ja nicht sowas einfaches dahinter vermuten und ob man mit RE rankommt, ist mir dann auch egal. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.01.2007, 21:50    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
ist mir dann auch egal. lächeln


...sprach Bill Gates, als er Windows programmierte durchgeknallt lachen
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.01.2007, 22:15    Titel: Antworten mit Zitat

Nein, so war das natürlich nicht gemeint. zwinkern
Nur ist das ein System, an dem man keine allzulange Verweildauer hat, als das man das machen könnte. Ja!
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 13.01.2007, 23:13    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:

Manuel hat Folgendes geschrieben:

...Möchtegern_Hacker...

vor lachen auf dem Boden rollen

soll das eine anspielung auf mich sein? neutral
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.01.2007, 23:28    Titel: Antworten mit Zitat

Uiii, da hat heute aber jemand ne lange leitung durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 13.01.2007, 23:44    Titel: Antworten mit Zitat

kleiner_hacker hat Folgendes geschrieben:
Mao hat Folgendes geschrieben:

Manuel hat Folgendes geschrieben:

...Möchtegern_Hacker...

vor lachen auf dem Boden rollen

soll das eine anspielung auf mich sein? neutral
Nicht böse gemeint, jemand (aber nicht du) hatte das mal als Abwandlung im Trash-Thread geschrieben. As say, bitte nicht persönlich nehmen, ich mein(t)e das nicht böse zwinkern
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 14.01.2007, 11:45    Titel: Antworten mit Zitat

ok

sry 4 trash lächeln
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.01.2007, 12:55    Titel: Antworten mit Zitat

Ich schon. happy

/edit:
Na, ich schreib mal lieber dazu, dass es Spaß war. zwinkern Manch einer versteht mich manchmal net so recht... grinsen
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 17.01.2007, 15:32    Titel: Antworten mit Zitat

Du könntest ja das Enigma-Prinzip verwenden. Mit einem Passwort
ist das sehr sicher, würd ich mal sagen. zwinkern
Skilltronic hat mal so ein Programm geschrieben, und ich bin gerade
dabei. zwinkern cool


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Build0815



Anmeldungsdatum: 30.09.2006
Beiträge: 51

BeitragVerfasst am: 01.02.2007, 00:16    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz