005
14.01.2008, 02:49 Uhr
0xdeadbeef
Gott (Operator)
|
*schulterzuck* Lass es 50 sein, und da wird's nun richtig unrealistisch, dann dauert das immer noch an die drei Jahre. Lass jemanden eine geniale Abkürzung finden, die's auf 100 drückt - und dafür suchst du einen Mathematiker, der erst mal ein paar Jahre forschen müsste - dann sind's immer noch anderthalb. Lass es 1000 sein - in einer Fantasiewelt, oder in etwa 20 Jahren - und der Rechner ist immer noch 2 Monate beschäftigt. Es ist stumpf und einfach nicht realistisch.
Das ist ja der Trick an Kryptographie; den Code zu knacken ist verdammt zeitaufwändig. Ich vermute eher, dass meine Schätzung von 10 pro Sekunde noch deutlich zu hoch ist.
Im Übrigen stell ich grad fest, dass die von dir verstellten Bytes mitten in den Master-Keys liegen, das heißt, neben der Veränderung des Schlüssels musst du noch einen Weg finden, überhaupt herauszufinden, dass die Partition richtig entschlüsselt wurde.
Nachtrag:
Möööglicherweise, abhängig davon, wo dein master key genau liegt, schlägt vielleicht nur die Überprüfung der CRC32-Prüfsumme des Schlüsselbereichs fehl, und eigentlich ist der Bereich, der betroffen ist, garnicht wichtig. In dem Fall könntest du versuchen, die Bytes 72-76 des Headers mit der CRC32-Prüfsumme der Bytes 256-511 zu überschreiben, siehe auch www.truecrypt.org/docs/ unter Technical Details -> Volume Format Spec. Du solltest aber, bevor du das tust, mindestens eine Sicherheitskopie des Headers, besser des gesamten Volumes anlegen.
Unter Linux kommst du an den entsprechenden Teil mit
Code: |
dd bs=256 skip=1 count=1 if=dein_entschluesselter_volume_header.dat of=masterkeys.dat
|
Dann mit cksfv oder so die crc32-Prüfsumme ausrechnen, binär in eine Datei schreiben und per
Code: |
dd bs=4 seek=1 count=1 if=binaere_pruefsumme.dat of=dein_entschluesselter_volume_header.dat
|
...und dann mal zu mounten versuchen. Ich übernehme aber keine Garantie für garnichts, also nimm das mit der Sicherheitskopie ernst.
Alternativ könntest du versuchen, in Common/Volumes.c die Zeilen 156-158:
C++: |
// Check CRC of the key set if (mgetLong (input) != crc32 (header + HEADER_DISKKEY, DISKKEY_SIZE)) continue;
|
auszukommentieren, das ganze zu kompilieren und zu kucken, ob du so an deine Daten kommst; dann würde ich sie aber sofort auf ein neues truecrypt-Volume übertragen und wieder die richtige Version benutzen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 14.01.2008 um 03:29 Uhr von 0xdeadbeef editiert. |