grep '^processor' /proc/cpuinfo \
| (
while read DUMMY; do
od -t x1 -A n -N 32 /dev/random \
| tr -d '[[:space:]]' \
| gpg -c -z0 --passphrase-fd=0 --disable-mdc \
--cipher-algo=TWOFISH -o - /dev/zero &
done
wait
) \
| pv >/dev/null
A script az én (két magos) gépemen 94.3 MB/s sebességgel produkálja a (a fenti célra kriptográfiailag biztonságosnak szánt) pszeudo-random sorozatot.
Indoklás: minden maghoz elindítunk egyet a következő "job"-ból, párhuzamosan: az
od | tr
pipeline-szakasz előállít egy 256 bites, hexa kódolású kulcsot. A kulcs elég jó minőségű, mert a /dev/random-ból jön. Minden "job" külön kulcsot kap. A GnuPG ezt a kulcsot alkalmazva kódolja a /dev/zero-t. Az tömörítést persze kikapcsoljuk. Mivel az átvitt "üzenet" integritása nem érdekel minket, azért MDC-re (message digest code-ra) nem pazarlunk CPU-t.
A TWOFISH egy gyors, 128 bites blokkmérettel rendelkező sifrírozó. Az AES(128), AES192, AES256 is hasonló sebességet nyújtanak (az AES(128) gyorsabb a TWOFISH-nél az én gépemen (100 MB/s fölött), a másik kettő lassabb).
Az ötlet csak annyi, hogy egy jó sifrírozó (pl. cipher block chaining módban használt AES vagy TWOFISH) kimenete lényegében megkülönböztethetetlen egy véletlen sorozattól -- bizonyos hosszig, a blokkméret függvényében.
A pszeudo-random sorozattal természetesen nem az eredeti "üzenetet" akarjuk eltakarni, hanem a 256 bites kulcs függvényében egy meglehetősen véletlennek tűnő sorozatot állítunk elő gyorsan, és azzal a diszk tartalmát "kódoljuk" (XOR helyett felülírást használva).
A kriptográfiailag biztonságos álvéletlen sorozat előállítására nem CTR módban használjuk a blokk-sifrírozót. A GnuPG feltételezésem szerint CBC-t alkalmaz. Ebbe a CBC-be egy csupa '\0' plaintext-et töltünk, így egyetlen GnuPG processz kimenete valójában egy OFB keystream lesz. Több ilyen keystream-et (melyek különböző kulcsokon alapulnak) összefuttatunk egyetlen pipe-ba. (A keveredés nem számít.) A diszk tartalmát ezzel XOR-oljuk ^W írjuk felül.
A szkript addig futtatandó, amíg a végső pv ^W cat ENOSPC-vel ki nem száll.
- uid_2716 blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
valami nem jó, nálam gpg 1.4-essel broken pipe hibaüzit dob debian 5 alatt, de friss sysresccd alatt 2-es gpg-vel is.
szerk.: live cd alatt próbáltam, és a pv parancs hiányzott, sorry.
nagyon jó teljesítményt hoz (92 MB/s nálam), gondolom egy ide vagy sata vinyót tud írni a saját max. sebességével.
nagyon hasznos, köszi!
- A hozzászóláshoz be kell jelentkezni
valami nem jó, nálam gpg 1.4-essel broken pipe hibaüzit dob
Jó az; nem is lehet más, mint broken pipe. A bemenet (/dev/zero) végtelen, de a diszk véges. A pv (éles esetben inkább cat) ENOSPC-vel kiszáll, amikor a block device-nak a végére ér. Ekkor a gpg-k által írott közös pipe-nak egyetlen olvasója sem marad, úgyhogy amit tapasztalsz, az érthető, sőt, tervezett.
A pv egyébként csak szemléltetéshez kellett, LiveCD-ről elég a sima cat is.
- A hozzászóláshoz be kell jelentkezni
Bookmark. :)
Jól fog jönni még, az urandom valóban lassú tud lenni. Néha nem árt törölni egy vinyót, pl. gép eladása előtt...
- A hozzászóláshoz be kell jelentkezni
... és használatba vétel előtt sem árt teleírni min. kétszer a vinyót - és a lassú urandommal 6 db 1TB-os diszk az már nem lassú halál, hanem potencia zavar.
- A hozzászóláshoz be kell jelentkezni
subscribe, éppen a napokban kerestem hasonlót és nem találtam.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
- A hozzászóláshoz be kell jelentkezni
+1
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
+
@@
"You can hide a semi truck in 300 lines of C."
- A hozzászóláshoz be kell jelentkezni
++
KAMI | 神
--
Támogatás | OxygenOffice | Fordításaim és SeaMonkey
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Nagyon jó, köszönöm. Nálam 110 MB/s.
Valahol láttam egy példát arra is, hogy a pv-vel a /dev/zero-ból a /dev/null-ba másolás sebességét nézték.
- A hozzászóláshoz be kell jelentkezni
remek. külön köszönet a sifrírozás szóért, mert most hallotam először. :)
- A hozzászóláshoz be kell jelentkezni
Like
- A hozzászóláshoz be kell jelentkezni
sbscrb
- A hozzászóláshoz be kell jelentkezni
[ctrl+d]
- A hozzászóláshoz be kell jelentkezni
subs
- A hozzászóláshoz be kell jelentkezni
+
- A hozzászóláshoz be kell jelentkezni
Azannya, öt év eltelt, mióta ezt írtam. Furcsa érzés. :)
- A hozzászóláshoz be kell jelentkezni
Jó téma, érdemes fenntartani :)
- A hozzászóláshoz be kell jelentkezni
Bookmark.
- A hozzászóláshoz be kell jelentkezni