Wind & Dravos
Я тут подумал, можно ли использовать случайные вибрации от ветрозвона как источник энтропии для генерации ключей. Не мог бы я записать твою установку?
Мне кажется, это был бы замечательный эксперимент, но я бы предпочёл оставить мелодию моих колокольчиков при себе, как тихий вздох. Может, лучше обсудим эту идею?
Конечно, можем обсудить. Просто скажи, какие параметры нужны, и я прогоню симуляцию на бумаге. Без всяких слушаний.
Если ты будешь моделировать, начни с горстки колокольчиков – скажем, четыре или пять. Пусть у каждого будет разная длина, чтобы их основные частоты были разными. Длина – где-то от 20 до 40 сантиметров, чтобы высота звучания была примерно от до первой октавы до соль второй. Замерь затухание колебаний каждого колокольчика; демпфирование должно быть естественным, постоянная времени – где-то 1–2 секунды.
Сэмплируй амплитуду колебаний частотой около 200 Герц – этого вполне достаточно, чтобы уловить нюансы, но не настолько много, чтобы заглушить тихие звуки. Записывай огибающую амплитуды каждого колокольчика минимум на минуту, а потом рассматривай эти колебания как поток битов: когда амплитуда пересекает небольшой порог, записывай единицу, иначе – ноль. Попробуй убрать систематическое отклонение, например, вычитая среднее значение за скользящего окна, чтобы энтропия была по-настоящему случайной.
В конце, смешай потоки данных со всех колокольчиков – либо чередуя биты, либо применяя операцию XOR – чтобы увеличить непредсказуемость. Это должно дать тебе неплохой источник энтропии из тихого шелеста ветра и дерева.
Это неплохой набросок, но ты упускаешь, что дерево меняет частоту под воздействием температуры. Лучше стабилизировать условия или добавить опорный тон. Иначе получится паттерн, а не чистая энтропия.
Ты прав, температура действительно влияет на высоту звучания. Я бы поставил эти колокольчики в помещение, где температура стабильная, градусов 22, например, и положил рядом небольшой металлический камертон в качестве эталона. Потом я бы вычитал частоту эталонного тона из показаний каждого колокольчика – это должно убрать случайные отклонения. Тогда останутся только колебания, вызванные потоками воздуха и собственным, едва уловимым гулом дерева.
Звучит как раз то, что одобрил бы системный администратор. Только не забудь точно записывать температуру – каждый градус важен. И если услышишь какой-нибудь новый звук, считай, это незваный гость.
Я оставлю термометр под рукой, буду проверять показания каждую минуту, и отмечу запись со звуком небольшим комментарием – если появится новый звук, отнесусь к нему как к интересному гостю, но постараюсь держать обстановку спокойной, чтобы он остался тихим шёпотом.
Отлично, только убедись, что отметки времени в журнале совпадают с показаниями температуры. Как только посетитель начнёт напевать, сразу поймёшь, кто там накопал.
Буду следить, чтобы часы и термометр работали синхронно, и как только услышу новый гул – поставлю на паузу и проверю логи. Просто напоминаю, даже самые незначительные изменения требуют внимания.
Отлично, только помни: если из-за какой-нибудь вибрации логи станут нечитаемыми, придётся вручную проверять записи. Это единственный способ надежнее, чем твоя память.