С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.06.2020
Сообщений: 31

Гаммирование с использованием кубического конкретного генератора

06.06.2022, 06:31. Показов 509. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь с Гаммированием с использованием кубического конкретного генератора .
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.06.2022, 06:31
Ответы с готовыми решениями:

Вычисление кубического корня с использованием итерационной формулы
Написать и протестировать функцию вычисляющую: y=\sqrt{x}(0<|x|<2), используя итерационную формулу...

Проблемы с решением кубического уравнения с использованием формулы Кардано
Я делаю задание к универу, а именно пытаюсь подготовить программу вычисления корней кубического уравнения. Три дня сидел над этой задачей,...

Вычисление кубического корня с использованием функции с параметрами и возвращаемым значением
Составьте программу для вычисления кубического корня из произвольного числа arg, вводимого пользователем с экрана. Вычисление...

1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
06.06.2022, 08:06
Цитата Сообщение от user name Посмотреть сообщение
кубического конкретного генератора
Чиста конкретный генератор просто обязан быть кубическим.

Точно "конкретный", а не, скажем, "конгруэнтный"? Смешной набор звуков, согласны?

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

Цитата Сообщение от user name Посмотреть сообщение
Нужна помощь с
А какая помощь-то нужна?

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <vector>
 
// кубический конкруэнтный генератор псевдослучайных чисел
// выполненный в виде функтора
struct Generator {
    int seed;
    int mod; // 216, 232, 264
    int a, b, c, d;
 
    Generator(int seed, int mod, int a, int b, int c, int d) : seed(seed), mod(mod), a(a), b(b), c(c), d(d) {}
 
    int operator()() {
        return seed = (a * seed * seed * seed + b * seed * seed + c * seed + d) % mod;
    }
};
 
std::ostream &operator<<(std::ostream &out, const std::vector<int> &v) {
    for (auto &i : v) {
        out << i << " ";
    }
    return out;
}
 
// гаммирование
template<typename Iterator, typename OutputIterator>
void scaling(Iterator begin, Iterator end, OutputIterator output, Generator &sequenceGenerator) {
    while (begin != end) {
        *output++ = (*begin++) ^ sequenceGenerator();
    }
}
 
int main() {
    //findAndPrintCongruentCoefficients(240);
    // 105,68,153,11,203
    // следующие шесть значений позволят генерировать нужную последовательность
    int seed = 105; // "нулевое" число генератора
    int mod = 255; // максимальное число, генератор будет всегда генерировать числа от нуля до этого числа не включительно
    // коэффициенты конгруэнтного генератора
    // тщательно подобраны методом брут форса
    int a = 68;
    int b = 153;
    int c = 11;
    int d = 203;
 
    // исходный текст
    std::vector<int> source = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 
    // шифруем
    Generator g1(seed, mod, a, b, c, d);
    std::vector<int> encoded;
    scaling(source.begin(), source.end(), std::back_inserter(encoded), g1);
    std::cout << encoded << std::endl;
 
    // дешифруем
    // если пересоздать генератор с теми же параметрами,
    // получим такую же точно последотвательность
    std::vector<int> decoded;
    Generator g2(seed, mod, a, b, c, d);
    scaling(encoded.begin(), encoded.end(), std::back_inserter(decoded), g2);
    std::cout << decoded << std::endl;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.06.2022, 08:06
Помогаю со студенческими работами здесь

Вычислите значение кубического корня 3 x y с точностью EPS с использованием итерационной формулы Ньютона: Y0 = 1 Yi
Помогите пожалуйста сделать программу. Вычислите значение кубического корня 3 x y с точностью EPS с использованием итерационной формулы...

Вычислите значение кубического корня с точностью EPS с использованием итерационной формулы Ньютона
Помогите пожалуйста написать программу... Вычислите значение кубического корня y= \sqrt{x} с точностью EPS с использованием итерационной...

Вычислите значение кубического корня с точностью EPS с использованием итерационной формулы Ньютона
22 задача, ребята помогите, нужно в понедельник сдать

Вычислить значение кубического корня с точностью eps с использованием итерационной формулы Ньютона
Вычислите значение кубического корня Y=\sqrt{X} с точностью EPS с использованием итерационной формулы Ньютона: ...

Отобрать данные из конкретного диапазона на листе с использованием sql-запроса
Уважаемые форумчане, прошу помощи. В файле имеются 2 листа, на одном расположены таблицы с данными, которые должны выступать в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru