Хаотичні вихори в рідині запропонували використовувати для кодування інформації

Американський фізик Вільям Гілпін розробив механізм хешування інформації за допомогою системи хаотичного перемішування в'язкої рідини на основі поперемінного включення двох вихорих мішалок. Запис інформації проводиться за допомогою перемикання вихорів, а хеш-кодом служать дані про взаємне розташування частинок рідини в системі, йдеться в статті, опублікованій в.


Вчені та інженери нерідко обговорюють варіанти використання гідродинамічних пристроїв для обробки інформації, але на практиці такі технології досі застосовуються вкрай рідко. Незважаючи на це, мікрофлюїдних аналогів простих обчислювальних систем, здатних здійснювати логічні операції за допомогою систем каналів, по яких тече рідина, пропонувалося не так мало (1, 2). У таких системах інформація може містити не тільки швидкість і напрямок потоків, але і, наприклад, порядок фаз у багатофазних в'язких рідинах або координати рухомих в рідині мікронних частинок - в колоїдних розчинах.


Вільям Гілпін (William Gilpin) зі Стенфордського університету запропонував використовувати гідродинамічний підхід не просто для запису інформації, а в якості методу її хешування. Під час хешування масиву даних перетворюється на бітовий рядок вказаної довжини. Для перетворення початкового повідомлення на хеш-код використовується відомий алгоритм (хеш-функція), знаючи яку можна встановити відповідність між початковою інформацією та його кодом. Зазвичай таке кодування використовується для пошуку помилок і дублікатів в наборах даних, в системах зберігання паролів і для розробки електронних підписів.

Гілпін запропонував для отримання хеш-функції використовувати хаотичне перемішування в'язких рідин. При такому перемішуванні спочатку розташовані близько один у одному частинки рідини можна за допомогою заданого алгоритму рознести один від одного на дуже велику відстань, чутливість траєкторій до початкової відстані при цьому носить експоненціальний характер.

За допомогою чисельного моделювання фізик вивчив можливість використання в якості системи хаотичного перемішування один з її найпростіших варіантів, «миготливий вихор». Це орна система, обмежена круговими кількома стінками, в якій створюються два вихрових потоки, центри яких розташовані на одному діаметрі на відстані в піврадіуса від центру. Включаються джерела вихорів поперемінно, тобто в кожен момент часу працює тільки один з них. У такій хаотичній системі траєкторії окремих частинок рідини можна знайти аналітично без необхідності чисельного інтегрування.

Двійкові дані в такій системі вчений пропонує представляти як послідовність перемикання вихорів: у початковому повідомленні 0 відповідає одному включеному вихору, а 1 - іншому. Таким чином, наприклад, повідомлення 010101 буде відповідати шести тимчасовим інтервалам з вихорами, що чергуються. Для хешування цього повідомлення Гілпін вибирав у початковій конфігурації системи кілька частинок рідини, розташованих уздовж спіралі Фібоначчі, нумерував їх і стежив за їх взаємним розташуванням відносно горизонтальної осі на кожній з ітерацій. Як хеш-код вчений запропонував використовувати фінальне розташування цих частинок після всіх ітерацій. Тобто, якщо хеш-код має довжину 5, то він матиме вигляд, наприклад 34512, в якому цифри відповідають початковій нумерації частинок.

Складність такого коду повністю визначається кількістю спочатку обраних частинок N, а кількість можливих варіантів при цьому задається числом перестановок (тобто N!). За словами вченого, домогтися рівня безпеки, аналогічного сучасним алгоритмам хешування, можна з використанням приблизно 58 частинок, проте в сучасних експериментальних реалізаціях такого хаотичного міксера, можлива кількість різноманітних частинок може бути трохи меншою, в першу чергу через обмеження, пов'язані з дифузією частинок.

Оскільки упереджена карта переміщень усіх частинок рідини щодо їх початкового положення повністю визначається параметрами системи (в першу чергу швидкістю обертання вихорів), то цю інформацію вчений пропонує використовувати як відкритий ключ для хешування.


Запропонований принцип вчений перевірив на застосовність з точки зору сучасних вимог до хеш-функцій. Важливими показниками якості хеш-функції служать ступінь відмінності хеш-кодів двох спочатку дуже близьких масивів даних (наприклад таких, що відрізняються всього на один символ) і низька ймовірність виникнення «колізій», при яких двом різним масивам даних відповідає один і той же хеш-код. Аналіз послідовностей різної довжини, отриманих за допомогою запропонованої схеми показав, що обом цим вимогам такий підхід задовольняє.

За словами дослідника, він не очікував, що запропонований алгоритм буде працювати так добре. При цьому Гілпіну вдалося показати, що домогтися відтворюваності роботи системи можна навіть у сучасних мікрофлюїдних системах з урахуванням можливої дифузії частинок (для цього пропонується використовувати дуже в'язкі рідини з числом Рейнольдса близько 0,001 і розміром частинок менше 10 мікрометрів). Тим не менш, поки для такої системи існує межа для максимальної довжини початкового повідомлення. За словами вченого, отримані ним дані можна також використовувати, наприклад, для аналізу океанських хаотичних течій виходячи з взаємного розташування буїв.

Це далеко не перший приклад, коли для розробки алгоритму хешування використовуються незвичайні системи. Наприклад, нещодавно американські вчені в якості хеш-функції використовували алгоритм роботи нюхливої системи фруктової дрозофіли, заснованого на пошуку подібностей.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND