Autor |
Beitrag |
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Do 21.12.06 19:10
ich hab mir folgenden Algorithmus zusammengebastelt für eine asymetrische (ich denke 128 Bit) verschlüsselung.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| procedure TForm1.verschlüsselnOnClick(sender: TObject); var Key: array [1..16] of Byte; Zeichenindex, Keyindex: integer; Zeichen: Byte; begin Key[1]:=56; Key[2]:=156; Key[3]:=16; Key[4]:=51; Key[5]:=15; Key[6]:=26; Key[7]:=196; Key[8]:=155; Key[9]:=1; Key[10]:=12; Key[11]:=217; Key[12]:=200; Key[13]:=58; Key[14]:=86; Key[15]:=85; Key[16]:=93; Keyindex:=1; Memo2.clear; for Zeichenindex:=1 to length(Memo1.text) do begin if x>16 then x:=1; Zeichen:=ord(Memo1.text[Zeichenindex]) XOr Key[x]; Memo2.text:=chr(b); x:=x+1; end; end; |
ich wollte mal fragen wie gut diese Verschlüsselungsmethode ist und wie man sie optimieren könnte.
und wie ich das anstellen könnte damit ich z.b.: auch audiodatein oder Bilddatein verschlüsseln könnte.
lg el Moderiert von Christian S.: Topic aus Sonstiges (Delphi) verschoben am Fr 22.12.2006 um 18:49
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Fr 22.12.06 16:37
*push*
is es überhaupt eine 128 Bit verschlüsselung??
lg el
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Corpsman
      
Beiträge: 228
KUbuntu 10.4
Lazarus
|
Verfasst: Fr 22.12.06 22:05
Also ich glaube ja nicht das es eine 128 Bit verschlüsselung ist.
Du kannst jede Xbeliebiuge Datei verschlüsseln wenn du es mit einel Filestream machst.
Du lädst die File
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var f,f2:Tfilestream; b:Byte; begin .. assignfile(f,Dateiname); Assignfile(f2,Dateiname2); rewrite(f2); reset(f); while not eof(f) do begin f.read(b,sizeof(b)); b := VerschlüsseleByte(b); f2.write(b); end; closefile(f); Closefile(f2); |
Irgendwie so kannst es machen. Hab das aber mal so blind hingetippt.
_________________ --
Just Try it.
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Sa 23.12.06 11:14
ok danke! werd mich mal mit TFilestreams beschäftigen.
was sagst du, is die verschlüsselung halbwegs gut??
lg el
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Corpsman
      
Beiträge: 228
KUbuntu 10.4
Lazarus
|
Verfasst: Sa 23.12.06 13:56
nu ich denke es kommt darauf an wie wichtig dir deine Datensicherheit ist.
Aber generell sollte dir klar sein das jedes Verschlüsselungsverfahren Knackbar ist. Die heutigen verfahren beruhen darauf das es sehr schwer ist die Primzahlzerlegung einer Zahl zu berechnen.
Aber selbst diese Verschlüsselungen sind in der Regel binnen 1 Tag geknackt.
Was aber genügt weil ja die meisten Informationen nach einer so langen Zeit nicht mehr geheim sind.
Wenn du nun hergehst und die Bilder deiner Freundin verschlüsselst, so sei dir gesagt das es sicher genug ist. Weil sich die Mühe sicherlich nicht lohnt. Ein entsprechendes Dekodierungsverfahren zu erstellen.
Ich persöhnlich finde aber eine selbst zusammengeschusterte Verschlüsselung grunds#ätzlich besser als eine "Offiziele" da bei deinem Verfahren erst mal jemand dahinter kommen mus wie es funktioniert um sich dann Gedanken zu machen wie er es Knackt.
Nur solltest du dann nicht hergehen und dein Verfahren in Irgendwelchen Foren Posten ;) .
Ich habe auch schon diverse Verschlüsselungen entwickelt. Kann sie aber aus eben diesem Grund nicht veröffentlichen.
Hoffe das Hilft dir weiter. Ansonsten geh her und schau dir mal das RSA Verfahren an. Das ist das wol beliebteste zur Zeit.
Ein passendes Sample dafür gibts Hier
_________________ --
Just Try it.
|
|
Horst_H
      
Beiträge: 1654
Erhaltene Danke: 244
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Sa 23.12.06 14:10
|
|
DarkLord05
      
Beiträge: 449
WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
|
Verfasst: Sa 23.12.06 14:22
Corpsman hat folgendes geschrieben: | Ich persöhnlich finde aber eine selbst zusammengeschusterte Verschlüsselung grunds#ätzlich besser als eine "Offiziele" da bei deinem Verfahren erst mal jemand dahinter kommen mus wie es funktioniert um sich dann Gedanken zu machen wie er es Knackt. |
Aber eine Verschlüsselung sollte eig durch die Verschlüsselung an sich sicher sein, und nicht weil geheim ist um was es sich für eine Verschlüsselung handelt 
_________________ QBasic | Delphi | c++ | PHP | C# .NET | Java
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Sa 23.12.06 14:39
Corpsman hat folgendes geschrieben: | Ich persöhnlich finde aber eine selbst zusammengeschusterte Verschlüsselung grunds#ätzlich besser als eine "Offiziele" da bei deinem Verfahren erst mal jemand dahinter kommen mus wie es funktioniert um sich dann Gedanken zu machen wie er es Knackt.
Nur solltest du dann nicht hergehen und dein Verfahren in Irgendwelchen Foren Posten . |
tja die Xor verschlüsselungsmethode ist leider schon ziemlich bekannt.
ich hab jetzt nur als beispiel den Schlüssel in einem Array gespeichert und da hab ich irgendwelche zahlen genommen. In meinem Programm hab ich mir eh schon was überlegt um den Schlüssel abzulegen.
lg el
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Sa 23.12.06 14:40
Die Annahme, daß ein Verschlüsselungsalgorithmus sicherer ist, wenn er geheim ist, ist ein Trugschluß. Ich würde offene, gut gesteste Verfahre wie z.B. Rijndael (AES) verwenden
_________________ Markus Kinzler.
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 27.12.06 13:54
Corpsman hat folgendes geschrieben: |
Du kannst jede Xbeliebiuge Datei verschlüsseln wenn du es mit einel Filestream machst.
Du lädst die File
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var f,f2:Tfilestream; b:Byte; begin .. assignfile(f,Dateiname); Assignfile(f2,Dateiname2); rewrite(f2); reset(f); while not eof(f) do begin f.read(b,sizeof(b)); b := VerschlüsseleByte(b); f2.write(b); end; closefile(f); Closefile(f2); |
|
Das Funktioniert irgendwie nicht so richtig! ich hab mich auch ein bischen damit herumgespielt aber ich glaub ich hab mich dadurch von der lösung nur noch weiter entfernt.
lg el
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 27.12.06 14:00
Moin!
Ähm, wie wäre es mit TFILESTREAM, Beispiele gibt´s da mal genug.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 27.12.06 14:18
*lol* sry wenn ich das so sage aber ich hab keine zeit mir 14 Seiten durchzusehen. (muss noch Spezialgebiet schreiben)
Wäre es so umständlich den Code zu posten und mir damit einen gefallen zu tun?
lg el
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 27.12.06 14:28
Moin!
elundril hat folgendes geschrieben: | *lol* sry wenn ich das so sage aber ich hab keine zeit mir 14 Seiten durchzusehen. |
Oh, das ist aber schade, so wird dir die Benutzung von TFileStream wohl leider unklar bleiben, ist auch wirklich schwer, seh´ ich schon ein, auch auf TFileStream eintippen und F1 drücken kommt man ja nicht von selber...
Sag mal, sind wir deine Hausaufgaben-Vorbereiter-Sklaven, oder was?  Ich unterstütze Faulheit jedenfalls nicht.
cu
Narses
//EDIT: Naja, weil ja Weihnachten ist, will ich mal nicht so sein: Klick mich, das kann ich dir aber schon zumuten zu lesen, ja? 
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 27.12.06 14:31
Davon abgesehen würde es ja sogar reichen, die 1. Seite der Suchergebnisse angzuucken, da man zufällig auf den Thread "Das Multilevel-Rätsel. Die Auflösung" stößt, wo ich wiederum auf Seite 1, einen TFileStream benutze:
www.delphi-forum.de/...ighlight=tfilestream
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 27.12.06 14:32
Hallo!
Hättest du auch nur einen Blick in die 14 Seiten hineingeworfen, du hättest sofort gewusst, was du falsch gemacht hast. Keine Scheu vor der Hilfe oder anderen Schriftstücken haben!
Hier der überarbeitete Code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var f,f2:Tfilestream; b:Byte; begin f:=TFileStream.Create('C:\input.dat',fmOpenRead); try f2:=TFileStream.Create('C:\output.dat',fmCreate); try while f.Position<f.Size do begin f.readbuffer(b,SizeOf(b)); b := VerschlüsseleByte(b); f2.writebuffer(b,SizeOf(b)); end; finally f.Free; end finally f2.Free; end end; |
Cu,
Udontknow
Zuletzt bearbeitet von Udontknow am Mi 27.12.06 14:40, insgesamt 2-mal bearbeitet
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 27.12.06 14:35
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 27.12.06 14:37
@Udontknow: ok danke aber bei mir hat er sich immer beim eof aufgehängt.
lg el
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mi 27.12.06 14:40
Ahja, da hatte ich noch was übersehen. Habe es abgeändert.
Cu,
Udontknow
|
|
elundril 
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 27.12.06 14:47
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var f,f2:Tfilestream; b:Byte; begin f:=TFileStream.Create('C:\input.dat',fmOpenRead); try f2:=TFileStream.Create('C:\output.dat',fmCreate); try while f.Position<f.Size do begin f.readbuffer(b,SizeOf(b)); b := VerschlüsseleByte(b); f2.writebuffer(b,SizeOf(b)); end; finally f.Free; end finally f2.Free; end end; |
ok so halbwegs hab ichs verstanden. aber zwei zeilen sind mir unklar!
und braucht man den Filestream gar nicht speichern??
lg el
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 27.12.06 14:48
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|