Класс позволяет выбрать режим работы криптографического алгоритма, тип операции шифрования и номер блока данных для методов GrdTransformEx и GrdCryptEx
Пространство имен: Guardant
Синтаксис
Режимы использования GSII64 в Guardant Stealth:
bit 0-5 - режим использования
bit 7 - шифрование/расшифрование
bit 8-9 - позиция шифруемого блока
...
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 |
Возвращает значение константы статического объекта.
Константы
Класс содержит предопределенные статические объекты, которые соответствуют режимам работы криптографического алгоритма и типу операции шифрования.
Имя | Значение | Описание |
---|---|---|
ECB | 0 | Режим электронной кодовой книги |
...
(режим простой замены). Каждый блок открытого текста заменяется блоком шифротекста. Шифрование двух одинаковых блоков даст идентичный результат. Скорость обработки блоков в режиме ЕСВ фиксирована. Недостаток ECB, в сравнении c другими режимами шифрования, — сохранение статистических особенностей открытого текста. | ||
CBC | 1 | Режим сцепления блоков шифротекста. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования. Таким образом, каждый блок зашифрованного текста зависит от всех блоков открытого текста, обработанных до него. Режим CBC лишён недостатка алгоритма ECB, но всё же имеет ряд недостатков с точки зрения безопасности. |
CFB | 2 | Режим обратной связи по шифротексту (режим гаммирования с обратной связью). Для шифрования следующего блока открытого текста он складывается по модулю 2 с перешифрованным (блочным шифром) результатом шифрования предыдущего блока. Криптостойкость СFВ определяется криптостойкостью используемого шифра. |
OFB | 3 | Режим обратной связи по выходу. В этом режиме открытый текст используются только для конечного сложения. Операции блочного шифра могут быть выполнены заранее, позволяя выполнить заключительное шифрование параллельно с открытым текстом. |
Encode | 0 | Зашифровать блок данных. |
Decode | 0x80 | Расшифровать блок данных. |
Encrypt | 0 | Синоним Encode. |
Decrypt | 0x80 | Синоним Decode. |
Описание
Класс служит для одновременной передачи методам Guardant API режима работы криптографического алгоритма, типа операции шифрования и номера блока данных (см. описание класса GrdSC). Например, чтобы программно зашифровать один блок в режиме электронной кодовой книги, методу GrdCryptEx в параметре method достаточно передать GrdAM.ECB + GrdAM.Encrypt + GrdSC.ALL .
См. методы: GrdCryptEx , GrdTransformEx
Значение константы: 0
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAM CBC |
Режим сцепления кодированных блоков: В режиме CBC, как и в ECB, каждый 8-байтовый блок преобразуется в 8-байтовый блок. Преобразование в режиме CBC для всех блоков осуществляется с одним и тем же определителем. Режим CBC чаще используется и лучше подходит для преобразования блоков данных, превышающих по длине 8 байтов.
Значение константы: 1
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAM CFB |
Режим с кодированной обратной связью: Режим CFB позволяет преобразовывать блоки данных произвольного размера, не обязательно кратного 8 байтам. Это избавляет от необходимости дополнять исходные данные до целого количества 8-байтовых блоков. В этом режиме длина закодированной последовательности будет равна длине исходной.
Примечание: Если при декодировании указан неверный вектор инициализации, все данные, кроме первых 8 байт, все равно декодируются правильно. Если это критично для приложения, предпочтительно использовать режим OFB.
Значение константы: 2
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN READ_ONLY |
Защищенная ячейка, только для считывания. Может быть обновлена с помощью Secured Guardant Remote Update
Значение константы: 3
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN READ_WRITE |
Защищенная ячейка, для считывания и записи. Может быть обновлена с помощью protected application runtime
Значение константы: 4
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN GSII64_DEMO |
GSII64 демо алгоритм, используется в примерах
Значение константы: 5
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN HASH64_DEMO |
HASH64 демо алгоритм, используется в примерах
Значение константы: 6
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN ECC160 |
ECC160 для автоматической защиты + используется в API
Значение константы: 8
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN AES128 |
AES128 для автоматической защиты + используется в API
Значение константы: 9
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN GSII64_ENCRYPT |
GSII64_ENCRYPT для автоматической защиты + используется в API
Значение константы: 10
Code Block | ||||
---|---|---|---|---|
| ||||
public static GrdAN GSII64_DECRYPT |
GSII64_DECRYPT для автоматической защиты + используется в API
Значение константы: 11