DES (Data Encryption Standart) это симметричный
алгоритм шифрования, т.е. один ключ
используется как для
зашифровывания, так и для
расшифрования сообщений.
Разработан фирмой IBM и утвержден
правительством США в 1977 как
официальный стандарт.
DES имеет блоки по 64 бит и основан
на 16 кратной перестановке данных,
также для зашифрования использует
ключ в 56 бит. Существует несколько
режимов DES, например Electronic Code Book (ECB)
и Cipher Block Chaining (CBC).
56 бит - это 8 семибитовых ASCII
символов, т.е. пароль не может быть
больше чем 8 букв. Если вдобавок
использовать только буквы и цифры,
то количество возможных вариантов
будет существенно меньше
максимально возможных 2^56.
Один из шагов алгоритма DES:
Входной блок данных делится
пополам на левую (L') и правую (R')
части. После этого формируется
выходной массив так, что его левая
часть L'' представлена правой частью
R' входного, из 32-битового слова R' с помощью битовых
перестановок формируется
48-битовое слово. Полученное 48-битовое
слово XOR-ится с 48-битовым раундовым ключом.
Результирующее 48-битовое слово
разбивается на 8 6-битовых групп,
каждая 6-битовая группа посредством
соответствующего S-box'а заменяется на 4-битовую
группу и из полученных восьми 4-битовых групп
составляется 32-битовое слово. Полученное слово
XOR-ится с L', в результате получается R''. Можно убедиться,
что все проведенные операции могут
быть обращены и расшифрование
осуществлятся за число операций,
линейно зависящее от размера блока.
После нескольких таких взбиваний
можно считать, что каждый бит
выходного блока шифровки может
зависеть от каждого бита сообщения.