Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekz5_massiv.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
121 Кб
Скачать
☆

9. Пример vhdl проекта криптографического процессора, построенного с использованием массивов

Этот криптографический процессор реализует алгоритм шифрования, основанный на методе замены символов. Так в частности, если во входной последовательности символов-ключей поступающих на входной порт dach_in обнаруживается символ 'r', то в исходном шифруемом тексте, хранимом в массиве mas2, текущий символ заменяется символом 'r'.

Процедура замены символов реализуется в теле оператора process (clk1) , помеченного меткой pr1 .

В теле оператора process (clk2) , помеченного меткой pr2, реализуется процедура пересылки зашифрованного текста на выходной порт dach_out .

Library ieee;

use ieee.std_logic_1164.all;

entity mas_ch1 is

port ( clk1 :in std_logic;

clk2 :in std_logic;

dach_in : in character;

dach_out : out character);

end mas_ch1;

architecture mas_ch1a of mas_ch1 is

type mas1 is array ( 1 to 8 ) of character ;

signal mas2 : mas1 := "mashines"; -- шифруемый текст

begin

pr1 : process (clk1)

variable k : integer range 0 to 8 := 0;

begin

if clk1'event and clk1 = '1' then

k :=( k )+1;

if dach_in = 'r' and k < 8 then

mas2(k) <= dach_in; -- замена симв. в исходном тексте

end if;

end if;

end process;

process(clk2)

variable i : integer := 0;

begin

if clk2'event and clk2 = '1' and i < 8 then

i := (i ) +1;

dach_out <= mas2(i);

end if;

end process;

end mas_ch1a;

Примечание: Дополнительный материал по объявлению и определению массивов можно найти в папке labor4 (проект mas_pol ). В папке labor4 содержатся также несколько примеров криптографических процессоров, при построении которых использовались массивы.

19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]