Czech Entropy PRNG Начнем публикацию Android Java проекта программного синхронного генератора "случайных" чисел (PRNG) под условным названием Czech Entropy PRNG Синхронный - значит имея одинаковые версии Czech Entropy PRNG , используя одинаковый исходный текст (на английском языке) или набор чисел (текст и числа больше 100 символов), мы получим одинаковый массив псевдослучайных чисел на любом количестве смартфонов. При этом между ними не будет никакого взаимодействия. Массив случайных чисел можно использовать для XOR шифрования. Шифр Вернама. Т.к. программные генераторы изначально не предназначены для создания истинно случайных чисел, в приложении Czech Entropy PRNG предприняты специальные меры для повышения качества генерируемого ключа (массива чисел). Генерируется всего 60 чисел. В коротких массивах сложно выявить закономерности. Да, можно получить экземпляр приложения и проанализировать его код, понять алгоритм работы. На этот случай предус...
Encryption TTS - Text To Speech позволяет озвучить текст синтезированной речью. При этом объём данных возрастает в десятки тысяч раз. Далее производим выборку небольшого количества чисел 50-60 значений. Оцениваем качество энтропии. Если требуется улучшение, снова делаем выборку из звукового файла с другими параметрами. Выбираем из второго массива нужное количество чисел и заменяем в первом массиве. Снова оцениваем качество энтропии. И т.д. Если нужно больше 50-60 "случайных чисел". Нужно использовать другой алгоритм преобразования исходных данных. Например, TTS с другими характеристиками - выбрать другой голос, темп, качество, тембр и т.д. Отдельный вариант - обработка специально написанными звуковыми фильтрами. В результате получится другой звуковой файл. Далее. Часть чисел записывается на вход TTS для создания нового звукового файла. ... Так можно делать много раз. При этом вести статистику, чтобы избегать повторений. Если нужно немного чисел, то можно генерир...
Шумовые потоки Если оцифровать тепловой шум диода (или транзистора), то получится качественный генератор случайных чисел. Такой поток можно "расщепить" на много отдельных потоков. Например, на десять потоков - просто равномерно отправлять каждое из 10 поступающих чисел в свой порт. Каждый из этих потоков останется случайным. И вот здесь начинается интересное для изобретательства. Например. Если выбирать из потока блоки по 10 чисел, то получим 10 "симметричных" потоков, которые так же будут потоками с случайными числами. В простом случае значения из потока №1 можно использовать для операции XOR с значениями потока №4 (например). Сторона, шифрующая сообщение, и сторона, декодирующая сообщение, могут по какому-то алгоритму определить, когда в потоке начался ключ. Посторонний наблюдатель никак не сможет это определить. Но это только простой вариант. Постепенно дойдем до использования громадных объектов программирования. Это интересно. We invent to order
Комментарии
Отправить комментарий