AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Eigener Verschlüsselungsalgorithmus benutzen

Eigener Verschlüsselungsalgorithmus benutzen

Ein Thema von Back2Code · begonnen am 20. Apr 2012 · letzter Beitrag vom 26. Apr 2012
Antwort Antwort
Seite 3 von 4     123 4   
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#21

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 15:31
Bits jemand von euch hier der mir sagen könnte wie sicher ungefähr meine Tabelle ist?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#22

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 15:33
http://de.wikipedia.org/wiki/Caesar-...und_Sicherheit
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#23

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 15:41
Meine hat ja nichts mit Caesar zu tun :p Ist anderst aufgebaut.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#24

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 15:46
Es ist ein simples Substitutionsverfahren wie Caesar, nur dass du nicht rotiertst, sondern "gemischt" ersetzt. Das ändert nur nichts daran, dass man mit einer Häufigkeitsverteilung genau so leicht da dran gehen kann, weil eben ein Zeichen immer durch genau ein/e andere/s (Folge) ersetzt wird. So lange du eine 1<->1 Beziehung hast wird das auch so bleiben, völlig egal was du für Werte nun in deine Tabelle schreibst.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 15:52
Meine hat ja nichts mit Caesar zu tun :p Ist anderst aufgebaut.
Wie kommst Du denn auf dieses schmale Brett?

Du ersetzt ein Zeichen durch vier Zeichen, dadurch erhöht sich die Sicherheit aber nicht.
Deine 4 Zeichen repräsentieren auch nur ein Informations-Token.

Deine Verschlüsselung ist auch nur eine monoalphabetische Verschlüsselung.

Caesar:
Code:
Beispiel für eine Verschiebung um drei Zeichen:

Klar:   a    b     c   d e f g h i j k l m n o p q r s t u v w x y z
Geheim: D    E     F   G H I J K L M N O P Q R S T U V W X Y Z A B C

Deine   0x1z 0x2y  0x3x ...
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#26

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 17:25
Stell' Dir vor ein Angreifer bekommt den verschlüsselten Text und den Klartext gleichzeitig in die Finger (weil er mit deiner Sekretärin gepimpert hat ).
Blöderweise war die Nachricht auch noch recht lang, so dass alle Buchstaben verwendet wurden.
Ausserdem kennt er auch noch Algorithmus.

Ein gutes Verschlüsselungsverfahren ist nun so konstruiert, dass der Angreifer daraus den Schlüssel (deine Zuordnungstabelle) nicht zurückrechnen kann.

Selbst wenn man den Schlüssel für folgende Nachrichten ändert, weiss der Angreifer bei einer Zuordnungstabelle doch genug (Häufigkeitsverteilung der Buchstaben, Wörterbuchattacke,...) um die Nachricht zu entschlüsseln.
Andreas

Geändert von shmia (20. Apr 2012 um 17:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#27

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 19:25
Andreas (shmia) erklärt es am besten. Das ist vermutlich auch, warum viele die Caesar-Verschlüsselung nicht als Verschlüsselung ansehen. Nach heutigen Maßstäben (Rechenkapazität und Speicher, sowie Internet) ist das ein Klacks.

Wenn die benutzte (natürliche) Sprache bekannt ist, wird es aufgrund der statistischen Buchstabenverteilung noch einfacher einen Angriff zu fahren. Sprich: mit roher Gewalt ("brute force") die Zuordnung zu knacken.

Natürlich. Ich hab ja nichts gegen ihn und bei meinen anderen Problemen hat er mir leider nie richtig weiterhelfen können.
Das klingt aber schon anders. Er ist einer der kompetenten Forenten, einer der dir geantwortet und damit einen (wenn auch kleinen) Teil seiner Lebenszeit geschenkt hat. Und darauf so eine Replik? Es gibt aus den 14 Jahren Forenerfahrung die ich insgesamt habe nur weniges was ähnlich krass war.

Abgesehen davon hat DeddyH recht. Du hast einfach eine Zuordnungstabelle - also Daten - in deine Frage geschrieben und dann eine leicht wirre ("wie ich eine Abfrage gestalte"?) Frage geschrieben für die es bei StackOverflow Downvotes gehagelt hätte. Dann macht sich DeddyH die Mühe und antwortet dir und bekommt dafür sowas an den Kopf gehauen:

Hab ich mir schon fast gedacht, dass du der erste bist leider hast du mir bisher noch nie gut helfen können mit deinen Antworten. Hoffentlich meldet sich noch jemand anderes
Ist das dein Ernst?

*fast sprachlos*
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#28

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 19:56
Auch der Austausch von Zeichen durch andere ist eine Verschlüsselung (siehe Caesar-Verschlüsselung).
Wenn auch eine sehr schwache..
Wenn man es genau sieht, dann ist selbst XOR nur eine Zeichenaustauschverschlüsselung.
Nimm mal einen Schlüssel von einem Zeichen Länge und schon hast du eine 1:1-Beziehug zwischen Eingangs- und Ausgangszeichen, also ebenfalls quasi eine Tabelle, für die Umrechnung.

Und was das Sicher betrifft.
Wenn man die Schlüssellänge entsprechend vergrößert, dann wird es irgendwann extrem sicher ... da kann man selbst mit Bruteforce und statistischen Verteilungen rein garnichts mehr anfangen (vorallem wenn es sich um ein OTP handelt).

Zitat:
*fast sprachlos*
*schweig*
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Apr 2012 um 19:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#29

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 20:34
Zitat:
@Klaus01 - Auch der Austausch von Zeichen durch andere ist eine Verschlüsselung
mag sein das es für das Altertum ausreichend war...
Zitat:
@Assarbad - *fast sprachlos*
DeddyH hat für mich immer eine gute Idee gehabt und auch seine anderen Antworten in Beiträgen die ich gelesen habe waren immer top und verständlich!. Schade dass Du so denkst.
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#30

AW: Eigener Verschlüsselungsalgorithmus benutzen

  Alt 20. Apr 2012, 22:03
Ungeachtet der Sicherheit bei diesem Verfahren kann es so umgesetzt werden:

Deine Zuordnungstabelle in eine Stringlist packen (entferne die Leerzeiche vor und nach dem = und dann der Eigenschaft Text zuweisen).
Der Rest ist ... sieh selbst
Delphi-Quellcode:
var
  KeyList : TStringList;

KeyList.Text := 'a = 5x0q' + sLineBreak +
'b = 9x0w' + sLineBreak +
...
'9*= 3x0x';

function Crypt( const aStr : string; const Key : TStrings ) : string;
var
  idx : integer;
begin
  Result := '';
  for idx := 1 to Length( aStr ) do
    Result := Result + Key.Values[ aStr[ idx ] ];
end;

function Decrypt( const aStr : string; const Key : TStrings ) : string;
var
  idx : integer;
  part : string;
begin
  Result := '';
  for idx := 0 to aStr div 4 - 1 do
  begin
    part := copy( aStr, idx * 4 + 1, 4 );
    Result := Result + Key.Names[ Key.IndexOfName( part ) ];
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz