Криптографическая система – семейство преобразований шифра и совокупность ключей (т.е алгоритм + ключи).
Классификация:
Симметричные криптосистемы (с секретным ключом – secret key systems) – данные криптосистемы построены на основе сохранения в тайне ключа шифрования. Процессы шифрования и расшифрования используют один и тот же ключ.
Асимметричные криптосистемы (системы с открытым ключом и т.д. – public key systems) – смысл данных криптосистем состоит в том, что для шифрования и расшифрования используются разные преобразования. Одно из них – шифрование – является абсолютно открытым для всех. Другое же – расшифрование – остается секретным.
Требования:
- зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
- число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
- число операций, необходимых для расшифрования информации путем перебором всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современной вычислительной техники, или требовать неприемлемо высоких затрат на эти вычисления;
- знание алгоритма шифрования не должно влиять на надежность защиты;
- незначительное изменение ключа должно приводить к существенному изменению вида шифрованного сообщения даже при шифровании одного и того же исходного текста;
- незначительное изменение исходного текста должно приводить к существенному изменению вида шифрованного сообщения даже при шифровании одного и того же ключа;
- структурные элементы алгоритма шифрования должны быть неизменными;
- дополнительные биты, вводимые в сообщение в процессе шифрования, должны быть полностью и надежно скрыты в шифрованном тексте;
- длина шифрованного текста не должна превосходить длину исходного текста;
- не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования;
- любой ключ из множества возможных должен обеспечивать надежную защиту информации;
- алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма.