Я ищу пакет dart для реализации протокола обмена ключами (эллиптическая кривая Диффи-Хеллмана) в приложении Flutter. Таким образом, поток будет таким:
- приложение генерирует пару ключей во время входа в систему и отправляет открытый ключ на сервер (поэтому новая пара ключей создается для каждого входа в систему)
- сервер отправляет обратно свой открытый ключ, который он только что сгенерировал
- приложение генерирует секретный ключ из своего закрытого ключа и открытого ключа сервера
- app включает hmac всех последующих сообщений, отправляемых на сервер
Я попытался использовать пакет ed25519_dart для генерации ключа, но он не работает. Мое приложение даже не запускается из-за ошибки integer literal can't be represented in 64 bits
, на которую также указывает анализатор dart.
Я также просмотрел pointycastle, но, похоже, он не поддерживает Диффи-Хеллмана.
У меня также не работает пакет Диффи-Хеллмана. Приведенный пример выдает это исключение в первой строке:
FormatException: Invalid radix-16 number
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B1...
Любая идея, как я могу добиться того, что хочу сделать в приложении Flutter?