vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2020-08-26 09:06 am

Про механические ДСЧ

Тут Шнайер рекламирует механический ДСЧ. В смысле набор специальных кубиков, которые кидаешь, потом складываешь в коробочку и получаешь случайную картинку, которую можно отсканировать специальным приложением и получить гарантированные 192 бита энтропии. (и можно в таком виде хранить с качестве резервнойкопии ключа).

Недостатком этого решения является только то, что оно завязано на проприетарный джаваскрипт для распознавания картинки, который надо грузить с сайта.

По-моему, следовало делать по другому. Делаем квадратную коробочку с тремя приелеенными по углам кубиками с фиксированным рисунком. Остальные кубики разрисовываем случайным сетками черных и белых квадратиков. Юзер кидает кубики, складывает их в коробочку, и получает QR-код, который можно сосканировать стандартным приложением для считывания QR-кодов и получить случаную строку алфавитно-цифровых символов.

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

alexkuklin: (Default)

[personal profile] alexkuklin 2020-08-26 06:14 am (UTC)(link)
в qr-коде есть контрольная сумма, насколько я помню
tanriol: (Default)

[personal profile] tanriol 2020-08-26 08:16 am (UTC)(link)
В теории они обещают, что код будет открыт (у них что-то выложено на Github под MIT, но я не уверен, всё ли). Хотя текстовое описание алгоритма, конечно, тоже бы пригодилось.
slobin: (Default)

[personal profile] slobin 2020-08-26 10:11 am (UTC)(link)

Я как раз недавно изучал, как устроены QR-коды (достаточно поверхностно, но всё же). Там не просто контрольные суммы, там весьма крутые коды исправления ошибок. Какое-то сильно нетривиальное (тут я уже не вникал в детали) обобщение кода Хэмминга. Но, кажется, сколько-то бит ("сколько-то" -- это дофига! До 30% при высокой избыточности) он восстанавливает, но потом всё-таки говорит "не смогла" (в отличие от оригинального Хэмминга, который всегда имеет мнение о том, что было в оригинале, варианта "не сумел" у него нет).

Но, даже если предположить, что мы можем попросить приложение игнорировать контрольные суммы, тебе придётся приклеивать не только три боковых квадратика, но и (1) остальные фиксированные зоны (которые человеческий глаз обычно не замечает, но они есть), (2) биты описания формата (случайный формат -- плохая идея), (3) начало битовой последовательности (там заголовок следующего уровня вложенности, и делать его случайным -- тоже плохая идея). И только потом идут raw байты. В общем, на втором из трёх рисунке в этом разделе статьи в википедии всё, что помечено чёрным, белым, красным, розовым, а также поля Enc и Len должны быть фиксированными. А вот остальные можешь накидывать (в предположении, что контрольные суммы мы умеем игнорить).

... Рождение котят в ускорителе ...

sergey_ver: (Default)

[personal profile] sergey_ver 2020-08-26 11:03 am (UTC)(link)
Я так и не понял чем это лучше чем сто лет существующий и не зависящий ни от каких скриптов diceware

[personal profile] karpion 2020-08-26 11:49 am (UTC)(link)
А где гарантия, что кубики полностью равноверятны и независимы?

Мне кажется, лучше использовать что-то типа тлеющего разряда - измерять либо ток, либо моменты, когда ток пересекает некоторое пороговое значение (а время можно измерять с любой точностью). Причём надо брать сильно избыточное количество бит и смешивать их в хаш-функции.

Так-то на тлеющий разряд могут влиять и окружающая температура, и звуки...


Приложение на JS - не бывает проприетиарным, оно всего опен-сорсное.

[personal profile] inkelyad 2020-08-26 12:54 pm (UTC)(link)
Все эти читалки QR кодов одновременно умеют читать и обычные линейные. В которых мешающиеся контрольные суммы не всегда предусмотрены.

Используем Interleaved 2of5. 4 цифры на каждый кубик. Один ряд кубиков, составленных вплотную друг к другу, даст одну линейку линейного штрихкода.

Правда, от бит, которые добавляются ориентацией верхней грани, придется отказаться.
nsg21: (Default)

[personal profile] nsg21 2020-08-30 12:07 am (UTC)(link)
Кстати, если брать конфигурации 2*2 из 5 цыетов, то среди несимметричных относительно поворота на 90 градусов, будет ровно 150 классов -- как раз чтобы покрасить каждую из 6 граней 25 различных кубиков. В результате можно обойтись гораздо меньшего размера кубиками. А распознавать матрицу пяти достаточно разных цветов ничуть не труднее чем чёрно-белую. Наверное.
qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (Default)

[personal profile] qkowlew 2020-10-24 01:13 pm (UTC)(link)
Житель Ижемского района Коми Сергей Киселев заметил, что штрих-коды на квитанциях оплаты напоминают узоры коми орнаментов. Он предложил украсить ими шарфики и варежки. Идею уже поддержали умельцы.

- Недавно в Сбербанке оплачивал квитанции по штрих-коду. Новый терминал никак не считывал данные. Я внимательнее всмотрелся в квитанцию, мол, может загвоздка в том, что плохо пропечатано. Тогда и мелькнула мысль, что код сильно напоминает национальные коми орнаменты. Возникла идея составить из них какой-нибудь узорчик и раскрасить. Набросал в Photoshop пару вариантов сначала в монохромном, а потом в цветном виде. Получилось симпатично. Даже придумал новому стилю пару названий - «коми-техно» или «etno-tech», - отметил Сергей.

Мастер узорного вязания, руководитель мастерской «Югыд-арт» Светлана Турова поддержала идею креативного жителя Коми:

- Конечно, потребуется доработка, но это интересно. Я попробую с этим эскизом-макетом поработать и превратить его в готовое изделие. В общем, идея в стадии разработки, - рассказала мастерица.

https://www.ryazan.kp.ru/daily/26934.5/3985169/