M2Crypto, шифровать и подписывать сразу?

1

Это может быть что-то очевидное, что мне не хватает.

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

Это похоже на очевидный сценарий, но, возможно, моя концепция просто неверна. Я думаю, что вы должны иметь возможность сделать это с помощью одного сообщения, похожего на PGP. Может ли это быть сделано с M2Crypto легко?

Я попробовал сначала зашифровать сообщение, а затем подписал его, но получаю сообщение "RSAError: дайджест слишком большой для ключа rsa".

Я бы предпочел не отправлять зашифрованное сообщение и его подпись как две отдельные части данных.

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

Теги:
rsa
cryptography
m2crypto

1 ответ

1
Лучший ответ

Похоже, вы ищете гибридную криптосистему, которая совместно использует шифрование и подпись, используя соответствующие крипто-примитивы, чтобы позволить ей работать независимо от размера данных и инкапсулировать все компоненты криптограммы в одном месте, Хорошие примеры - PGP, HTTPS и DHIES. Хотя мне кажется, что вы можете реализовать такую ​​систему, используя m2crypto, вы, вероятно, не должны; вам гораздо лучше повторить использование существующего протокола, чем самостоятельно. Слишком легко сделать ошибки, которые трудно обнаружить, и сделать безопасность бесполезной.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню