Задает Класс позволяет выбрать режим работы алгоритма и процесс шифрования.криптографического алгоритма, тип операции шифрования и номер блока данных для методов GrdTransformEx и GrdCryptEx
Пространство имен: Guardant
Синтаксис
Code Block | ||
---|---|---|
| ||
public class GrdAM |
Константы
Конструкторы
Code Block | ||
---|---|---|
| ||
public static GrdAM operator +(GrdAM op1, GrdAM op2)
public static GrdAM operator +(GrdAM op1, GrdSC op2)
public static GrdAM operator +(GrdSC op1, GrdAM op2) |
Методы
Code Block | ||
---|---|---|
| ||
public int Value |
Возвращает значение константы статического объекта.
Константы
Класс содержит предопределенные статические объекты, которые соответствуют режимам работы криптографического алгоритма и типу операции шифрования GrdAM содержит следующие имена и значения.
Имя | Значение | Описание | ||
---|---|---|---|---|
ECB | 0 | Режим электронной кодовой книги : Это простейший режим работы алгоритма GSII64. В режиме ECB каждый 8-байтовый блок, подавемый на вход алгоритма, преобразуется с одним и тем же определителем в другой 8-байтовый блок. Поэтому преобразование двух одинаковых 8-байтовых блоков даст идентичный результат(режим простой замены). Каждый блок открытого текста заменяется блоком шифротекста. Шифрование двух одинаковых блоков даст идентичный результат. Скорость обработки блоков в режиме ЕСВ фиксирована. Недостаток ECB, в сравнении c другими режимами шифрования, — сохранение статистических особенностей открытого текста. | ||
CBC | 1 | Режим сцепления кодированных блоков: В режиме CBC, как и в ECB, каждый 8-байтовый блок преобразуется в 8-байтовый блок. Преобразование в режиме CBC для всех блоков осуществляется с одним и тем же определителем. Режим CBC чаще используется и лучше подходит для преобразования блоков данных, превышающих по длине 8 байтовблоков шифротекста. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования. Таким образом, каждый блок зашифрованного текста зависит от всех блоков открытого текста, обработанных до него. Режим CBC лишён недостатка алгоритма ECB, но всё же имеет ряд недостатков с точки зрения безопасности. | ||
CFB | 2 | Режим обратной связи по шифротексту (режим гаммирования с кодированнойобратной связью : Режим CFB позволяет преобразовывать блоки данных произвольного размера, не обязательно кратного 8 байтам. Это избавляет от необходимости дополнять исходные данные до целого количества 8-байтовых блоков. В этом режиме длина закодированной последовательности будет равна длине исходной.Примечание: Если при декодировании указан неверный вектор инициализации, все данные, кроме первых 8 байт, все равно декодируются правильно. Если это критично для приложения, предпочтительно использовать режим OFB). Для шифрования следующего блока открытого текста он складывается по модулю 2 с перешифрованным (блочным шифром) результатом шифрования предыдущего блока. Криптостойкость СFВ определяется криптостойкостью используемого шифра. | ||
OFB | 3Режим | с обратной связью Режим обратной связи по выходу : Этот режим имеет много общего с режимом CFB.Главное отличие состоит в том, что для кодирования следующего блока используется не закодированный предыдущий блок, а результат преобразования вектора инициализации IV. В этом режиме открытый текст используются только для конечного сложения. Операции блочного шифра могут быть выполнены заранее, позволяя выполнить заключительное шифрование параллельно с открытым текстом. | ||
Encode | 0Кодирование | Зашифровать блок данных. | ||
Decode | 0x80Декодирование | Расшифровать блок данных. | ||
Encrypt | 0 | Синоним Encode.mValue | ||
Кодирование DecryptDecrypt | 0x80 | Синоним Decode.mValue | Декодирование |
Описание
Класс служит для одновременной передачи методам Guardant API режима работы криптографического алгоритма, типа операции шифрования и номера блока данных (см. описание класса GrdSC). Например, чтобы программно зашифровать один блок в режиме электронной кодовой книги, методу GrdCryptEx в параметре method достаточно передать GrdAM.ECB + GrdAM.Encrypt + GrdSC.ALL .
См. методы: GrdCryptEx , GrdTransformEx