| ||||
| ||||
Mouse movement & timing - as non-hardware, user-dependent source of cryptographically strong (secure) random sequence? Уважаемые господа, здравствуйте! При пользовании CSP мы наблюдали возможность для генерации ключевой пары использовать движение курсора мыши. На данный момент перед нами стоит аналогичная проблема, а посему не откажите в любезности поделиться опытом. 1).Мы ознакомились с рекомендациями RFC#1750 "Randomness recommendations..." и решили реализовать в качестве non-hardware генератора случайной последовательности – модуль, собирающий пользовательские данные от движения курсора мыши в совокупности с замерами времени. Но, поскольку оба этих источника являются недостаточно, в криптографическом смысле, энтропийными хотели бы у Вас поинтересоваться как нам собранные данные «причесать» т.е. привести к требуемым статистическим характеристикам. Причём, интерес представляет именно алгоритм «выборки чисто энтропийных бит» из суммарной последовательности, а не последующее de-skew путём хэширования или архивации по LZ. И что было бы совсем неплохо, так если бы присутствовали ссылки на какие-либо авторитетные источники (разумеется включая Ваши разработки). 2). Существует ли программный инструментарий для проверки статистических свойств сгенерированных последовательностей на предмет их рандомизации «по правилам», например, по таким, какие приводятся в одном из нижеуказанных источников: - Гл.5 пункт 5.2 «Random bit generation» книги "A.J.Menezes,P.C.Oorschot,S.A.Vanstone - Handbook of Applied Cryptography"; - NIST Special Pub. 800-22 “A statistical test suite for random & pseudorandom number generators…” Заранее признательны. | ||||
Ответы: | ||||
| ||||
Здравствуйте, Давайте уточним Ваш вопрос. > Но, поскольку оба этих источника являются недостаточно, в криптографическом смысле, энтропийными Не достаточно "энтропийных" источников не бывает. Практически всегда можно накопить достаточное количество информации из сколь угодно "низкоэнтропийного" источника. И вообще, лучше не использовать понятие "энтропия", т.к. оно не очень подходит для этой области, а использовать понятие "распределение случайного числа". > хотели бы у Вас поинтересоваться как нам собранные данные «причесать» т.е. привести к требуемым статистическим характеристикам. И зачем их причёсывать. Достаточно их накапливать. > Причём, интерес представляет именно алгоритм «выборки чисто энтропийных бит» из суммарной последовательности Достаточно "контролировать", что распределение получаемой последовательности соотвествует предполагаемой модели (возможно параметризованной). И длина этой последовательности чисел с этим распределением удовлетворяет заданным требованиям. Успехов. | ||||
| ||||
Здраствуйте. Основополагающими правилами для равновероятности генерируемой случайной последовательности являются постулаты Голомба, но помимо них есть великое множество частотных и корреляционных тестов, на основе которых можно судить о случайности последовательности. Если Вам интересно, то я мог бы прислать свою программу, которая, например , исследует статистические и перемешивающие свойсва гаммы шифра гаммирования A5/1. | ||||