Инструкция по эксплуатации Rainbow Electronics DS1961S

Страница 21

Advertising
background image

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-

Advertising