Функции базовой библиотеки защиты информации (ctBaseLib) являют собой наиболее гибкие и низкоуровневые средства для разработки приложений защиты информации.
CtBaseLib управляет следующими объектами защиты информации: Контейнер секретных ключей, который ассоциирован с пользователем системы безопасности. Вы можете осуществлять доступ к контейнерам ключей через контексты защиты информации, к которым прикреплены контейнеры ключей.
Задачи защиты информации (секретность, целостность, аутентификация), которые открываются внутри контекста защиты информации и представляют собой различные алгоритмы. Задача защиты информации управляет всеми данными, требуемыми для выполнения определённой операции защиты данных, например, кодирования или подписи.
Открытые ключи, необходимые для большинства операций защиты информации. Они передаются среди пользователей системы безопасности в форме капсулы с открытым ключом. Для библиотеки ctBaseLib не имеет значения, каким образом происходит передача и обмен секретных ключей, равно и как гарантирование их подлинности.
Функции ctBaseLib
Алгоритмы защиты информации используют параметры A, P и Q, называемые триплетами APQ. CtBaseLib поддерживает хранение этих триплетов, что является гарантией надежной защиты информации.
Библиотека предоставляет полный набор функций для разработки приложений:
Функции для работы с параметрами провайдера включают в себя:
функцию,возвращающую значения следующих параметров провайдера ctBaseLib:
информация о версии библиотеки
информация об указанном алгоритме
информация обо всех поддерживаемых алгоритмах
триплет APQ, ассоциированный с определенным индексом APQ и алгоритмом
индекс триплета APQ и значения для указанного алгоритма (используя этот параметр, Вы можете установить специальный триплет APQ для данного приложения)
максимальное количество хэшируемых триплетов APQ
параметр для освобождения хэшированных триплетов APQ, которые не используются никакими задачами и контекстами
отладочная информация об открытых контекстах
отладочная информация о хэшированных триплетах APQ
функцию, настраивающую параметры библиотеки провайдера, где вы можете изменять значения параметров, приведенных выше.
Функции контекста защиты информации (контейнеров секретных ключей):
Они дают возможность:
добавить ссылки в описатель контекста защиты информации
создать копию контекста
возвратить или настроить параметры контекста
управлять операциями с секретным ключом внутри контейнера секретного ключа
Функции для управления задачами защиты информации и открытыми ключами, которые дают возможность:
создать копию задачи защиты информации
возвратить или настроить параметры задачи защиты информации - импортировать (экспортировать) открытый ключ в задачу защиты информации — кодировать (декодировать) буфер с текстом
вычислить хэш данных и подписать его значение — проверить значение подписи хэша
Следующие объекты библиотеки определены как константы ctBaseLib, что дает возможность быстро и просто работать с библиотекой:
типы алгоритмов : подписи\проверки подписи, кодирования\декодирования, хэширования, неопределенный тип.
идентификаторы алгоритмов : для следующих алгоритмов предусмотрены свои идентификаторы:
Алгоритмы кодирования: Блочные коды Safer, DES, Triple DES, FEAL, ГОСТ РФ 28147, Wicker98, Nush; поточные коды Vesta-2M, RC4.
Алгоритмы подписи: ГОСТ РФ, DSA, LANS, RSA, Gost.
Алгоритмы хэширования: ГОСТ РФ, SHA, SHA-1, MD5, GAS48.
В некоторых ситуациях могут быть полезны следующие идентификаторы:
Использовать алгоритм подписи, принятый по умолчанию (хранящийся в контейнере ключа).
Использовать алгоритм кодирования, принятый по умолчанию (хранящийся в контейнере ключа).
режимы кодирования : ECB, CBC, CFB, OFB, а также C, G, GB (в алгоритме ГОСТ 28147).
стандартные индексы APQ — стандартные триплеты APQ для открытых ключей длиной 512, 1024, 2048, 4096 бит (A, P и Q — параметры, используемые алгоритмами защиты информации).
принятые по умолчанию идентификаторы секретных ключей.
параметры контекста защиты информации (напр., такие как информация об алгоритмах, разрешенных для использования в контейнере ключей, или заданные по умолчанию в контейнере ключей алгоритмы подписи),
параметры задач защиты информации (напр., такие как идентификатор секретного ключа, который нужно использовать в данной задаче)
коды возврата.
В документации к библиотеке приведены следующие примеры работы с ctBaseLib: перечисление алгоритмов
получение открытого ключа
кодирование и декодирование данных
подписание и верификация данных
и многие другие примеры.