Как работает AES / Rijndael Encryption в целом?
На этой странице есть забавное руководство по рисунку на палочке к расширенному стандарту шифрования (AES), которое легко понять, хотя выглядит более 50 изображений, например, эти два:
и
Слишком много, чтобы дублировать все это здесь, но если вам нужно изображение «все в одном», то вот оно:
Или есть более компактное объяснение на http://www.password-depot.com/know-how/blowfish_and_rijndael.htm
Метод шифрования Rijndael основан на замене, изменении и выполнении операций xor на байтах. Метод выглядит так:
- Из 128-битного ключа Rijndael генерирует 10 ключей по 128 бит каждый.
- Эти ключи помещены в массивы 4х4.
- Простой текст также делится на массивы 4х4 (по 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-550 МБ / с, так что вы можете заметить это. Но случайное чтение может быть медленнее, и я читал, что скорости SSD могут замедляться после использования (может быть, когда накопитель полностью заполняется, и он должен начать «стирать» сектора?)
Как компьютер может полностью зашифровать / расшифровать весь диск всего за несколько секунд (для загрузки или выключения не требуется больше времени)?
Это не должно расшифровывать все сначала. Шифрование (LUKS) работает с блоками данных , может произвольно расшифровывать любой блок и действует как слой между зашифрованными данными накопителя и тем, что видит файловая система.
Когда файловая система хочет увидеть какой-либо блок данных, LUKS сначала расшифровывает этот блок, а затем передает расшифрованные данные в файловую систему. Сначала вы ждете, пока накопитель прочитает блок данных (как без использования шифрования), и у вас будет только дополнительная задержка для расшифровки этого одного блока (или нескольких блоков) данных - и если расшифровка выполняется быстрее, чем накопитель может прочитать, расшифровка может быть завершена до того, как накопитель прочитает следующий блок данных.
Так что, как и обычной файловой системе, не нужно читать весь диск, чтобы прочитать файл, когда шифрование добавлено, ему не нужно читать весь диск, и это не делает вещи намного медленнее.
Данные на жестком диске всегда зашифрованы , поэтому при выключении ничего не нужно делать, кроме как забыть ключ.