Як шифрування AES / Rijndael взагалі працює?
На цій сторінці є цікавий Посібник з малюнком до Поширеного стандарту шифрування (AES), який виглядає легко зрозумілим, хоча це схоже на 50+ зображень, наприклад, ці два:
і
Дублювати це все тут дуже багато, але якщо у вас є зображення "все в одному", це саме таке:
Або є більш компактне пояснення на веб- сайті http://www.password-depot.com/know-how/blowfish_and_rijndael.htm
Метод шифрування Rijndael заснований на заміні, зміні та виконанні операцій xor на байтах. Метод виглядає приблизно так:
- Зі 128-бітного ключа Rijndael генерує 10 клавіш по 128 біт кожна.
- Ці клавіші розміщені в масиви 4x4.
- Простий текст також розділений на масиви 4x4 (128 біт у кожному).
- Кожен із 128-бітних елементів простого тексту обробляється в 10 раундів (10 раундів для 128-бітних клавіш, 12 для 192, 14 для 256).
- Після 10 раунду код формується.
- Кожен окремий байт підміняється у вікні S і замінюється зворотним на GF (2 8).
- Потім застосовується трохи розумна матриця модуля-2, після якої виконується операція XOR з 63.
- Рядки матриць сортуються циклічно.
- Стовпці матричного множення взаємозамінні на GF (2 8).
- Підрозділи кожного раунду піддаються операції XOR.
Рівень безпеки цього методу шифрування збільшується, якщо Rijndael виконується кілька разів з різними підрозділами.
Як працює повне шифрування диска Ubuntu?
Я вважаю, що це працює, шифруючи розділ за допомогою LUKS (налаштування за замовчуванням з AES), а потім додає на нього деякі томи за допомогою LVM (наприклад /
, swap) та розшифровує та монтує їх під час завантаження після введення парольної фрази. І є звичайний (не зашифрований) завантажувальний розділ, який завантажується достатньо, щоб попросити пароль.
Посібник the_simple_computer по повній шифруванню диска за допомогою Ubuntu (оновлено 28 червня 2015 р.) говорить про те, як працює шифрування програми встановлення за замовчуванням, і згадує, що подвійне завантаження не буде працювати (принаймні, не в коробці), накопичувач необхідно використовувати MBR, так що " якщо на вашому комп'ютері є UEFI, дистрибутив буде встановлений у застарілому режимі BIOS, щоб ви не могли використовувати безпечну завантажувальну систему " і " також дає розмір свопу, рівний розміру оперативної пам'яті вашої системи (часто непотрібної), і ви не мають вибору щодо того, який тип шифрування використовується ".
Як швидко відбувається шифрування?
Якщо ви запустите, cryptsetup benchmark
він запустить тести і розповість про те, як швидко проходить одне шифрування, слідкуйте за (на даний момент) рядками aes-xts за замовчуванням:
# Algorithm | Key | Encryption | Decryption
aes-xts 256b 150.0 MiB/s 145.0 MiB/s
Середня швидкість читання на жорсткому диску може становити 80-160 Мб / с, тому ви не будете набагато довше звичайного читання, і можливо, що щойно прочитані сектори вже розшифровані, поки ви ще чекаєте на жорсткий диск, щоб прочитати більше.
SSD може бути швидшим, можливо, 200-550MB / s, так що ви можете це помітити. Але випадкові зчитування можуть бути повільнішими, і я читав, що швидкості SSD можуть сповільнюватися після використання (можливо, коли накопичувач повністю заповниться, і він повинен почати "стирання" секторів?)
Як комп'ютер може повністю зашифрувати / розшифрувати весь диск лише за кілька секунд (завантажувати чи вимикати не потрібно більше часу)?
Не потрібно спочатку все дешифрувати. Шифрування (LUKS) працює на блоки даних , може випадковим чином розшифрувати будь-який блок і діє як шар між зашифрованими даними диска та тим, що бачить файлова система.
Коли файлова система хоче побачити будь-який блок даних, LUKS спочатку розшифровує цей блок, а потім надає розшифровані дані файловій системі. Ви спочатку дочекаєтесь, коли накопичувач прочитає блок даних (як і без використання шифрування) і маєте лише додаткову затримку для дешифрування цього одного блоку (або декількох блоків) даних - і якщо розшифрування буде швидше, ніж накопичувач Можна прочитати, дешифрування може бути закінчено до того, як диск прочитає наступний блок даних.
Отже, як звичайній файловій системі для читання файлу не потрібно читати весь диск, при додаванні шифрування йому також не потрібно читати весь диск, і це не робить все набагато повільніше.
Дані на жорсткому диску завжди шифруються , тому при відключенні нічого робити, крім забуття ключа.