Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств
Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств
Рис.6.3. Подпрограмма обработки прерываний от INT1(низкий приоритет)
Рис6.4. Подпрограмма обработки прерываний от INT0
(низкий приоритет)
Рис.6.5. Подпрограмма обработки прерываний от T/C0.
(высокий приоритет)
Рис.6.6. Подпрограмма обработки прерываний от УАПП.(высокий приоритет)
Рис.6.1. Алгоритм работы системы взаимодействия с периферийными
устройствами. (начало)
Рис.6.2. Алгоритм работы системы взаимодействия с периферийными
устройствами. (окончание).
-----------------------
Установка RB3
Сохранение Аккумулятора
Сохранание PSW
Начало
Да
Восстановление PSW
Инкремент R1
R0- в начало ключа
Инкремент R0
Сохранение байта ключа по @R0
Инкремент R1
Инкремент R0
Сохранение байта ключа по @R0
Ввод байта ключа
Через Р0 по @R1
Конец
Выход из подпрограммы
Восстановление PSW
Восстановление Акк
Формирование
ключа
i=0,7
R1- в начало ключа в ПЗУ
Сохранение Аккумулятора
Конец
Выход из подпрограммы
Гашение светодиода
задержка
Вкл светодиода
задержка
Гашение светодиода
Да
Восстановление PSW
Потеря входного сигнала?
Установка RB3
Сохранание PSW
R0- в начало ключа
Ввод байта ключа
Через Р0 по @R1
Начало
Сохранение PSW
Установка RB1
Сброс RD(A/D)
Инкремент R1
В R1 адрес
1-го байта?
Инкремент R0
Уст. флага ''шифр''
R0=адрес 1-го байта
В R0 адрес 8-го байта?
Сброс TB8
Флаг ''потеря вх.сигнала''
Считывание порта Р0 и запись в @R0
Конец
Выход из подпрограммы
Конец
Выход из подпрограммы
Считывание УАПП и запись в @R1
Сброс RI
Инкремент R1
R1=адрес 1-го байта
Передача в Р1 дешифрованной информации (@R0)
RB8=1?
Да
TI
Идентифи-кация источника
Принятый байт=0?
RI
Сохранение PSW
Начало
Сброс TI
Восстановление PSW
Передача в УАПП из @R1
Установка RD(A/D)
Установка TB8
Начало
Восстановление Акк
Формирование
ключа
i=0,7
R1- в начало ключа в ПЗУ
Да
Инкремент R0
Счетчик приема= нач.знач
Принят 8-ой байт?
Уст.флага''дешифр''
Да
Начало
Настройка прерываний INT0 и INT1
0
Настройка Т/С0
Настройка УАПП
Инициализация переменных
Установка начальных адресов
Установка счетчика приема
1
Разрешение прерываний
Флаг ''пауза в речи''(прд)
Флаг ‘шифр’
0
1
Установка нач. адресов данных подлежащих шифрованию и зашифрованных данных
P3.2?
1
0
Перенос данных в буфер передачи без шифрования
Шифрование
Сброс флага ''шифр''
Вкл. светодиода
Нет
Да
Потеря входного сигнала
Флаг ‘деш’
Сч. ''пауза в речи''(прм)=нач.значение
0
1
Флаг ''пауза в речи''(прд)
Сброс флага ''деш.''
Дешифрование
Перенос данных из буфера приема без дешифрования
без шифрования
0
P3.2?
Установка нач. адресов данных подлежащих дешифрованию и дешифрованных
данных
1
0
1
Декремент счетчика
''пауза в речи''(прд)
Принятыйбайт=0?
Сохранение Акк
1
1
2
2
Дкеремент сч.приема
Да
Стираем байт из @R1
Да
Нет
Нет
Нет
Нет
Выбор RB2
Счетчик приема=нач.знач.
Установление сигнала RD(D/A)
Сброс сигнала RD(D/A)
Декремент сч. ''пауза в речи''(прм)
Гашение светодиода
Нет
Да
Нет
Нет
Сч. ''пауза в речи''(прд)=нач.значение
|