Инструкция по эксплуатации Rainbow Electronics DS1961S
Страница 21
DS1961S
21 из 38
опускаться ниже 2,8В. Одновременно мастер вычисляет MAC-код на основе тех же данных, и по
истечении промежутка времени t
CSHA
передает его в DS1961S как доказательство своей
авторизации для записи в EEPROM. После этого мастер должен выждать время t
PROG
, в течение
которого напряжение на 1-проводной шине не должно опускаться ниже 2,8В. Если MAC-код,
сгенерированный DS1961S, совпадает с MAC-кодом, который вычислил мастер, DS1961S
устанавливает свой флаг AA и целиком копирует содержимое блокнота в EEPROM данных. По
окончании задержки копирования мастер должен прочитать хотя бы один байт. Считанное
значение AAh говорит о том, что копирование прошло успешно. Значение 00h говорит об ошибке
копирования в результате несовпадения вычисленного MAC-кода с MAC-кодом, присланным
мастером. Значение FFh говорит об ошибке копирования в результате наличия защиты от записи
или некорректной последовательности авторизации.
Таблица 3a. ВХОДНЫЕ ДАННЫЕ SHA-1 ДЛЯ КОМАНДЫ КОПИРОВАНИЯ БЛОКНОТА
ПРИ ЗАПИСИ В СТРАНИЦУ ПАМЯТИ ДАННЫХ
M0[31:24] = (SS+0)
M0[23:16] = (SS+1)
M0[15:8] = (SS+2)
M0[7:0] = (SS+3)
M1[31:24] = (PP+0)
M1[23:16] = (PP+1)
M1[15:8] = (PP+2)
M1[7:0] = (PP+3)
M2[31:24] = (PP+4)
M2[23:16] = (PP+5)
M2[15:8] = (PP+6)
M2[7:0] = (PP+7)
M3[31:24] = (PP+8)
M3[23:16] = (PP+9)
M3[15:8] = (PP+10)
M3[7:0] = (PP+11)
M4[31:24] = (PP+12)
M4[23:16] = (PP+13)
M4[15:8] = (PP+14)
M4[7:0] = (PP+15)
M5[31:24] = (PP+16)
M5[23:16] = (PP+17)
M5[15:8] = (PP+18)
M5[7:0] = (PP+19)
M6[31:24] = (PP+20)
M6[23:16] = (PP+21)
M6[15:8] = (PP+22)
M6[7:0] = (PP+23)
M7[31:24] = (PP+24)
M7[23:16] = (PP+25)
M7[15:8] = (PP+26)
M7[7:0] = (PP+27)
M8[31:24] = (SP+0)
M8[23:16] = (SP+1)
M8[15:8] = (SP+2)
M8[7:0] = (SP+3)
M9[31:24] = (SP+4)
M9[23:16] = (SP+5)
M9[15:8] = (SP+6)
M9[7:0] = (SP+7)
M10[31:24] = MP
M10[23:16] = (ID+0)
M10[15:8] = (ID+1)
M10[7:0] = (ID+2)
M11[31:24] = (ID+3)
M11[23:16] = (ID+4)
M11[15:8] = (ID+5)
M11[7:0] = (ID+6)
M12[31:24] = (SS+4)
M12[23:16] = (SS+5)
M12[15:8] = (SS+6)
M12[7:0] = (SS+7)
M13[31:24] = FFh
M13[23:16] = FFh
M13[15:8] = FFh
M13[7:0] = 80h
M14[31:24] = 00h
M14[23:16] = 00h
M14[15:8] = 00h
M14[7:0] = 00h
M15[31:24] = 00h
M15[23:16] = 00h
M15[15:8] = 01h
M15[7:0] = B8h
Условные обозначения
Mt
Входной буфер блока SHA
0 < t < 15; 32-битные слова
(SS + N)
Байт N секретного кода; секретный код начинается с адреса 0080h
(См. карту памяти)
(PP + N)
Байт N страницы памяти; страницы памяти начинаются по
адресам 0000h, 0020h, 0040h и 0060h (См. карту памяти)
(SP + N)
Байт N блокнота
MP
MP[7:3] = 00000b,
MP[2:0] = T7:T5
(ID+N)
Байт N идентификационного регистра
Последний байт идентификационного регистра не используется
Особое внимание требуется при копировании данных в страницу регистров. Для предотвращения
случайной блокировки регистра специальной функции или байта пользователя рекомендуется
сначала считать страницу регистров, а затем записать ее со всеми необходимыми изменениями в
блокнот. При копировании данных в страницу регистров (или в память секретного кода с
помощью команды копирования блокнота) входными данными M1..M7 для блока SHA является
текущий секретный код (M1, M2), текущее содержимое страницы регистров (M3, M4), все
содержимое идентификационного регистра (M5, M6) и 4 байта FFh (M7), как показано в таблице
3B. Как следствие, при использовании DS1963S в качестве сопроцессора для вычисления MAC-