М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Zhenyarishka1
Zhenyarishka1
09.04.2022 06:03 •  Информатика

С. постройте криптографический протокол (аутентификации), обеспечивающий абсолютно честные выборы. требования к протоколу: а) конфидециальность данных б) каждый избиратель может убедиться, что его голос засчитан правильно в) каждый избиратель должен быть уверен, что его голос не может никто узнать ( за кого он голосовал) г) обеспечить каждого избирателя только 1 голосом (у 1 человека не должно быть несколько голосов) д) обеспечить возможность голосования только зарегистрированных пользователей подсказка: должны быть 2 доверенные стороны (и они не могут между собой договариваться), то есть, 1-ая - от действющей власти, 2 - от оппозиции. буду !

👇
Ответ:
110206ma
110206ma
09.04.2022
Для прозрачности и верного подсчёта голосов необходимо создать пул голосов (пункт б).
Для обеспечения конфиденциальности следует использовать однонаправленную функцию. Например, хэш-функцию от личных данных голосующего и его личного ключа, чтобы потом невозможно было отследить его голос по его личным данным.(пункт в). По хэшу невозможно узнать личные данные.
Поскольку хэш-функция однонаправленная, каждый избиратель может использовать эту функцию и получить свой бюллетень (пункт а).
Вторым полем должна быть некоторая переменная, которая обозначает, за кого голосовал человек (например, 1 - власти, 2 - оппозиция, 0 - не явился). Это пункт г.
Пункт д обеспечивается составлением списка перед выборами. Данные хранятся опять же по хэшу для обеспечения конфиденциальности.

Таким образом, получаем алгоритм:
По списку избирателей создаём хэши и записываем их в первое поле. Во второе поле вносится значение по умолчанию = 0.
При явке избиратель получает свой хэш по личным данным, и в соответствии с ним находит своё поле. Во второе поле вносит 1 или 2.
Если такой избиратель не найден, поле не может быть заполнено.

Проверить избиратель может так же. получает хэш по своим данным и собственному ключу. По результату проверяет соответствие.

С. постройте криптографический протокол (аутентификации), обеспечивающий абсолютно честные выборы. т
4,6(74 оценок)
Открыть все ответы
Ответ:
Goliafos
Goliafos
09.04.2022

Program Markovsp1;
uses crt;
const
  eps=0.001;
var
  t,s:real;
  i:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  writeln('Программа вычисляет частичную сумму ряда ');
  writeln('  S=1+1/(2^2)+1/(3^2)+1/(4^2)+... ');
  writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
используется цикл repeat');
  writeln();
  s:=0;
  i:=1;
  repeat
    t:=1/((i)*(i));
    s:=s+t;
    //writeln('i=',i,'  T=',t:0:6,'  S=',s:0:6);
    i:=i+1;
  until abs(t)<eps;
  writeln('s=',s:0:6,' (pi^2)/6=',(pi*pi)/6:0:6);
  writeln('Приближение к (pi^2)/6 равно ',s-(pi*pi)/6:0:6);
end.

Program Markovsp2;
uses crt;
const
  eps=0.001;
var
  t,s:real;
  i:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  writeln('Программа вычисляет частичную сумму ряда ');
  writeln('  S=1+1/(2^2)+1/(3^2)+1/(4^2)+... ');
  writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
используется цикл while');
  writeln();
  s:=0;
  i:=1;
  t:=1;
  while t>eps do
    begin
      t:=1/(i*i);
      s:=s+t;
      //writeln('i=',i,'  T=',t:0:6,'  S=',s:0:6);
      i:=i+1;
     end;
  writeln('s=',s:0:6,' (pi^2)/6=',(pi*pi)/6:0:6);
  writeln('Приближение к (pi^2)/6 равно ',s-(pi*pi)/6:0:6);
end.

4,6(62 оценок)
Ответ:
DashaZhelezniak
DashaZhelezniak
09.04.2022
Думаю, логика у нас здесь будет такая: нужно разложить данные три числа на простые сомножители. Получится:
132 = 2 * 2 * 3 * 11
106 = 2 * 53
134 = 2 * 67
Что у них есть общего - то можно откинуть, потому что количество кругов будет при общих сомножителях делиться без остатка. Собрать в ответ нужно следующее:
от первого - 2 * 2 * 3 * 11
от второго - 53 (двойку не берём, потому что она уже взята с первым)
от третьего - 67 (двойку опять не берём)

Получается: 2 * 2 * 3 * 11 * 53 * 67 = 468732 секунды. Это, как я думаю, ответ.

При этом (чисто для сведения), до момента встречи:
первый намотает 3551 круг
второй - 4422 круга
третий - 3498 кругов.
4,5(65 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ