Документы просто не дают ответа.
Microsoft попыталась объяснить предмет понятно, но все равно остается двусмысленность. По крайней мере, в нашем случае.
У нас есть зашифрованный поток MP4. Он содержит блоки «SampleEncryptionBox» или «PIFF», которые содержат 8-байтовые = 64-битные векторы инициализации для зашифрованных блоков. НО: фактический «блок счетчика» для расшифровки видеоданных, зашифрованных в «режиме счетчика AES-128», составляет 128-бит. Я не знаю, куда именно поставить капельницу!!
В документе PIFF говорится, что 16-байтовый IV — это весь блок счетчика (очевидно) для режима AES-CTR. . Кроме того, 8-байтовый IV помещается в начало блока счетчика для режима AES-ECB (стр. 17). Но для 8-байтового IV в режиме AES-CTR это ничего не говорит!
В этом документе RFC говорится, что 128-битное число должно состоять из 4-байтового одноразового номера + 8 -байт IV + 4-байтовый счетчик. А значение Nonce должно быть взято из дополнительных 4 байтов для основного 128-битного ключа AES. Я могу получить 128-битный ключ только по заголовку защиты, где мне взять 4-байтовый одноразовый номер??
Любые дополнительные знания будут высоко оценены.