Криптография и ядро, Системные вызовы

Обратите внимание, что pubring.kbxимеет размер 2,0 КБ на первой машине и только 32 байта на второй машине. Таким образом, либо файл имеет другое содержимое, либо передача была неполной.

Отметка времени на второй машине тоже старше,так что я предполагаю, что вторая машина по какой-то причине получила версию файла с датой выпуска -из -.

0
20.12.2019, 22:43
2 ответа

Документация, которую вы нашли, предназначена в основном для разработки ядра и библиотек. Криптографические примитивы используются в таких местах, как стек IPSec , которые должны работать в ядре. Как вы можете видеть в главе Интерфейс пользовательского пространства , криптография с открытым ключом недоступна в пользовательском пространстве. Даже если бы это было так, вас не должно волновать, где заканчиваются ключи (подсказка :видите эти приятные непрозрачные __ctxэлементы? ). Интересная часть - это функции, которые предоставляются.

Если вас интересуют криптографические библиотеки для Linux, OpenSSL , GnuTLS и Libgcrypt , вероятно, являются наиболее распространенным выбором. В Википедии также есть страница сравнения . Они работают в основном в пользовательском пространстве и используют Crypto API ядра для повышения производительности.

Отредактируйте :, если вы действительно хотите использовать Crypto API, вы можете посмотреть для каждого алгоритма, что содержат эти члены __ctx. Например. если вы посмотрите на rsa.c , вы заметите, что элемент __ctxв crypto_akcipherуказывает на struct rsa_mpi_keyи вы можете получить его с помощью rsa_get_key().

1
28.01.2020, 02:59

Другим возможным решением может быть отладка некоторого кода до уровня системных вызовов, чтобы найти, где он взаимодействует с ядром, поскольку создается впечатление, что ядро ​​считывает данные из буфера для выполнения криптографических системных вызовов.

-1
28.01.2020, 02:59

Теги

Похожие вопросы