Дан готовый IP-блок, предназначенный для криптопреобразования входных данных с разрядностью 128 бит и ключом разрядностью 256 бит в соответствии с алгоритмами, изложенными в [3].
Детали поддерживаемых режимов криптопреобразований изложены в [4].
Упрощённая структурная схема блока показана на рисунке 4.1.
(рис 4.1) Упрощенная структура демонстрационного примера
Узел зашифрования реализует следующие режимы работы:
В блоке отсутствуют средства внешнего доступа (запись или чтение) к итерационным ключам преобразования. Ключ преобразования может быть только записан.
Узел расшифрования включается только в режимах простой замены и простой замены с зацеплением. В остальных режимах в нём нет необходимости в силу обратимости преобразований. В случае синтеза для условий использования какого-либо одного режима (кроме простой замены или простой замены с зацеплением) этот узел исключается из потока обработки данных и может быть удален синтезаторами логики при оптимизации.
Требуется выбрать интерфейсы для подключения к процессорному ядру RISC-V, реализовать аппаратные средства подключения (обертку IP блока), проверить работу на тренировочной плате.
В качестве интерфейсов были выбраны AMBA APB - для управления режимами работы и загрузки ключей шифрования в IP блок; и AXI Stream для потока данных на шифрование. Дополненная структура IP блока (обертка) приведена на рисунке 4.2.
(рис 4.2) Дополненная структура демонстрационного примера
APB Control Port. Узел управления режимами через интерфейс APB [5]. Используется для загрузки ключей шифрования, начальных значений блоков (IV), смены режима зашифровывания, проверки текущего состояния IP- блока. В узле физически отсутствуют каналы пересылок информации, которые могли бы быть использованы для чтения информации об уже загруженном ключе.
AXI Stream Front End. Узел отработки протокола интерфейса AXI Stream [6] при приеме данных. Дополнительный функционал - преобразование ширины шины данных из допустимых в AXI Stream (от 8 бит до 128) в шину данных Кузнечик IP (128 бит, фиксированная).
AXI Stream Back End. Узел преобразования потока данных от узла зашифровывания/расшифровывания в интерфейс AXI Stream, с разрешенной шириной шины данных (от 8 до 128 бит).
AXI Stream Control FSM. Узел управления пересылками данных. Конечный автомат обеспечивает чтение данных из буферов Front End, обработку служебных сигналов Кузнечик IP, размещение данных в FIFO Back End и отработку протокола обмена по выходной шине AXI Stream.
Кузнечик IP - ГОСТ Р 34.13-2015 - узел зашифровывания и расшифровывания данных в соответствии с алгоритмами ГОСТ Р 34.13-2015. Условное графическое отображение IP-блока представлено на рисунке 4.3.
(рис 4.3) УГО демонстрационного примера
Назначения сигналов представлены в таблице 4.1:
| Название | Направление | Акт. уровень | Описание |
|---|---|---|---|
| Системные сигналы | |||
| ACLK | in | $$\uparrow$$ | Тактовый сигнал интерфейса AXI Stream (Slave и Master), тактовый сигнал узла криптопреобразования (Кузнечик IP) |
| PCLK | in | $$\uparrow$$ | Тактовый сигнал интерфейса APB |
| nRst | in | '0' | Системный сигнал перезапуска |
| PRESETn | in | '0' | Сигнал перезапуска интерфейса APB |
| IRQ | out | '1' | Сигнал прерывания для инициатора запроса по шине APB, активный уровень формируется при некоторых изменениях состояния IP-блока |
| Сигналы интерфейса APB | |||
| PAddr | in | Addr | Адрес элемента доступа. Адресация побайтная, Потенциально доступно для доступа 256 байт |
| PWDATA | in | Data | Данные для записи. Ширина шины данных зависит от параметра синтеза и может быть 8, 16 или 32 байта |
| PRDATA | out | Data | Данные при чтении. Ширина шины данных зависит от параметра синтеза и может быть 8, 16 или 32 байта |
| PENABLE | in | '1' | Активный уровень означает прохождение второго и последующих циклов тактового сигнала при обращении к устройству |
| PSEL | in | '1' | Источник запроса генерирует активный уровень индивидуального сигнала PSEL при обращении к каждому устройству |
| PWRITE | in | '1' | Активный уровень означает обращение к устройству для записи. |
| PSTRB | in | '1' | Строб разрешения пересылки отдельного байта в составе шины данных. |
| PREADY | out | '1' | Сигнал готовности к обмену в данном обращении от устройства - приемника запроса |
| PSLVERR | in | '1' | Активный уровень означает ошибку доступа - не разрешенная для обмена зона адресного пространства |
| Сигналы интерфейса AXI Stream (Slave) | |||
| ASF_TDATA | in | Data | AXI Stream Front End Transmission Data. Данные, пересылаемые по интерфейсу AXI Stream. Допустимая ширина шины данных может быть 8,16,32,64 или 128 бит. |
| ASF_TVALID | in | '1' | Признак валидности пересылаемых данных |
| ASF_TREADY | out | '1' | Признак готовности устройства к приёму данных |
| ASF_TDEST | in | - | Назначение пересылаемого пакета данных. Может принимать следующие значения: |
| ASF_TKEEP | in | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASF_TSTRB | in | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASF_TLAST | in | '1' | Признак последнего слова в пересылаемом пакете. |
| Сигналы интерфейса AXI Stream (Master) | |||
| ASB_TDATA | out | Data | AXI Stream Back End Transmission Data. Данные, пересылаемые по интерфейсу AXI Stream. Допустимая ширина шины данных может быть 8,16,32,64 или 128 бит. |
| ASB_TVALID | out | '1' | Признак валидности пересылаемых данных |
| ASB_TREADY | in | '1' | Признак готовности внешнего приемника устройства к приёму данных |
| ASB_TDEST | out | '1' | Назначение пересылаемого пакета данных. Может принимать следующие значения: |
| ASB_TKEEP | out | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASB_TSTRB | out | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASB_TLAST | out | '1' | Признак последнего слова в пересылаемом пакете |
Любые более детальные описания сигналов шин APB и AXI Stream и логики их применения могут быть прочитаны только в официальных документах разработчика интерфейсов - [5, 6].
В ходе разработки предлагается соблюдать следующие требования и соглашения.
Префикс - уточнение параметров сигнала. Может принимать следующие значения:
Суффикс - уточнение типа активности сигнала. Может принимать следующие значения:
Имя сигнала - осмысленное и понятное имя, отражающее функциональное назначение объявляемого сигнала.
Элементы имени могут разделяться как подчерками:
Так и заглавными буквами:
Сигналу может присваиваться значение только в пределах одного простого:
Y <= A or B;
Или сложного оператора:
if (x = '0') then Y <= A xor D; else if (data_count = x"00") then Y <= not(A) or (B and C); end if; end if;
Для формирования индивидуальных заданий можно воспользоваться следующим перечнем направлений разработки.
Дан готовый IP-блок, предназначенный для криптопреобразования входных данных с разрядностью 128 бит и ключом разрядностью 256 бит в соответствии с алгоритмами, изложенными в [3].
Детали поддерживаемых режимов криптопреобразований изложены в [4].
Упрощённая структурная схема блока показана на рисунке 4.1.
(рис 4.1) Упрощенная структура демонстрационного примера
Узел зашифрования реализует следующие режимы работы:
В блоке отсутствуют средства внешнего доступа (запись или чтение) к итерационным ключам преобразования. Ключ преобразования может быть только записан.
Узел расшифрования включается только в режимах простой замены и простой замены с зацеплением. В остальных режимах в нём нет необходимости в силу обратимости преобразований. В случае синтеза для условий использования какого-либо одного режима (кроме простой замены или простой замены с зацеплением) этот узел исключается из потока обработки данных и может быть удален синтезаторами логики при оптимизации.
Требуется выбрать интерфейсы для подключения к процессорному ядру RISC-V, реализовать аппаратные средства подключения (обертку IP блока), проверить работу на тренировочной плате.
В качестве интерфейсов были выбраны AMBA APB - для управления режимами работы и загрузки ключей шифрования в IP блок; и AXI Stream для потока данных на шифрование. Дополненная структура IP блока (обертка) приведена на рисунке 4.2.
(рис 4.2) Дополненная структура демонстрационного примера
APB Control Port. Узел управления режимами через интерфейс APB [5]. Используется для загрузки ключей шифрования, начальных значений блоков (IV), смены режима зашифровывания, проверки текущего состояния IP- блока. В узле физически отсутствуют каналы пересылок информации, которые могли бы быть использованы для чтения информации об уже загруженном ключе.
AXI Stream Front End. Узел отработки протокола интерфейса AXI Stream [6] при приеме данных. Дополнительный функционал - преобразование ширины шины данных из допустимых в AXI Stream (от 8 бит до 128) в шину данных Кузнечик IP (128 бит, фиксированная).
AXI Stream Back End. Узел преобразования потока данных от узла зашифровывания/расшифровывания в интерфейс AXI Stream, с разрешенной шириной шины данных (от 8 до 128 бит).
AXI Stream Control FSM. Узел управления пересылками данных. Конечный автомат обеспечивает чтение данных из буферов Front End, обработку служебных сигналов Кузнечик IP, размещение данных в FIFO Back End и отработку протокола обмена по выходной шине AXI Stream.
Кузнечик IP - ГОСТ Р 34.13-2015 - узел зашифровывания и расшифровывания данных в соответствии с алгоритмами ГОСТ Р 34.13-2015. Условное графическое отображение IP-блока представлено на рисунке 4.3.
(рис 4.3) УГО демонстрационного примера
Назначения сигналов представлены в таблице 4.1:
| Название | Направление | Акт. уровень | Описание |
|---|---|---|---|
| Системные сигналы | |||
| ACLK | in | $$\uparrow$$ | Тактовый сигнал интерфейса AXI Stream (Slave и Master), тактовый сигнал узла криптопреобразования (Кузнечик IP) |
| PCLK | in | $$\uparrow$$ | Тактовый сигнал интерфейса APB |
| nRst | in | '0' | Системный сигнал перезапуска |
| PRESETn | in | '0' | Сигнал перезапуска интерфейса APB |
| IRQ | out | '1' | Сигнал прерывания для инициатора запроса по шине APB, активный уровень формируется при некоторых изменениях состояния IP-блока |
| Сигналы интерфейса APB | |||
| PAddr | in | Addr | Адрес элемента доступа. Адресация побайтная, Потенциально доступно для доступа 256 байт |
| PWDATA | in | Data | Данные для записи. Ширина шины данных зависит от параметра синтеза и может быть 8, 16 или 32 байта |
| PRDATA | out | Data | Данные при чтении. Ширина шины данных зависит от параметра синтеза и может быть 8, 16 или 32 байта |
| PENABLE | in | '1' | Активный уровень означает прохождение второго и последующих циклов тактового сигнала при обращении к устройству |
| PSEL | in | '1' | Источник запроса генерирует активный уровень индивидуального сигнала PSEL при обращении к каждому устройству |
| PWRITE | in | '1' | Активный уровень означает обращение к устройству для записи. |
| PSTRB | in | '1' | Строб разрешения пересылки отдельного байта в составе шины данных. |
| PREADY | out | '1' | Сигнал готовности к обмену в данном обращении от устройства - приемника запроса |
| PSLVERR | in | '1' | Активный уровень означает ошибку доступа - не разрешенная для обмена зона адресного пространства |
| Сигналы интерфейса AXI Stream (Slave) | |||
| ASF_TDATA | in | Data | AXI Stream Front End Transmission Data. Данные, пересылаемые по интерфейсу AXI Stream. Допустимая ширина шины данных может быть 8,16,32,64 или 128 бит. |
| ASF_TVALID | in | '1' | Признак валидности пересылаемых данных |
| ASF_TREADY | out | '1' | Признак готовности устройства к приёму данных |
| ASF_TDEST | in | - | Назначение пересылаемого пакета данных. Может принимать следующие значения: |
| ASF_TKEEP | in | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASF_TSTRB | in | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASF_TLAST | in | '1' | Признак последнего слова в пересылаемом пакете. |
| Сигналы интерфейса AXI Stream (Master) | |||
| ASB_TDATA | out | Data | AXI Stream Back End Transmission Data. Данные, пересылаемые по интерфейсу AXI Stream. Допустимая ширина шины данных может быть 8,16,32,64 или 128 бит. |
| ASB_TVALID | out | '1' | Признак валидности пересылаемых данных |
| ASB_TREADY | in | '1' | Признак готовности внешнего приемника устройства к приёму данных |
| ASB_TDEST | out | '1' | Назначение пересылаемого пакета данных. Может принимать следующие значения: |
| ASB_TKEEP | out | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASB_TSTRB | out | '1' | Индикатор валидности содержимого соответствующего байта, пересылаемого по шине. [6, page 2-24] |
| ASB_TLAST | out | '1' | Признак последнего слова в пересылаемом пакете |
Любые более детальные описания сигналов шин APB и AXI Stream и логики их применения могут быть прочитаны только в официальных документах разработчика интерфейсов - [5, 6].
В ходе разработки предлагается соблюдать следующие требования и соглашения.
Префикс - уточнение параметров сигнала. Может принимать следующие значения:
Суффикс - уточнение типа активности сигнала. Может принимать следующие значения:
Имя сигнала - осмысленное и понятное имя, отражающее функциональное назначение объявляемого сигнала.
Элементы имени могут разделяться как подчерками:
Так и заглавными буквами:
Сигналу может присваиваться значение только в пределах одного простого:
Y <= A or B;
Или сложного оператора:
if (x = '0') then Y <= A xor D; else if (data_count = x"00") then Y <= not(A) or (B and C); end if; end if;
Для формирования индивидуальных заданий можно воспользоваться следующим перечнем направлений разработки.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.