Хороший генератор случайных чисел на самом деле не нуждается в улучшении, и даже если бы оно имело место, неясно, поможет ли время пользовательского ввода.
Может ли пользователь когда-либо обнаруживать шаблон в дорожках, выбранных LCG? Какой бы ни была ваша платформа, вполне вероятно, что ее встроенная функция random()
будет достаточно хорошей (то есть она будет казаться полностью случайной для пользователя).
Однако, если вы все еще беспокоитесь, используйте RNG криптографического качества, засеянный данными из выделенного источника случайности в вашей системе. В настоящее время многие из этих системных RNG используют действительно случайные биты, генерируемые аппаратными средствами в результате квантовых событий. Однако они могут создавать медленные биты, поэтому лучше использовать их в качестве начального числа для быстрого алгоритмического PRNG.
Теперь, если вы не уверены, что эти подходы достаточно хороши, вы должны очень скептически отнестись к тому, что выбор времени для набора текста является хорошим источником. Клавиши, которые нажимают пользователи, являются весьма предсказуемыми, учитывая ограниченный используемый словарь и шаблоны, которые обычно появляются в этом ограниченном наборе слов. Эта предсказуемость в последовательностях букв приводит к высокой степени предсказуемости во времени между нажатиями клавиш.
Я знаю, что многие программы безопасности используют эту технику во время генерации ключей. Я не думаю, что это чистое змеиное масло, но это может быть плацебо, чтобы успокоить пользователей. Хороший продукт будет зависеть от системы RNG.