Отказ от ответственности: я создаю программное обеспечение, которое предназначено для процессоров массового рынка. Так что я не знаком с нишевыми рынками, где использование ПЛИС имело бы смысл.
Очень сложно разработать криптографический алгоритм. Спроектировать что-то, что работает функционально, легко, но спроектировать что-то безопасное сложно — и если вам не нужно что-то безопасное, нет смысла заниматься криптографией.Как следствие, криптография имеет тенденцию использовать лишь небольшое количество стандартных примитивов. Это еще больше усугубляется тем фактом, что одним из самых распространенных вариантов использования криптографии является общение, и для этого требуется, чтобы все стороны согласовали алгоритмы, что снова стандартизирует небольшое количество примитивов.
В результате нет места для нишевых примитивов. Поэтому, если что-то стоит ускорить, обычно стоит либо разработать ASIC, либо даже расширить процессор общего назначения. Например, ускорение AES доступно на большинстве высокопроизводительных процессоров (x86, arm, …) и растущем количестве микроконтроллеров. Это все чаще относится и к SHA2. Ускорение криптографии с открытым ключом менее распространено, но распространено на некоторых рынках, таких как смартфоны и некоторые сегменты рынка микроконтроллеров.
Я могу вспомнить только два нишевых приложения, в которых стоит использовать выделенные схемы. Одним из них является работа методом грубой силы для таких приложений, как взлом паролей и добыча криптовалюты, которые обычно используют стандартные примитивы очень специфическим образом, где может быть выгодно создать выделенную схему для этого конкретного способа. Для этих приложений используются все готовые ЦП, готовые графические процессоры, ASIC и FPGA, в зависимости от характера и объема работы. Другое приложение — это эксперименты с новыми алгоритмами или новыми методами реализации. Для этого варианта использования FPGA определенно стоит — тогда вы разрабатываете специализированную схему (или нет) на основе наблюдений, сделанных на FPGA.