Асимметричный алгоритм шифрования (не подпись!) на основе ECC160
Добрый вечер!
Очень не хватает асимметричной криптографии в ключе и в API.
RSA очень ресурсоёмкий и для ARM не подходит, а ECC на порядок легче и более криптостойкий (вроде ECC-160 аналогичен по криптостойкости RSA-2048).
С таким алгоритмом можно особо не заботиться о публичном ключе, чего не сказать о симметричных вариантах.
Примерное применения:
- частичное шифрование обмена между модулями/классами приложения (шифрование параметров методов)
- частичное шифрование обмена между клиентом и сервером (ключ установлен на сервере)
- выборочное периодическое шифрование/дешифрование полей БД (небольших и редко используемых таблиц)
Насколько я понимаю, алгоритм шифрования и дешифровки слабо отличается от алгоритма подписывания и проверки подписи (поправьте, если я не прав). Т.е. несложно реализовать аппаратную дешифрацию и организовать работу через ключ практически в любом методе, сделав невозможной эмуляцию и взлом.
Естественно, для подписи и шифрования нужно использовать разные пары ключей.