AES 256 Bit versus Blowfish 480 Bit

Wasp

Insektenspray-Gegner
AES 256 Bit versus Blowfish 448 Bit

Guten Morgen,

ich habe vor meine neu erstandene (1-Terabyte-)Festplatte mit geli zu verschlüsseln -- bin für begründete Alternativvorschläge allerdings nachwievor offen. :)

Nun habe ich hier u.a. die Wahl zwischen AES/Rijndael mit 256-Bit- und Blowfish mit 448-Bit-Verschlüsselung (Jeweils mögliche Maximalschlüssellänge).

Die Frage die sich für mich hierbei aufwirft: ist der Algorithmus von Herrn Rijndael (AES) soviel "besser"* als Blowfish, sodaß er trotz des nur 256 Bit langen Schlüssels, den 448 Bit, also fast doppelt so langen Schlüssel von Blowfish in die Tasche steckt?

* besser, soll in diesem zusammenhang bedeuten:
  • sicherer
    und/oder
  • schnellerer Datenzugriff (natürlich bei gleichbleibender Sicherheit)

auf ein paar Tips, Erfahrungen oder womöglich Wissen hofft
Wasp


P.S.: Vielleicht etwas neben dem Thema, aber für mich im gleichen Kontext: werden SATA-Controler mit Via VT6421A-Chip (also Rev. "A"!) von FreeBSD unterstützt. So ist zwar in man ata der VT6421 gelistet, jedoch eben nicht Revision A dieses Chips.
 
Zuletzt bearbeitet:
Ich habe eine 500GB-Platte mit geli verschlüsselt. Gewählt habe ich AES. Warum? Weil mein Padlock von der VIA-CPU AES unterstützt und einen erheblichen Geschwindigkeitsvorteil hat. Ok, mit Sicherheit hat das wenig zu tun ist aber auch ein Kriterium.

HTH trotzdem
 
die laenge des schluessels sagt rein gar nichts ueber die sicherheit aus.

256bit sind eigentlich schon genug um einen brute-forcer fuer ein paar zeitalter der menschheit zu beschaeftigen.

rijndael und blowfish waren beides finalisten im aes-wettbewerb. rinjdael wurde imho nur deswegen ausgewaehlt weil er extrem simpel zu implementieren ist.


generell solltest du aber vorsichtig sein mit verschluesselten festplatten: sollte irgendwann mal ein konsistenzproblem auftreten duerften sie nicht mehr so leicht zu fscken sein. also besser du legst nichts lebenswichtiges darauf ab.
 
rijndael und blowfish waren beides finalisten im aes-wettbewerb.

Nö, das war Twofish und nicht Blowfish. Twofish ist im Prinzip eine Weiterentwicklung von Blowfish. Letztendlich wurde aber Rijndael für AES ausgewählt (@yamagi: nein, Twofish wurde nicht zu AES, es war Rijndael)

Gruß
Reks30
 
Zuletzt bearbeitet:
In der AES-Finalistenrunde waren Rijndael, Serpent, Twofish, RC6, und MARS. :)

Leider finde ich die Quelle jetzt nicht, aber ich habe letztens mal ein wenig im WWW gesucht und (ich glaube) einen Mailinglistenbeitrag gefunden, in dem von einer geli-Optimierung die Rede war, wobei AES deutlich schneller abschnitt als die anderen Algorithmen.

Zudem wird AES wohl bei vorhandener Krypto-Beschleunigerhardware ein sicherer Kandidat sein. Aber meist wird wohl so eine Hardware nicht vorhanden sein, oder wenn (WLAN-Karten z. B.) dann wieder die Software-Schnittstelle fehlen, um die Hw für Storage-Verschlüsselung zu missbrauchen. ;)

Ich habe aber ein PDF gefunden, wo die Performance vermessen wurde, von 2006, und auch schon damals war die geli-Performance mit AES am größten:
http://www.usenix.org/publications/login/2006-10/pdfs/sivonen.pdf
Since GELI uses the crypto(4) framework and has multiple ciphers, the
relative performance of different ciphers was also measured. No crypto
hardware was available for these tests. It was discovered that AES with a
256-bit encryption key performed as well as AES using a 128-bit key, thus
leading to the conclusion that one should be using the longer key because
of its stronger security.
It was also discovered that AES performed better than Blowfish or 3DES,
thus making it the cipher of choice. This observation may have resulted
from the small sample, and further investigations may be called for.
 
Ich hab meine /home als Blowfish 192 laufen, durchsatz schaffe ich 60MiB/s locker ohne einen Kern auf 100% zu fahren. Mit AES lief das nicht so performant. Ich hatte vor einiger Zeit mal ein paar tests gemacht, und hier irgendwo gepostet, weis aber nicht mehr wo.

EDIT: Da is der Post: Post
 
Zuletzt bearbeitet:
dettus schrieb:
die laenge des schluessels sagt rein gar nichts ueber die sicherheit aus.
Warum steht dann hier folgendes(?):
Endorphine schrieb:
(..) one should be using the longer key because of its stronger security.
Oder mißverstehe ich das jetzt? Zielt Deine Aussage doch mehr dahin, daß es primär auf den verwendeten Algorithmus, als weniger auf die Schlüssellänge ankommt? (Dies ist ja notgedrungen ein Teil meiner Frage, ob AES-256 besser/schlechter als Blowfish-448 ist.)

Hatte vor meinem Beitrag/Frage natürlich erstmal die Forensuche bemüht und stieß damit auf folgenden Beitrag von:
martin schrieb:
(...) Nach dem Erstellen der Partition hab ich dann diese mit GBDE verschlüsselt (...). (...) Ach und ich glaube nicht, dass die bei der Polizei einen 2048 bit Schlüssel in 10 Stunden knacken!!!
Das mit dem 2048-Bit-Schlüssel gab mir natürlich schon zu denken ob der Blowfish-448 nicht doch etwas gering ist um auch "professionellen" Machinen etwas zum knabbern, oder besser noch, zum Zähneausbeißen zu geben? :confused:
 
Zuletzt bearbeitet:
Schaut euch doch einfach mal an, wie die beiden Algorithmen aussehen, dann klärt sich sicherlich einiges. AES ist ziemlich schnell, aber in Bezug auf die Schlüssellänge O(n). AES128 läuft also fixer als AES256 usw. Außerdem ist bei AES tatsächlich die Sicherheit von der gewählten Schlüssellänge abhängig.

Blowfish arbeitet mit einer konstanten Anzahl S-Boxen (4 pro Runde) mit konstanter Größe (je 256 x 32 Bit), deren Inhalt schlüsselabhängig verändert wird. Auch die Anzahl und Länge der Runden-Schlüssel ist konstant (18 x 32 Bit). Blowfish nutzt also den Schlüssel "nur" zur Erzeugung seiner S-Boxes und ist damit in Bezug auf die Schlüssellänge O(1). Damit spielt die Schlüssellänge bei Blowfish in puncto Sicherheit auch eine eher untergeordnete Rolle, da ein Krypto-Analytiker keinerlei Anhaltspunkte dafür hat, wie groß der verwendete Schlüssel tatsächlich war. Nur im Falle einer stumpfen Brute Force beginnend mit 0, 01, 10, ... ist ein kurzer Schlüssel wirklich von Nachteil => 448 Bit sind aber schon recht sportlich zu erraten ;)

AES ist bis zu einer Schlüssellänge <512 Bit gleich schnell oder schneller als Blowfish. Blowfish ist im innern etwas paranoider konstruiert; in der Praxis sind aber beide nur durch Bruteforce zu knacken. AES lässt sich einfacher implementieren und ist außerdem ein offizieller Standard => bessere Unterstützung durch Crypto-Karten, CPUs etc.

In puncto Sicherheit kann man IMHO getrost zu AES greifen, zumal die größte Gefahr ohnehin darin besteht, dass der Schlüssel in falsche Hände gerät (beobachtet beim Passwort eintippen, Schlüssel aus dem RAM gefischt, oder im laufenden Betrieb mittels Trojaner/Spyware etc. ausgespäht).

Was diese Monster-Schlüssel angeht: Längen >=512Bit findet man eigentlich nur bei asymmetrischen Verfahren wie RSA, DSA, El Gamal & Co. Dort werden sie auch benötigt, weil sich "kleine" Primzahlen im Bereich weniger hundert Bit leicht(er) erraten lassen als eine beliebige Bitfolge derselben Länge, die nicht die Bedingung der Primalität erfüllen muss.
 
Zuletzt bearbeitet:
Warum steht dann hier folgendes(?):
Du sollst die Aussage nicht aus dem Kontext reißen, lies' dir am besten das verlinkte PDF durch, dort ist deine Fragestellung des ganzen Threads im Detail untersucht worden.

Man muss die Vorteile von symmetrischer Verschlüsselung nicht durch die Nachteile asymmetrischer Verschlüsselung zunichte machen und exorbitant große Schlüssellängen verwenden. Bei symmetrischer Verschlüsselung wie AES/Rijndael, Serpent, Blowfish etc. sind nach heutigem Stand und für die nächsten 10 Jahre 128-Bit Schlüssellänge locker ausreichend.

Kryptografie kannst du nicht mit ein paar Zahlen erschlagen. Schon um einen 128-Bit Schlüssel irgendwie auszureizen brauchst du wenn ich mich recht entsinne ein Passwort von mindestens 22 Zeichen Länge, mit Sonderzeichen, und kein Bestandteil dieses Strings darf in irgendeinem Wörterbuch auftauchen.

Dann ist die Implementierung auch wichtig. GBDE und GELI verwenden leider beide immer noch cipher block chaining und kein XTS oder wenigstens LRW. Aber das alles sind ziemlich theoretische Dinge. In den allermeisten Fällen ist es deutlich am einfachsten, das Kennwort anzugreifen. Du solltest erstmal dein Kennwort auf mindestens (!) 22 Zeichen mit Sonderzeichen und Groß- und Kleinschreibung bringen, dann kann man sinnvoll über Sicherheit weiter diskutieren.

Und AES ist bei GELI nach meinem Kenntnisstand und meinen Erfahrungen immer noch am schnellsten. Der Autor des Usenix-Papers hat nur herausgefunden, dass bei der 2006er-Version von GELI AES-128 gleich schnell wie AES-256 ist. Da du aber aller Wahrscheinlichkeit nach sowieso kein Kennwort verwenden wirst, was symmetrische 256-Bit Schlüssel ausnutzt, ist das egal.

Ganz am Ende kommt dann folgendes raus: du kannst einfach Geli wie im FreeBSD-Handbuch beschrieben mit den defaults verwenden und hast schon die optimale Lösung. :)

In puncto Sicherheit kann man IMHO getrost zu AES greifen, zumal die größte Gefahr ohnehin darin besteht, dass der Schlüssel in falsche Hände gerät (beobachtet beim Passwort eintippen, Schlüssel aus dem RAM gefischt, oder im laufenden Betrieb mittels Trojaner/Spyware etc. ausgespäht).
So sehe ich das auch. Das banale an Partitions-Verschlüsselung ist ja, dass sie nur schützt, wenn die Partition gerade nicht gemounted ist. Man muss also eigentlich, wenn man mal kurz das Haus verlässt unmounten und wenn man dann wieder da ist wieder mounten, um etwas davon zu haben.

Imho den meisten Sinn hat Partitionsverschlüsselung noch bei Notebooks, wo der ganze Rechner mitgenommen werden kann. Aber auch da muss man dann so konsequent sein und eben bei jedem Verlassen/Ausschalten des Notebooks die Partition unmounten...
 
Zuletzt bearbeitet:
Glücklicherweise kann man bei geli das Passwort auch mit einem Keyfile kombinieren oder gleich auf das Passwort verzichten. Denn wenn jemand es schafft den Keyfile, den man optimalerweise einfach mit Daten aus /dev/random anlegt, dann bringt ein Passwort das man sich gut merken kann eh keine nennenswerte Sicherheit mehr.

Ich habe meine geli Keyfile auf einem USB-Stick, das verschlüsselte image wird dann von meinem automounter Skript automatisch freigegeben. Stick abziehen und alle File-Handles schließen und schon sind die Daten wieder sicher verpackt.
 
Endorphine schrieb:
Du solltest erstmal dein Kennwort auf mindestens (!) 22 Zeichen mit Sonderzeichen und Groß- und Kleinschreibung bringen, dann kann man sinnvoll über Sicherheit weiter diskutieren.
Auf meinen Testrechner/Server, auf dem ich geli mit Blowfish-448 zum Praxistest bereits seit bestimmt einem Jahr am laufen habe, bin ich locker über die 22 Zeichen, können also gerne weiter diskutieren. :D

Ogion schrieb:
Nur im Falle einer stumpfen Brute Force beginnend mit 0, 01, 10, ... ist ein kurzer Schlüssel wirklich von Nachteil => 448 Bit sind aber schon recht sportlich zu erraten
Meinst Du jetzt schwer, oder offensichtlich?

Die von bsdagent entdeckte gulli:board-Seite (Dank an dieser stelle an bsdagent) beherbergt zwei sehr interessante weiterführende Links, die ich euch hier nicht vorenthalten möchte:
... wobei zweiterer ganz am Ende der Seite eine tabellarischen Vergleich vieler verschiedener Verschlüsselungsarten in hinblick auf Sicherheit und Geschwindkeit bietet. Auf Grund der ersten Verknüpfung tendiere ich jetzt allerdings irgendwie zu Blowfish, da AES, auch wenn zur Zeit noch nicht praktikabel, aber doch schon sehr gute Ansätze zum Brechen bietet. Ich denke, auch weitestgehend unabhängig von steigender Rechenleistung, wird es nur eine Frage der Zeit sein, bis sich da weitere Lücken auftun; die Anfänge scheinen ja gemacht. In jedem Fall scheint mir Blowfish sicherer, schon alleine wegen seiner eben nicht von Hardwareseite großen Verbreitung (überhaupt vorhanden?)... und es sind eben noch keine Angriff bekannt, geschweige denn überhaupt erst einmal ausgemacht.

Blowfish-192 unter geli mit einem Datensurchsatz von 38MB/s bei einer 1-Kern-Taktung von 1000 MHz klingt doch recht praktikbal (Dank an FreeBSDuser). Frage ist jetzt natürlich wieder, wie ist das Verhältiss von Geschwindkeit zu Sicherheit mit steigender Schlüssellänge (Stichwort: "448 Bit seien sportlich zu erraten" (vgl. oben/Ogion) bzw. allgemein der Punkt, daß längere Schlüssellängen keinen nennenswerten Sicherheitsvorteil brächten).

Schon mal besten Dank für die rege und auch nette Beteiligung
Wasp

P.S.: einen Via VT6421A hat hier keiner weiter auf seinem SATA-Controler? (Oder hatte -- bis er ihn wegen Nicht-Funktion wieder rausgeschmissen hat :o )
 
Zuletzt bearbeitet:
Hm, bin ich der einzige dem diese Diskussion ein wenig laecherlich vorkommt?
Euch ist schon klar, das selbst wenn man AES-128 versucht mit der gesamten Rechenkapazitaet der Menschheit in 10 Jahren zu knacken, dass das vermutlich immernoch solange dauern wird, bis unsere liebe Sonne ausgeglueht ist? (also auch der boese Mister S. aka Bundesinnenminister mit seinen Freunden der NSA nichts machen kann).

Viel wichtiger ist doch die Frage, ob der Algorithmus auch wirklich sicher implementiert wurde und hierbei keine Fehler gemacht wurden. Das kann ich zumindestens nicht beurteilen und wuerde da einfach mal darauf hoffen dass das bei AES besser gemacht wurde weil bekannter/verbreiteter/einfacherer gestrickt.

Achja, wer mir nicht glaubt kann sich ja einfach mal Wikipedia durchlesen:
http://en.wikipedia.org/wiki/Brute_force_attack

The amount of time required to break a 128 bit key is also daunting. Each of the 2^128 possibilities must be checked. This is an enormous number, 340,282,366,920,938,463,463,374,607,431,768,211,456 in decimal. A device that could check a billion billion keys (10^18) per second would still require about 10^13 years to exhaust the key space. This is longer than the age of the universe, which is about 13,000,000,000 () years.

Und nicht verwechseln sollte man (ist hier im Thread aber passiert) die Bitlaengen von symmetrischen Verfahren (AES, blowfish, rc6 ~ 128 - 256 bits) und den Bitlaengen von asymmetrischen Verfahren (z.B. RSA ~ 1024-4096 bits).
 
Zuletzt bearbeitet:
Ich will hier aber trotzdem nochmal darauf hinweisen, dass alle erwähnten Verfahren (AES,Blowfish) auf mathematischen Annahmen beruhen und nicht auf bewiesenen Theorien (Bsp: nicht-effiziente Faktorisierung von natürliche Zahlen).
Es ist durchaus möglich, dass -total unabhängig von Rechenleistung- für bestimmte Problem algorithmische Lösungen entwickelt werden, so dass die ganze Verschlüsselung sinnlos wird und man sich neue Sachen ausdenken muss!
- nur so als Einwurf, von wegen, dass man sich sicher sein kann, dass die Sonne verglüht bevor die Festplatte entschlüsselt ist.
 
Mir waere neu das die Sicherheit von AES auf das Faktorisierungsproblem zurueckgeht, das trifft wohl eher auf RSA zu. Daher irrst du dich, was symmetrische Verfahren angeht, in diesem Punkt ganz gewaltig.
 
Mir waere neu das die Sicherheit von AES auf das Faktorisierungsproblem zurueckgeht, das trifft wohl eher auf RSA zu. Daher irrst du dich, was symmetrische Verfahren angeht, in diesem Punkt ganz gewaltig.
Sowie ich das verstanden habe werden doch bei geli die keys für die symmetrische Verschlüsselung mit deinem Passwort/Keyfile asymmetrisch verschlüsselt. Diese Verschlüsselung basiert dann doch auf Faktorisierung oder Hashing-verfahren.
Die sind angreifbar, und wenn die geknackt werden, dann hilft aes nicht mehr, oder?
 
jaaaaaaaaa.... haut euch ;)
ich spreche euch jetzt auch einfach mal einen tieferen einblick in alle cryptoverfahren ab *gg*
:belehren: oder wusstet ihr schon dass cryptoalgorithmen nicht injektiv sind? sie sind umkehrbar, aber nicht strukturerhaltend. :belehren:


prinzipiell: was sicherheit angeht sage ich einfach mal dass ein bisschen verschluesseln immer noch besser ist als gar keines. und eine grosse schluessellaenge ist noch kein garant fuer sicherheit. der groesste tresor der welt wuerde nicht als sicher gelten wenn man die kombination mit edding an die tuer pinselt.


was konsistenz von festplatten etc angeht... da ist cryptographie das schlimmste was man machen kann. eine gecrashte festplatte mit fsck wieder ins reich der lebendigen zurueckzubekommen ist ohne verschluesselung wesentlich wahrscheinlicher.
 
Meinst Du jetzt schwer, oder offensichtlich?
Sorry, da habe ich mich wohl mißverständlich ausgedrückt. Du kannst symmetrisch verschlüsselten Daten auf zweierlei Wegen zu Leibe rücken. Entweder, Du versuchst den Schlüssel anzugreifen (erraten durch ausprobieren, Social Engineering, ...), oder Du versuchst direkt die Daten anzugreifen (Suche nach Mustern, Wiederholungen, Blocklängen etc.).

Bei erstgenanntem Verfahren wird der Angriff mit zunehmender Schlüssellänge immer schwieriger - bei letztgenanntem spielt die Schlüssellänge zumindest bei Blowfish keine Rolle.
 
Sowie ich das verstanden habe werden doch bei geli die keys für die symmetrische Verschlüsselung mit deinem Passwort/Keyfile asymmetrisch verschlüsselt. Diese Verschlüsselung basiert dann doch auf Faktorisierung oder Hashing-verfahren.
Die sind angreifbar, und wenn die geknackt werden, dann hilft aes nicht mehr, oder?
Wenn du das diskrete Logarithmusproblem löst, ist dir die Fields-Medaille sicher (eine Art Mathe-Nobelpreis) behaupte ich mal.

Hier in der untersten Praxis der Kryptografieanwendung über die Grenzen der Kryptografie zu sinnieren finde ich ... *hust* ... doch etwas zweifelhaft. Die Begrenzungen liegen da an viel banaleren Stellen, der Punkt, wo Kryptoalgorithmen angegriffen werden müssten, wird da nicht ansatzweise erreicht.
 
Nun, das ist alles gut und schön, was ihr hier schreibt, aber es trifft das Problem nicht. Wieso? Ganz einfach, Wasp möchte seine Festplatte verschlüsseln. Unter der naiven Annahme, dass er auf dieser normale Daten hat und keine Terrorpläne oder die Pläne der nationalen Verteidigung dürfte niemand einen ersthaften Angriff auf Blowfish und AES versuchen. Weil ganz einfach niemand, dem diese Platte in dei Hände fallen kann, das nötige Know How und die Ressourcen hat, die Verschlüsselung an sich zu knacken. Der einzige realistische Angriff ist Psychologie oder der Versuch den Schlüssel aufgrund der Kenntniss seines Privatlebens zu erraten.
Ähnlich sieht es mit Gerichten und Justiz aus. Wenn das BKA oder eine andere staatliche Behörde an diese Daten möchte, wird sie da auch rankommen. Nicht, indem sie einen erfolgreichen Angriff fährt, sondern ganz banal vor Gericht. "Wasp, entweder Sie kooperieren jetzt mal mit uns und geben den Schlüssel raus und kommen mit einer vergleichsweise kleinen Strafe raus oder wir lassen Sie zehn Jahre einfahren". Drastisch dargestellt. Und wenn es um das Verstecken von Schwarzkopien geht, sind wir wieder am ersten Fall. Niemand wird so eine Verschüsselung ernsthaft angreifen, wenn es um ein paar MP3 geht.
Vor diesem Hintergrund ist die Antwort ganz banal. Man nimmt den Algo, der schneller ist und in Sachen Speicherverbrauch niedriger. Sofern es eine solche Möglichkeit gibt.
 
Yamagi,

die Frage von wasp ist doch schon längst geklärt, der Thread hat sich schon lange davon entfernt aus meiner Sicht. ^^
 
ich meine ja nur, ihr könnte das auch gern weiterdiskutieren, wenn ihr möchtet :)
 
Ok, um das ganze jetzt von meinem Standpunkt aus abzuschließen:
Mir ist klar, dass die Mathematik-Problem die ich ansprach nichts mit Wasp's Problem zu tun haben. Auch ist mir klar, dass Regierung oder sonstwer lieber durch dein Fenster reinfilmen oder dein Gehirn scannen bevor sie zu Mathe-Genies werden und ein Milleniumproblem lösen.
Ich wollte nur darauf hinaus, dass die Verschlüsselung aus theoretischer Sicht u.U. angreifbar ist (auch wenn es niemand momentan kann) und man nicht einfach behaupten kann: Um das zu Entschlüsseln braucht man bis zum Ende des Sonnensystems!
 
Zurück
Oben