Я пытаюсь создать лицензионный ключ для своего приложения, и я читал о RSA.Как использовать RSA для лицензионного ключа?
Пользователь моего приложения должен ввести код, и код будет расшифрован, чтобы проверить, имеет ли пользователь доступ к приложению или нет.
До сих пор я понял, что RSA имеет два ключа, общедоступный для шифрования данных, а частный - для дешифрования данных.
В моем случае я хочу избегать наличия ключа, хранящегося в приложении, и который может быть легко обнаружен хакером.
Но в соответствии с RSA дешифрующий ключ должен быть закрытым и использоваться для дешифрования данных.
Кто-нибудь знает, как я могу избежать хранения закрытого ключа в приложении, пожалуйста? Я что-то упускаю ?
Приветствия заранее.
Вам нужно будет использовать сигнатуры, которые в случае RSA составляют не менее 100 байт. Не то, что ваш пользователь захочет напечатать. С подписями DSA/ECDSA вы получаете около 30 байт. С фантастическими подписями BLS (трудно найти реализации для него) вы получаете около 15 байт. – CodesInChaos
И, конечно же, независимо от того, насколько вы себя чувствуете в криптографии, злоумышленник всегда может исправить ваше приложение, чтобы удалить проверку ключа. Это предотвращает только генераторы ключей, а не трещины. – CodesInChaos
Ввод ключа - это деталь ... Я планирую создать файл с кодом в нем независимо от размера кода ... Значит, размер кода на самом деле меня не беспокоит. И снова я не пытаюсь сделать мое приложение непогрешимым, что невозможно (я знаю). Я просто пытаюсь избежать первого уровня взлома, который хранит ключ в приложении. Любые идеи, пожалуйста? –