gpg2 --gen-key
то можна дуже довго просидіти перед екраном з таким от текстом, і в підсумку нічого не висидіти:
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
чому?
для генерації надійних криптоключів потрібна… гхм, випадковість. міру випадковості, що широко застосовується в комп’ютерних технологіях, називають інформаційною ентропією, або ентропією шеннона, або коротко (хоч і не дуже правильно) просто ентропією. звичайні комп’ютери не мають генераторів випадкових чисел*, але можуть «збирати» випадковість, нотуючи час виникнення деяких подій (дискові операції, мережеві повідомлення, ввід з клавіатури й миші). випадковість накопичується, і згодом операційна система її використовує, коли треба.ось так можна поглянути, скільки ентропії доступно в linux:
для генерації пари криптоключів з довжиною основи 2048 біт потрібно приблизно 300 біт інформаційної ентропії. у віртуальної машини доступу до випадкових подій значно менше, ніж у фізичної, тому її резерв ентропії, як правило, значно нижчий — особливо одразу після старту.
що робити?
найпростіше — згенерувати багато дискових операцій! наприклад, в сусідньому терміналі запустити щось подібне (читає весь диск і копіює в нікуди), і дати «покрутитися» кілька секунд:(sudo) dd if=/dev/sda of=/dev/null status=progress
або щось таке (), щоби уникнути потреби в sudo:
find / | xargs file
…і спостерігати, як зразу пожвавиться накопичував ентропії! можна повертатися до генерації криптоключів.
* це не зовсім вірно; приміром, малинка — має о_О