The paper presentsFPGA implementation of the latest version of Finite Automata Public Key Cryptosystem(FAPKC-4). The change of the throughput/hardware resources in comparison with thebasic cryptosystem (FAPKC) is investigated. These parameters for encryption/decryptionand digital signature is compared. A comparison of software and hardware implementationsof FAPKC-4 is given too.
FPGA implementation of FAPKC-4.pdf Данная работа является продолжением исследований автоматного шифра FAPKC(Finite Automata Public Key Cryptosystem) [1], которые были начаты в [2], в плане оцен-ки эффективности его реализации на базе ПЛИС (Программируемая логическая ин-тегральная схема). В работе сравниваются характеристики базового варианта FAPKCс последней модификацией FAPKC-4, стойкой к атаке, предложенной в [3]. Проведенотакже сравнение по быстродействию ПЛИС-реализации шифра FAPKC-4 с его про-граммной реализацией на языках Perl и PHP.В шифре FAPKC-4 используются обратимые с задержкой автоматы, т. е. автоматы,у которых входное слово восстанавливается по выходному с задержкой на несколькотактов работы, а также автоматы с конечной памятью, значение выходного символакоторых зависит от конечного количества входных и выходных символов в предыду-щие такты работы. Закрытый ключ состоит из двух обратимых нелинейных автома-тов A и B (с небольшой задержкой т1 и т2 соответственно), обратные к которым могутбыть построены с полиномиальной сложностью. Открытый ключ есть последователь-ная композиция автоматов закрытого ключа при известном начальном состоянии. Приэтом по выбранному состоянию композиции вычисляются начальные состояния авто-матов закрытого ключа.При шифровании к открытому тексту добавляются произвольные Т1 + т2 символов.Шифртекст есть реакция автомата открытого ключа в выбранном начальном состо-янии на «расширенное» входное слово. Таким образом, длина шифртекста увеличи-вается на Т1 + т2 символов по сравнению с открытым текстом. При расшифрованиисначала находится реакция в на зашифрованное слово автомата, обратного к B, в егоначальном состоянии. Исходный открытый текст получается как реакция на входноеслово в автомата, обратного к A, в его начальном состоянии, при этом начальныет1 + т2 символов отбрасываются.При подписании сообщения 8 сначала находится реакция 7 автомата, обратногок B, в его начальном состоянии на «расширенное» на Т1 + т2 символов входное слово 8.Подпись s под сообщением 8 получается как реакция на входное слово 7 автомата,обратного к A, в его начальном состоянии. При проверке подписи s подписанное со-общение 8 сравнивается с реакцией x автомата открытого ключа в состоянии, равномпервым Т1 + т2 символам подписи s, на входное слово, образованное остальными сим-волами подписи s.Для изучения эффективности аппаратной реализации шифра FAPKC-4 на базеПЛИС исследовано изменение количества используемых ресурсов и производитель-ности ПЛИС по сравнению с такими же характеристиками базовой шифрсистемыFAPKC, а также проведено сравнение ПЛИС-реализации шифра FAPKC-4 с его про-граммной реализацией.На языке VHDL реализованы и в САПР Xilinx WebPack ISE на ПЛИС Spartan-3XC3S1500 промоделированы следующие процедуры шифрсистемы FAPKC-4: шифро-вание, расшифрование, подписание и верификация цифровой подписи. Усложнениеалгоритма существенно повлияло (в сторону уменьшения в 5-10 раз) только на макси-мальную рабочую частоту ПЛИС, а число используемых ресурсов ПЛИС практическине изменилось. При этом коэффициент эффективности ПЛИС-реализации FAPKC-4,как и у базового FAPKC, остался на порядок лучше, чем у RSA [4], т. е. использованиешифра FAPKC-4 остаётся, как и ранее, предпочтительней (при этом для FAPKC-4 бра-лась задержка, обеспечивающая его стойкость, сравнимую со стойкостью RSA-1024).Шифртекст, получаемый в результате шифрования при величине задержки, обеспечи-вающей стойкость к атаке декомпозиции, длиннее открытого текста на 16 байт. Про-цедура получения цифровой подписи имеет характеристики, незначительно отлича-ющиеся от аналогичных характеристик процедуры расшифрования, а верификацияподписи требует значительно меньшее число ресурсов, чем шифрование, и работаетприблизительно в пять раз быстрее.Программно шифрсистема FAPKC-4 реализована на языках Perl и PHP и проте-стирована на компьютере с процессором Intel Core i5-2300, при этом PHP-реализацияимеет быстродействие в среднем в 1,34 раза меньше, чем ПЛИС-реализация на Virtex-5XCVLX330T, а Perl-реализация в 2,6 раза медленнее PHP-реализации.В целом, проведённые исследования показывают, что шифр FAPKC-4, как и ба-зовый FAPKC, имеет коэффициент эффективности ПЛИС-реализации намного боль-ше, чем RSA, но FAPKC-4 существенно медленнее FAPKC. Кроме того, реализацияFAPKC-4 на ПЛИС имеет более высокое быстродействие по сравнению с программ-ными реализациями этой шифрсистемы.
Ковалев Дмитрий Сергеевич | ОАО «Информационные спутниковые системы», г. Железногорск | инженер-программист отдела технических средств и ремонтавычислительной техники | dmisk@hotmail.com; dmisk@iss-reshetnev.ru |
Tao R. J. Finite Automata and Application to Cryptography. Tsinghua University Press and Springer, 2008.
Ковалев Д. С., Тренькаев В. Н. Реализация на ПЛИС шифра FAPKC // Прикладная дискретная математика. Приложение. 2011. №4. С. 33-34.
Bao F. and Igarashi Y. Break Finite Automata Public Key Cryptosystem // LNCS. 1995. V. 944. P. 147-158.
Wollinger T., Guajardo J., and Paar C. Cryptography on FPGAs: State of the art implementations and attacks // ACM Transactions on Embedded Computing Systems. 2004. V. 3. Iss. 3. P. 534-574.