AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien verschlüsseln - aber wie?

Ein Thema von daniel-volk · begonnen am 27. Sep 2003 · letzter Beitrag vom 14. Mär 2004
Antwort Antwort
Seite 11 von 11   « Erste     91011   
daniel-volk

Registriert seit: 16. Jul 2003
170 Beiträge
 
Delphi 6 Enterprise
 
#101

Re: Dateien verschlüsseln - aber wie?

  Alt 16. Okt 2003, 15:41
Hi,

ich möchte bei meinem CryptMaster vor der großen Änderung im Bezug auf das neue DEC erst noch einmal die Performance mit dem alten DEC verbessern (muss mich ins neue DEC dann ja erstmal einarbeiten ).

Dafür werde ich u.A. auch mit einer TEMP-Datei arbeiten, damit der Arbeitsspeicher nicht mehr so stark belastet wird.

Aber zudem möchte ich noch weitere Änderungen vornehmen: Ich möchte nicht mehr SHA-1 verwenden und stattdessen einen Hash mit 256Bit. Welchen kannst du mir von denen, die im alten DEC enthalten sind, da am ehesten empfehlen? Es gibt nicht um Geschwindigkeit, sondern lediglich um Sicherheit.

Außerdem habe ich vor, auch bei der Verschlüsselung von Dateien einen Random-String hinter dem Hash-Wert mit anzuhängen. Aber wie groß ist die Blockgröße bei Rijndael? Der Hash mit 256 Bit hat ja nun 32 Byte. Angenommen ein Block hätte 1024 Byte, dann müsste ich ihn aus Sicherheitsgründen mit 992 Byte auffüllen. Wäre also nett, wenn du mir die Blockgröße sagen könntest.

Ja, das war's eigentlich schon.

MfG,
Daniel.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#102

Re: Dateien verschlüsseln - aber wie?

  Alt 16. Okt 2003, 16:02
Zitat:
Aber zudem möchte ich noch weitere Änderungen vornehmen: Ich möchte nicht mehr SHA-1 verwenden und stattdessen einen Hash mit 256Bit. Welchen kannst du mir von denen, die im alten DEC enthalten sind, da am ehesten empfehlen? Es gibt nicht um Geschwindigkeit, sondern lediglich um Sicherheit.
Du meinst zur Erzeugung des Sessionkeys aus dem Passwort ?
Im neuen DEC würde ich SHA256 empfehlen, aber....
In deinem Falle ist SHA1 mit echten 160Bits gut, du könntest aber auch RipeMD256 nehmen, allerdings meinen die Experten das dieser nicht sicherer als 128 Ripe MD wäre, da eben nur ein Derivat davon.
Im alten DEC gibt es bis auf Sapphire in fakt keinen Hash mit mehr als effektiven 160 Bits. Man muß stark differenzieren ob einen Hash funktion mit 256,384,512 Bits diese Digest real produzieren oder aber nur durch Anwendung eines kleineren Bruders. Bei Ripe MD ist dies der Fall. Der 256 Bit RipeMD ist ein Trick der auf 128 Bit RipeMD basiert. Trotzdem würde ich Sappihre nicht empfehlen, da er eigentlich ein umgebauter Cipher ist. Besser wäre dann schon Haval, denn der produziert echte 256 Bit.

Zitat:
Außerdem habe ich vor, auch bei der Verschlüsselung von Dateien einen Random-String hinter dem Hash-Wert mit anzuhängen. Aber wie groß ist die Blockgröße bei Rijndael? Der Hash mit 256 Bit hat ja nun 32 Byte. Angenommen ein Block hätte 1024 Byte, dann müsste ich ihn aus Sicherheitsgründen mit 992 Byte auffüllen. Wäre also nett, wenn du mir die Blockgröße sagen könntest.
Die Blockgröße von Rijndael ist = .BufferSize. Im neuen DEC habe ich auch daran gearbeitet da die .BlockSize <> .BufferSize sein kann. Dies trifft aber nur auf Stream Cipher zu.
Schau dir TCipher_Rijndael.GetContext() an.

Im DEC gibts keine Cipher mit so enorm großen Blockgrößen. Meistens sind sie 8,16,24,32,64 Bytes groß.
Wenn du den Hashwert + Randomsalt als erste Daten verschlüsselst dann sollte der Randomsalt >= 16 Bytes sein und (Length(HashWert) + Length(RandomSalt)) mod Cipher.BufferSize == 0. D.h. die Gesamtlänge des Hashes + Salts sollte ein mehrfaches der Blockgröße sein. Damit umgehst du das Problem das z.B. im CBC/CTS Modus ein Padding notwendig wäre. Denn in diesen Modis müssen alle sequentiellen Daten immer in Stücken zu BufferSize Bytes dem Cipher übergeben werden. Im neuen DEC habe ich deswegen auch neue Ciphermodis implementiert. Ideal wären in diesem Falle die neuen CFBx,OFBx,CFSx Modis. Bei denen muß man nicht mehr auf dieses Blockgrößen Problem achten.

Ich arbeite daran universelle Funktionen zur ver/Entschl. von Streams in's neue DEC einzubauen. Diese wird einen Header benutzen um den verwendeten Hash/Cipher Algo. zu speichern. Desweiteren wird ein PasswortSalt eingeführt der zusammen mit dem Passwort per KDF gehasht wird. Der entstehende Wert ist der Sessionkey der immer die maximale Schlüsselgröße des Ciphers berücksichtigt. Zusätzlich dazu wird eine sichere Checksumme verschlüsselt gespeichert die es ermöglicht die Korrektheit des Passwortes zu prüfen, usw. usw. Eventuell integriere ich noch meine LHSZ Komprimierung.

Gruß Hagen
  Mit Zitat antworten Zitat
Eagelone

Registriert seit: 31. Aug 2003
Ort: Augsburg
15 Beiträge
 
#103

Re: Dateien verschlüsseln - aber wie?

  Alt 14. Mär 2004, 17:49
Hallo,

hab jetzt formatiert und versucht, DEC neu zu installieren.
Leider geht das jetzt nicht mehr, auch nicht nach der Anleitung in diesem Thread. Hab Delphi 7.

Hoffe, dass mir wer helfen kann!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 11 von 11   « Erste     91011   


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 10:48 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