Я пытаюсь реализовать голосовый вызов безопасности на телефоне. Этапы обработки должны быть следующими.Как зашифровать данные PCM до того, как он закодирован AMRNB
восходящей линии: Пользователь -> Данные PCM (16 бит, 8 кГц) -> Шифрование -> AMRNB кодирование -> Сеть Downlink: Сеть -> AMRNB декодирование -> Дешифрование -> Данные ИКМ -> Пользователь
Единственный часть, на которой я могу сделать шифрование/дешифрование, - это данные PCM в этом случае. Это ограничение всего проекта телефона.
После чего я попробовал,
Обратное положение данных PCM в частотной области до того восходящем следующим образом, PCM - данные> Reverse частоты на основе какого-то правила - -> FFT> IFFT. С помощью этого метода данные PCM скремблируются. Но мы не можем сказать, что это безопасно для вызова безопасности.
Я изучил некоторые алгоритмы шифрования, такие как AES, DES, RSA и т. Д. Но во всех них необходимо использовать несколько байтов (не менее 8) в качестве ввода шифрования. (Пожалуйста, исправьте меня, если я неправильно здесь) Но я думаю, что с таким типом шифрования он не может быть расшифрован после AMRNB-кодирования и декодирования.
Так что мой вопрос, есть ли алгоритм шифрования, который может принимать данные 16bit (один кадр данных PCM в этом гипсе) в качестве открытого текста входа, чтобы удовлетворить этот случай.
Да, шифрование 16-битного кадра небезопасно. Для вещей AMRNB, если шифровать 4 кадра вместе, после AMRNB-кодирования и декодирования данные не могут быть дешифрованы обратно. Но если один фрейм-шифрование, я все еще могу расшифровать их (или большинство из них) обратно после кодирования/декодирования. Я прав? – Bin