vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner

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

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

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

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

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

Date: 2020-08-26 06:34 am (UTC)
From: [identity profile] a-konst.livejournal.com
Если и существуют, вопрос, какое распределение вероятности получится у сгенерированной последовательности символов. Думаю, что очень неравномерное.

Может проще найти приложение, которое может считать QR код без проверки контрольной суммы. Точнее, выдавать сырые цифры.
Edited Date: 2020-08-26 06:44 am (UTC)

Date: 2020-08-26 07:22 am (UTC)
From: [identity profile] a-konst.livejournal.com
Приложений для считывания QR кода, имеющих опцию "забить на контрольную сумму", может быть гораздо больше одного. Не удивлюсь, если есть опен-сорс библиотека с таким функционалом - точнее с разными вызовами "считать код" и "проверить сумму".

Date: 2020-08-26 07:29 am (UTC)
fau74: (Default)
From: [personal profile] fau74
Сдается мне, что уж больно мал будет набор возможных ключей. Чтобы выдать 192 бита на шестигранных кубиках одним броском, надо (2^192)/6 кубиков - это как-то ну очень дохрена.

а вообще эта задачка мне напомнила приснопамятный загрузочный лист для SCSI-сканера :)

Date: 2020-08-26 07:48 am (UTC)
qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (Default)
From: [personal profile] qkowlew
6 граней, каждая в 4 положениях
положение кубика одно из 25 - то есть 25*24*23*22*... расположений
Edited Date: 2020-08-26 07:50 am (UTC)

Date: 2020-08-26 08:15 am (UTC)
tanriol: (Default)
From: [personal profile] tanriol
Да нет, сходится. 25! размещений нумерованных кубиков в коробке на 24**25 ориентаций (потому что у каждого из них она своя). Делим на 4, чтобы избавиться от поворотов коробки как целого.

Date: 2020-08-26 08:09 pm (UTC)
qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (Default)
From: [personal profile] qkowlew
да, вы правы, а я нет.

Date: 2020-08-26 07:56 am (UTC)
qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (Default)
From: [personal profile] qkowlew
(2^192) / (25! * 6 * 4) = 16861734507525597092788834815903

Date: 2020-08-26 08:05 am (UTC)
qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (Default)
From: [personal profile] qkowlew
88 бит, не 192 всё-таки получается.

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

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

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

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

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

Date: 2020-08-26 10:57 am (UTC)
slobin: (Default)
From: [personal profile] slobin

Ещё цепочки, соединяющие угловые квадраты по "внутренней" (ближней к центру всего кода) стороне. В общем, если это коробочка, то она окажется поделена на три зоны: "основную" и две боковых, которые между краями угловых квадратов и отделены от основной стенками. Но не считая этого, да -- либо вплотную к квадратам, либо четвёртый угол.

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

... Вы сбиваете с толку весь Париж! ...

Date: 2020-08-26 05:03 pm (UTC)

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

Date: 2020-08-26 05:05 pm (UTC)
sergey_ver: (Default)
From: [personal profile] sergey_ver
По-моему, хранить в сейфе листок, на котором написано несколько слов, ничуть не сложней чем коробку с костями

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

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

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


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

Date: 2020-08-27 03:39 pm (UTC)
From: [personal profile] fhunter
> Приложение на JS - не бывает проприетиарным, оно всего опен-сорсное.

Обфусцированный код считается opensource?

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

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

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

Date: 2020-08-26 06:53 pm (UTC)
From: [personal profile] inkelyad
Произвольное число из 58 цифр подобными кубиками, скорее всего, составить нельзя. Или очень нетривиально надо грани нумеровать.

Пять рядов по шесть кубиков (всего 180 уникальных граней, что укладывается в нумерацию 4 цифрами, 6 вариантов выпадения каждого кубика, 30! вариантов перестановок): 185 (wolframalpha) бит

Решетка 6x6 - 231 бита.

А так для 192 бит надо 31 кубик: решение уравнения.

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

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

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

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

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

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

Date: 2020-10-24 03:03 pm (UTC)
qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (Default)
From: [personal profile] qkowlew
И код оплаты услуг на нижнем белье.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

May 2025

S M T W T F S
    1 2 3
4 56 7 8 9 10
11 12 131415 1617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 11:22 pm
Powered by Dreamwidth Studios