|
Краткое описание алгоритмов шифрования, использующихся в программе TrueCrypt. 1. AES. 2. TwoFish. 3. Serpent.
1. AES – Advanced Encryption Standard. Малая длина ключа (56 бит) стандарта симметричного шифрования DES (Data Encryption Standard – Стандарт шифрования данных) поставила правительство США перед необходимостью принятия нового стандарта шифрования. Несмотря на то, что модификация 3-DES обладала достаточной длиной ключа, программная реализация этого алгоритма на платформах с ограниченными ресурсами была слишком медленна.
История AES.
В 1997 году Национальный институт стандартов и технологий США (NIST) объявляет конкурс на лучший алгоритм для нового стандарта. Алгоритм должен был соответствовать следующим параметрам: - Это должен быть блочный шифр.
- Длина блока должна быть равна 128 битам.
- Ключи должны иметь длину 128, 192 и 256 бит.
В 1998 году для анализа в первом раунде было отобрано 15 алгоритмов : CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER+, Serpent, Twofish. В ходе обсуждений алгоритмы подвергались всестороннему анализу: стойкость к атакам, слабые ключи, оптимизация кода, производительность, простота архитектуры и т.д. В 1999 было отобрано 5 финалистов. Ими стали: MARS, RC6, Rijndael, Serpent и Twofish. Отобранные алгоритмы были подвергнуты более глубокому анализу. 2 октября 2000 года NIST объявил, что победителем конкурса стал алгоритм Rijndail, разработанный доктором Joan Daemon’ом и доктором Vincent Rijmen’ом. 26 ноября 2001 года Rijndael был принят в качестве Федерального Стандарта Обработки Информации (FIPS).
Алгоритм
Rijndael - это симметричный алгоритм блочного шифрования с различной длинной блока и ключа. Для AES длина блока составляет 128 бит, а длина ключа может быть 128, 192 и 256 бит.Таким образом можно говорить о трех различных версиях: AES-128, AES-192 и AES-256. Шифр основан на циклических операциях. У каждого цикла (раунда) есть свой 128-битный ключ и входными данными для него является результат предыдущего цикла (раунда). Ключ цикла (раунда) может быть вычислен заранее или сгенерирован «на лету» из входного ключа. Благодаря своей регулярной (циклической) структуре этот шифр можно эффективно реализовать аппаратно. Последовательность циклических операций расшифровывания отличается от операций шифрования, что часто приводит к различиям в логических цепях, отвечающих за эти операции. Производительность системы при шифровании и расшифровывании информации также отличаются, так как при обратной операции циклическая функция сложнее, чем при операции шифрования.
Информацию по AES можно найти на странице NIST, посвященную этому стандарту либо на страницах WiKi.
2. TwoFish - описание алгоритма. 3. Serpent - описание алгоритма. |