если я правильно понял, то следуя их схеме, по битам и логике все совпадает:
1)консоль и батарея содержат одинаковый набор заранее определенных ключей шифрации
K1, K2, ... KN
2)то что следует за 80-й командой в запросе, вероятно, номер ключа (01, 02, 04, 08, D9) который будет использоваться во время сеанса
N
3)далее в запросе идет 64-битный кусок (первая часть) 128-битного кода обмена 1 (задается консолью)
R1
4)на основании этого кода (64бит) и константы (64бит), определенной по номеру ключа, батарея формирует ответ, который затем шифруется самим ключом (в итоге 128бит)
ENC(Kn, (R1+C1n))
5)от закодированного ответа берется вторая часть (64бита) - код ответа, к ней прилагается 64-битный кусок кода обмена 2 (задается батареей) и отсылается приставке
[part of ENC(Kn, (R1+C1n))] + R2
6)приставка сверяет преобразованный ею (по той же схеме) код обмена и полученный в ответе от батареи и делает вывод о подлинности батареи (так как она знает нужный ключ).
далее если батарея определена как "своя", наступает очередь приставки представить себя:
7) на основании полученного куска R2 и заданного ранее ключа Kn приставка формирует ответ батарее
ENC(Kn, (R2+C2n))
8) отрезает от него 64 бита и передает батарее, скорее всего в 81-й команде
9) батарея делает своё заключение о легитимности консоли))))
Таким образом, если судить по описанию, и в приставке и в батарейке хранятся одинаковые ключи и константы.
Последний раз редактировалось Ins|der; 27.09.2010 в 17:04.
|