Не в состоянии искать большой поток шифров - PullRequest
4 голосов
/ 20 апреля 2011

прошло две недели, а мы все еще выполняем поручения.

Сценарий,

нам удалось транслировать зашифрованное видео с помощью локального веб-сервера, вдохновленного этим. Link

проблема при поиске (индикатор выполнения видео зависает, то же самое работает для обычного файла). CipherInputStream.Seek (pos) не выполняет поиск за пределами буфера.

CipherInputStream cis = null;
...
long skipped = cis.skip(cbSkip);

skipped - это всегда ноль для прыжков в длину. Ссылка

поэтому мы прибегаем к BlockSize 1 (слабое шифрование) так что поиск станет неявным.

Я считаю, что ARC4 больше не включен в Android Ссылка . (пожалуйста, скажите мне, что я дезинформирован) , или есть ли другое шифрование (поддерживается Android) , которое будет иметь размер блока 1 .

как имеет конструктор CipherInputStream,

if (!(isStream = cipher.getBlockSize() == 1))

, который не отменяет поведение суперкласса.

, поэтому осталось с несколькими опциями, такими как ARC4 (или какой-либо другой настраиваемый байтовый шифрование) для поиска.

есть ли шанс, что наша жизнь станет проще? нам просто нужно какое-то шифрование для медиа, которое смягчает случайного пользователя. (выключатель скорости)

Любой ответ решит эту проблему:

  • Существует ли какой-либо поддерживаемый Android алгоритм с размером блока 1
  • Или у вас есть ссылки, которые указывают на аналогичные локальные дешифрованные потоковые решения, которые можно искать.
  • Или у нас есть DIY опция только.

1 Ответ

3 голосов
/ 01 мая 2011

Попробуйте счетчик режима шифрования (CTR). Шифрование в режиме счетчика также используется, например, шифрование диска: оно не зависит ни от каких предыдущих блоков, как CBC. Возможно, вам придется перейти к определенному блоку, а затем перейти к определенному байту внутри блока. Вы должны использовать GCM для «контроля целостности», если это то, что вы ищете. Посмотрите, что доступно в надувном замке относительно этих алгоритмов (немного предупреждения: у вас могут возникнуть проблемы с использованием ключей AES с Android, поскольку библиотека (плохо) интегрирована в Android.

...