Система криптозащиты в стандарте 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) 
Декремент сч. ''пауза в речи''(прм) 
                             Гашение светодиода 
Нет 
Да 
Нет 
Нет 
Сч. ''пауза в речи''(прд)=нач.значение 
	
	
					
							 |