Nevěřím, že to má vliv na sílu vašeho šifrování.
Zkontroloval jsem zdrojový kód a pokud správně interpretuji to, co jsem četl, nemusíte se o to nutně starat.
Tento kód patří do modulu 'stdrng'. Přinejmenším na Fedoře 23 je toto zabudováno do jádra, nikoli exportováno jako modul jádra.
Když je stdrng inicializován poprvé, proběhnou následující volání.
V crypto/drbg.c začíná inicializace zde.
1997 module_init(drbg_init);
Tím se zaregistrují všechny DRBG známé systému..
1985 for (j = 0; ARRAY_SIZE(drbg_cores) > j; j++, i++)
1986 drbg_fill_array(&drbg_algs[i], &drbg_cores[j], 1);
1987 for (j = 0; ARRAY_SIZE(drbg_cores) > j; j++, i++)
1988 drbg_fill_array(&drbg_algs[i], &drbg_cores[j], 0);
Poté jej předá pomocné funkci, která provede inicializaci:
1989 return crypto_register_rngs(drbg_algs, (ARRAY_SIZE(drbg_cores) * 2));
V crypto/rng.c
toto pouze iteruje každým rng, aby se zaregistrovalo..
210 for (i = 0; i < count; i++) {
211 ret = crypto_register_rng(algs + i);
212 if (ret)
213 goto err;
214 }
Tato funkce provede řadu inicializačních kroků a poté zavolá další funkci pro přidělení.
196 return crypto_register_alg(base);
Co není tak zřejmé, je to, co se stane během registrace.
Další modul s názvem tcrypt
také vestavěný do jádra přijímá oznámení o vkládání nových algoritmů. Jakmile uvidí nový registrovaný algoritmus, naplánuje jeho test. To je to, co vytváří výstup, který vidíte na obrazovce.
Po dokončení testu přejde algoritmus do stavu TESTED. Pokud test selže, představuji si (Nemohl jsem najít bit, který způsobuje toto chování) nelze jej vybrat pro vyhledávání, pokud předáte správné příznaky.
Zda test projde nebo ne, je určitě interně uloženo.
Volání generátoru náhodných čísel psudeo navíc způsobí, že seznam algoritmů bude iterován z prng v pořadí podle síly, jak je diktováno touto poznámkou v crypto/drbg.c
107 /*
108 * The order of the DRBG definitions here matter: every DRBG is registered
109 * as stdrng. Each DRBG receives an increasing cra_priority values the later
110 * they are defined in this array (see drbg_fill_array).
111 *
Protože ten nejsilnější neselže (hmac sha256), je nepravděpodobné, že používáte ty neúspěšné, i když by mohly být vybrány.
Abych to shrnul -
- To se stane, když
stdrng
modul je k něčemu vyžadován. - Načte všechny své známé algoritmy.
- Všechny načtené algoritmy se otestují. Některé mohou selhat (proč není v této odpovědi zvažováno).
- Testování neúspěšných algoritmů nemělo by být k dispozici pro výběr později.
- PRNGS jsou seřazeny podle síly a silné PRNGS, které projdou, jsou vyzkoušeny jako první.
- Věci, které spoléhají na
stdrng
doufejme, že by neměly používat tyto algoritmy jako základ pro svůj zdroj PRNG.
Pomocí následujícího příkazu můžete zjistit, které algos uspěly a prošly testy:
grep -EC5 'selftest.*passed' /proc/crypto
Prioritu výběru můžete také vidět v poli 'priorita'. Čím vyšší hodnota, tím silnější je PRNG podle autora modulu.
Takže jsem rád, že se zde mýlím, protože se nepovažuji za programátora jádra, ale na závěr -
Když stdrng
Zdá se, že vybírá jiné algoritmy ze seznamu přijatelných algoritmů, které jsou považovány za silnější než ty, které selhaly, a navíc ty, které selhaly, stejně pravděpodobně vybrány nebudou.
Domnívám se, že to pro vás při používání luks není žádné další riziko.