@nodejs_ru

Страница 2112 из 2748
Vladimir
05.06.2018
15:49:06
Можно с несколькими арбитрами

Никита
05.06.2018
15:53:03
Можно с несколькими арбитрами
Не думаю, что это сделает лучше.

Я проверяю второе решение, оно без забывчивой передачи и мне больше нравится.

Vladimir
05.06.2018
15:55:27
Пример: допустим есть четыре арбитра. Трём из них отправляем правильное значение, одному неправильное. Дальше берём результат из тех, которым отправили правильное, и смотрим, какой отдаётся минимум 2 из 3

Google
Никита
05.06.2018
15:55:58
Так арбитр с вероятностью 3/4 сможет восстановить значение.

А учитывая, что эту операцию надо повторять — он тупо наберёт статистику и достанет твоё значение.

Моё решение было таким: 1) Стороны генерят общее число k от 0 до 3 (тривиально, например раздают друг другу подписанный рандом от 0 до 3 и ксорят их) 2) A отправляет арбитру a' = a ^ (k % 2). B отправляет арбитру b' = b ^ (k / 2 % 2). Не зная k, арбитр не может понять, что у кого было. 3) Арбитр делает 4 числа: c₀ = a' & b' c₁ = !a' & b' c₂ = a' & !b' c₃ = !a' & !b' Тут c[k] = a & b, это и есть искомый результат вычислений, который нужен сторонам. 4) Осталось получить от арбитра общий c[k] без возможности арбитру узнать k. Это должно быть можно сделать через Oblivious transfer, детали обдумаю. --- В моём решении стороны не доверяют друг другу вообще, доверяют, что арбитр корректно реализовал протокол, при этом арбитр не может получить входные значения по тем данным, что ему отправляются. То есть злоумышленный арбитр может изменить результат, но не может получить исходные данные.

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

Я его проверяю на бумажке.

Никита
05.06.2018
15:59:03
Да, но не 1
Набрав статистику, очень быстро приблизит к 1.

Vladimir
05.06.2018
15:59:33
Если всегда одно и то же значение, то да

У тебя мне кажется точно такая же ситуация

Только вероятность другая

Никита
05.06.2018
16:02:29
М. Нет.

Google
Никита
05.06.2018
16:02:37
Там арбитр не получает никакой информации.

Vladimir
05.06.2018
16:03:41
Всмысле? Ему нужно только угадать k

Никита
05.06.2018
16:04:35
Что значит «только угадать»?

k меняется каждый раунд

Да, второе решение красивое (и слегка через кванты, но без собственно квантов).

И без Oblivious transfer и другой криптоты.

Mishka
05.06.2018
16:51:48
А че где решение-то, интриган ?

Morsik
05.06.2018
16:59:36
Используем невелосипеды

Никита
05.06.2018
17:02:35
1. Генерим общее число от 0 до 31. 2. Выбираем соответствующую строчку отсюда: +e0 +e1 +e0+e1 +e0-e1 -1 +e0 +e1 -e0-e1 -e0+e1 +1 +e0 -e1 +e0-e1 +e0+e1 -1 +e0 -e1 -e0+e1 -e0-e1 +1 +e1 +e0 +e0+e1 -e0+e1 -1 +e1 +e0 -e0-e1 +e0-e1 +1 +e1 -e0 +e0-e1 -e0-e1 +1 +e1 -e0 -e0+e1 +e0+e1 -1 -e0 +e1 +e0-e1 +e0+e1 +1 -e0 +e1 -e0+e1 -e0-e1 -1 -e0 -e1 +e0+e1 +e0-e1 +1 -e0 -e1 -e0-e1 -e0+e1 -1 -e1 +e0 +e0-e1 -e0-e1 -1 -e1 +e0 -e0+e1 +e0+e1 +1 -e1 -e0 +e0+e1 -e0+e1 +1 -e1 -e0 -e0-e1 +e0-e1 -1Тут первые 16, остальные симметричны с заменой Алисы и Боба местами. Это вектора a0, a1, b0, b1 и число t. 3. Алиса отправляет a[i] арбитру, Боб отправляет b[j], где i и j — флаги алисы и боба. 4. Арбитр скалярно умножает вектора и раздаёт число-результат x Алисе и Бобу 5. Если x=t, то оба выбрали 1, если x=-t, то кто-то выбрал 0.

Вот решение.

При этом арбитр по векторам не может восстановить картину. Например, для a=+e1, b=+e0-e1: +e0 +e1 +e0+e1 +e0-e1 -1 +e1 +e0 -e0-e1 +e0-e1 +1 +e1 -e0 +e0-e1 -e0-e1 +1 -e0 +e1 +e0-e1 +e0+e1 +1

Арбитр не может назначить бóльшую вероятность ни одному из этих вариантов, следовательно, не может получить никакой информации о выборе сторон.

Alexander
05.06.2018
18:06:09
слишком сложно, досвидания

Mishka
05.06.2018
18:11:56
говорилось же, что решение вообще без арбитров

Yaroslav
05.06.2018
18:41:58
От заданого алгоритма шифрования или ключа о котором только они знают

Google
Yaroslav
05.06.2018
18:53:22
Ну покажи, как.
Лень. Любое обозначение-слово, зашифрованое, которое после расшифровки сопоставляется с 0 или 1.

Yaroslav
05.06.2018
18:53:50
Алгоритм шифрование и таблица слов-значений у них есть

Alex
05.06.2018
19:18:14
Моё решение было таким: 1) Стороны генерят общее число k от 0 до 3 (тривиально, например раздают друг другу подписанный рандом от 0 до 3 и ксорят их) 2) A отправляет арбитру a' = a ^ (k % 2). B отправляет арбитру b' = b ^ (k / 2 % 2). Не зная k, арбитр не может понять, что у кого было. 3) Арбитр делает 4 числа: c₀ = a' & b' c₁ = !a' & b' c₂ = a' & !b' c₃ = !a' & !b' Тут c[k] = a & b, это и есть искомый результат вычислений, который нужен сторонам. 4) Осталось получить от арбитра общий c[k] без возможности арбитру узнать k. Это должно быть можно сделать через Oblivious transfer, детали обдумаю. --- В моём решении стороны не доверяют друг другу вообще, доверяют, что арбитр корректно реализовал протокол, при этом арбитр не может получить входные значения по тем данным, что ему отправляются. То есть злоумышленный арбитр может изменить результат, но не может получить исходные данные.
Подойдёт ли такое решение? Перед каждой передачей а и б связываются друг с другом и один из них сообщает другому число Х от 0 до 7 Далее оба генерят случайные числа, в которых заменяют Х позицию на своё значение. Эти числа отправляют арбитру, арбитр делает and и рассылает результат

Cenator
05.06.2018
20:40:32
babel-node для прода норм?

Дмитрий
05.06.2018
20:44:52
Нет

Просто компилируй

rollup не сложный, если у тебя в либах нет типичной кривой ноды

Или ваще забей и не собирай, но бабелем всё же лучше прогнать, это не сложно, а одну точку отказа убирает

Таймураз
05.06.2018
20:46:28
babel-node для прода норм?
Почему не скомпилировать?

Дмитрий
05.06.2018
20:46:43
Я с бабелем запускаю скрипты в проде, довольно большие но конечные, а вот сами сервера строго компилированные

Cenator
05.06.2018
20:46:53
Дмитрий
05.06.2018
20:48:15
Сколько ж там кода должно быть)

Cenator
05.06.2018
20:48:23
реакт аппа

Дмитрий
05.06.2018
20:48:35
Оу

А утечек памяти не боишься?)

some_random_anonymous
05.06.2018
20:49:03
babel-node для прода норм?
Там в ридми написано что оно не для прода

Дмитрий
05.06.2018
20:49:10
Я хз конечно, но всё же не одна страничка

Google
Cenator
05.06.2018
20:49:14
А утечек памяти не боишься?)
а если гц вручную запускать?

Дмитрий
05.06.2018
20:49:25
НИКОГДА ??

Вот это откровенный запрещенный прием

Вот это точно приводит к проблемам если на постоянке этим заниматься

Лучше тогда бабель

Cenator
05.06.2018
20:51:24
А утечек памяти не боишься?)
погоди, утечки от бабеля или большого файла?

Дмитрий
05.06.2018
20:51:36
От бабеля и большого файла

Реакт приложение с кучей полифиллов как водится, уверен что реально протестированны все их хаки?)

Cenator
05.06.2018
20:53:06
ну полифиллы по идее не должны идти в ноду, зачем

Дмитрий
05.06.2018
20:53:17
То есть, с большой вероятностью проблем не будет, но чёт как-то меня это не оч обнадёживает)

Cenator
05.06.2018
20:53:22
они в массиве entry веб пака прописаны у клиентского

Дмитрий
05.06.2018
20:53:55
Хз, тут смотри по специфике. Это короче не поощряется но работать будет)

Cenator
05.06.2018
20:54:07
хех

Никита
05.06.2018
21:57:49
@murzilka17 Спасибо, кстати, это меня натолкнуло на мысль как попробовать упростить всё. Upd: нет, не упрощается.

Да, алгоритм выше (скалярным произведением векторов) я сломал, он кривой.

Мой исходный ещё потестирую. Со случайным вектором шума от @murzilka17 — он таки сливает инфу арбитру и за несколько раундов можно набить статистику довольно уверенно.

Хотя можно его модифицировать чтобы не сливал, кажется. Думаю пока.

Google
Никита
05.06.2018
22:18:59
Причём это неустранимо изменениями рандома и запретом конкретных векторов.

Но пора спать, завтра додумаю.

Бенедикт
06.06.2018
00:44:24
Ребят какие есть модули для resize картинок без сторонних зависимостей в виде imagemagick.Если такие вообще есть?

Sheldhur
06.06.2018
00:49:55
чем imagemagick не устроил? он же быстрее чем какое нибудь поделие на ноде

Бенедикт
06.06.2018
01:01:54
скажем так, небольшие проблемы на сервере,но уже думаю, легче там разобраться

Sheldhur
06.06.2018
01:59:37
Вопрос по push уведомлениям. Вот у пользователя несколько девайсов, плюс к этому у него может быть несколько браузеров, в каждом из которых он может подисаться на пуши и каждый при этом может быть запущен. Как определить куда именно слать уведомление, чтобы не спамить на каждый девайс?

Mark
06.06.2018
02:01:27
Спамить на каждый девайс ?

Kendr
06.06.2018
02:04:52
Спамить на каждый девайс ?
Дайте ему одминку

Mark
06.06.2018
02:05:39
С таким одменом как я - мы все умрем

Страница 2112 из 2748