Versions Compared

Key

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

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

 

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

Синтаксис

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

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

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

    bit 8-9 - позиция шифруемого блока

...

Code Block
languagejavac#
public class GrdAM

...

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

Code Block
languagejava
titleECB
c#
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

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

Константы

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

 

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

0

Режим электронной кодовой книги

...

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

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

OFB3

Режим обратной связи по выходу. В этом режиме открытый текст используются только для конечного сложения. Операции блочного шифра могут быть выполнены заранее, позволяя выполнить заключительное шифрование параллельно с открытым текстом.

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
languagejava
titleCBC
public static GrdAM CBC

Режим сцепления кодированных блоков:  В режиме CBC, как и в ECB, каждый 8-байтовый блок преобразуется в 8-байтовый блок. Преобразование в режиме CBC для всех блоков осуществляется с одним и тем же определителем. Режим CBC чаще используется и лучше подходит для преобразования блоков данных, превышающих по длине 8 байтов.

Значение константы: 1

Code Block
languagejava
titleCFB
public static GrdAM CFB

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

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

Значение константы: 2

Code Block
languagejava
titleREAD_ONLY
public static GrdAN READ_ONLY

Защищенная ячейка, только для считывания. Может быть обновлена с помощью Secured  Guardant Remote Update

Значение константы: 3

Code Block
languagejava
titleREAD_WRITE
public static GrdAN READ_WRITE

Защищенная ячейка, для считывания и записи. Может быть обновлена с помощью protected application runtime

Значение константы: 4

Code Block
languagejava
titleGSII64_DEMO
public static GrdAN GSII64_DEMO

GSII64 демо алгоритм, используется в примерах

Значение константы: 5

Code Block
languagejava
titleHASH64_DEMO
public static GrdAN HASH64_DEMO

HASH64 демо алгоритм, используется в примерах

Значение константы: 6

Code Block
languagejava
titleECC160
public static GrdAN ECC160

ECC160 для автоматической защиты + используется в API

Значение константы: 8

Code Block
languagejava
titleAES128
public static GrdAN AES128

AES128 для автоматической защиты + используется в API

Значение константы: 9

Code Block
languagejava
titleGSII64_ENCRYPT
public static GrdAN GSII64_ENCRYPT

GSII64_ENCRYPT для автоматической защиты + используется в API

Значение константы: 10

Code Block
languagejava
titleGSII64_DECRYPT
public static GrdAN GSII64_DECRYPT

 GSII64_DECRYPT для автоматической защиты + используется в API

Значение константы: 11