Про механические ДСЧ
Aug. 26th, 2020 09:06 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Тут Шнайер рекламирует механический ДСЧ. В смысле набор специальных кубиков, которые кидаешь, потом складываешь в коробочку и получаешь случайную картинку, которую можно отсканировать специальным приложением и получить гарантированные 192 бита энтропии. (и можно в таком виде хранить с качестве резервнойкопии ключа).
Недостатком этого решения является только то, что оно завязано на проприетарный джаваскрипт для распознавания картинки, который надо грузить с сайта.
По-моему, следовало делать по другому. Делаем квадратную коробочку с тремя приелеенными по углам кубиками с фиксированным рисунком. Остальные кубики разрисовываем случайным сетками черных и белых квадратиков. Юзер кидает кубики, складывает их в коробочку, и получает QR-код, который можно сосканировать стандартным приложением для считывания QR-кодов и получить случаную строку алфавитно-цифровых символов.
Вопросов к безопасности было б гораздо меньше, посколььку приложений для чтения QR-кодов море, в том числе и опенсурсных.
no subject
Date: 2020-08-26 12:54 pm (UTC)Используем Interleaved 2of5. 4 цифры на каждый кубик. Один ряд кубиков, составленных вплотную друг к другу, даст одну линейку линейного штрихкода.
Правда, от бит, которые добавляются ориентацией верхней грани, придется отказаться.
no subject
Date: 2020-08-26 05:15 pm (UTC)Хорошая идея. А сколько линеек штрихкода надо, чтобы набрать 192 бита? 58 десятичных цифр.
no subject
Date: 2020-08-26 06:53 pm (UTC)Пять рядов по шесть кубиков (всего 180 уникальных граней, что укладывается в нумерацию 4 цифрами, 6 вариантов выпадения каждого кубика, 30! вариантов перестановок): 185 (wolframalpha) бит
Решетка 6x6 - 231 бита.
А так для 192 бит надо 31 кубик: решение уравнения.