Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Режимы использования GSII64 в Guardant Stealth:

    bit 0-5 - режим использования

    bit 7   - шифрование/расшифрование

    bit 8-9 - позиция шифруемого блокаКласс позволяет выбрать режим работы криптографического алгоритма, тип операции шифрования и номер блока данных для методов GrdTransformEx и GrdCryptEx

 

Пространство имен:    Guardant

Синтаксис

Code Block
languagec#
public class GrdAM

Конструкторы

Code Block
languagec#
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
languagec#
public int Value

Возвращает значение константы статического объекта.

Константы

 

 GrdAM содержит следующие имена и значенияКласс содержит предопределенные статические объекты, которые соответствуют режимам работы криптографического алгоритма и типу операции шифрования.

 

ИмяЗначениеОписание
ECB

0

Режим электронной кодовой книги : Это простейший режим работы алгоритма GSII64. В режиме ECB каждый 8-байтовый блок, подавемый на вход алгоритма, преобразуется с одним и тем же определителем в другой 8-байтовый блок. Поэтому преобразование двух одинаковых 8-байтовых блоков даст идентичный результат(режим простой замены). Каждый блок открытого текста заменяется блоком шифротекста. Шифрование двух одинаковых блоков даст идентичный результат. Скорость обработки блоков в режиме ЕСВ фиксирована. Недостаток ECB, в сравнении c другими режимами шифрования, — сохранение статистических особенностей открытого текста.
CBC1Режим сцепления кодированных блоков:  В режиме CBC, как и в ECB, каждый 8-байтовый блок преобразуется в 8-байтовый блок. Преобразование в режиме CBC для всех блоков осуществляется с одним и тем же определителем. Режим CBC чаще используется и лучше подходит для преобразования блоков данных, превышающих по длине 8 байтовблоков шифротекста. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования. Таким образом, каждый блок зашифрованного текста зависит от всех блоков открытого текста, обработанных до него. Режим CBC лишён недостатка алгоритма ECB, но всё же имеет ряд недостатков с точки зрения безопасности.
CFB2

Режим обратной связи по шифротексту (режим гаммирования с

кодированной

обратной связью

: Режим CFB позволяет преобразовывать блоки данных произвольного размера, не обязательно кратного 8 байтам. Это избавляет от необходимости дополнять исходные данные до целого количества 8-байтовых блоков. В этом режиме длина закодированной последовательности будет равна длине исходной.Примечание: Если при декодировании указан неверный вектор инициализации, все данные, кроме первых 8 байт, все равно декодируются правильно. Если это критично для приложения, предпочтительно использовать режим OFB

). Для шифрования следующего блока открытого текста он складывается по модулю 2 с перешифрованным (блочным шифром) результатом шифрования предыдущего блока. Криптостойкость СFВ определяется криптостойкостью используемого шифра.

OFB3Режим с обратной связью

Режим обратной связи по выходу

: Этот режим имеет много общего с режимом 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