ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
29 апреля
1584272 Топик полностью
Nikolay_Po (Сегодня, 09:04, просмотров: 24) ответил arhiv6 на Берите младший бит с АЦП (можно без остановки ядра) и пропускайте через "von Neumann whitening algorithm". Пример можно посмотреть в библиотеке TrueRandom. Если это будет слишком медленно для вас, можно таким образом сформировать только начальное значение, которым инициализируется любой равномерный ГПСП. Длину повторения ПСП выберите сами, исходя из вашей задачи. Алгоритмы генерации ПСП можете посмотреть у Кнута в "Искусство программирования. Том 2", там целая глава
АЦП мне не нравится тем, что можно насытить его вход. Если устройство попадёт злоумышленнику или врагу, он может сильно снизить энтропию данных от такого решения, даже если программа будет проверять наличие шума. Подавая детерминированный насыщающий сигнал на вход АЦП, можно обмануть программу и облегчить вскрытие шифра. 

С вочдогом и внешней тактовой - такое сделать сложнее. Прямого способа влиять извне на частоту встроенного генератора, используемого вочдогом - нет. Поэтому, контролируя лишь период сбросов по частоте ядра от внешнего генератора, можно убедиться, что частота ядра достаточно высока. А раз так, то и последние биты таймера, из-за расхождения и взаимной нестабильности частот, будут шумными и способов уменьшить энтропию этого шума практически нет.

Помню, начинающий программист микроконтроллеров PIC с форума microchip.com, так, по периоду вочдога, сделал инициализацию ГПСП в декоративных лампочках-свечах. И у него получилось! Поначалу, свечи в его люстре, после включения, мерцали какое-то время абсолютно синхронно!