ЯДРА ПЛІС ДЛЯ ШВИДКОГО ЗНАХОДЖЕННЯ ЗВОРОТНИХ ЕЛЕМЕНТІВ ПОЛІВ ГАЛУА
Анотація
У даний час математичною основою опрацювання цифрового підпису є еліптичні криві. При цьому опрацювання точок еліптичної кривої базується на виконанні операцій у полях Галуа GF(pm), порядок поля може сягати значень 21000, елементи поля може бути представлено у поліноміальному та нормальному базисах. Великий час програмного виконання операцій у полях Галуа ускладнює злом комп’ютерних систем, для захисту яких використовується цифровий підпис. З цієї точки зору двійкові поля мають перевагу перед полями з іншими характеристиками, особливо – перед простими полями, для яких m=1. За цією ознакою двійкові поля поступаються тільки полям з характеристиками p=3 та p=5. Оскільки сучасні комп’ютери працюють на основі двійкової системи числення, використання двійкових полів Галуа для створення реалізованих на ПЛІС вузлів систем захисту інформації виправдане. Існує два поширені методи ділення в полі Галуа GF(2m):
заснований на використанні множення розширений алгоритм Евкліда для поліноміального базису і для нормального базису - метод, заснований на знаходженні зворотного елемента шляхом піднесенні до степеня. Недоліком першого є залежність часу ділення від значення операндів, що може сприяти злому систем захисту інформації. Тому в даній роботі методи знаходження зворотного елемента в поліноміальному базисі, що забезпечують незалежність часу знаходження від значення операндів, аналізувалися для вибору методу з кращими показниками апаратної і часової складності при їх реалізації на ПЛІС. У роботі аналізувалися методи, на основі використання яких можна створити
VHDL-опис функціонально закінченого вузла ПЛІС (ядра ПЛІС з функцією знаходження зворотного елемента - інвертора), який можна вбудувати в спеціалізований процесор для опрацювання елементів полів Галуа, який будується у ПЛІС. У роботі наведено функціональну схему процесора та показано, які додаткові елементи в його складі потрібні для реалізації кожного з розглянутих методів. Було прийнято, що до складу процесора входить суматор та паралельний матричний помножувач. Було розглянуто три методи знаходження зворотних елементів: метод, що вимагає додаткових вузлів піднесення до квадрату (квадратора) та знаходження квадратного кореня, метод, що вимагає тільки додаткового квадратора, та метод, що не вимагає додаткових операційних вузлів. Для реалізації кожного з методів у ПЛІС було створено спеціалізований генератор ядер інверторів, який забезпечував створення VHDL-описів за характеристиками, які задавалися під час проведення досліджень: характеристику поля, утворюючий поліном, метод знаходження зворотного елемента. Усі розроблені ядра інверторів було перевірено (для m=64)
шляхом моделювання та імплементовано до складу ПЛІС. За результатами моделювання визначалися часова складність, а за результатами імплементації – апаратна складність кожного з розроблених ядер. Результати оцінювання складностей наведено у роботі. Комплексне оцінювання часової та апаратної складності показало перевагу методу, заснованому на використанні додаткового квадратора.
