Форум программистов, компьютерный форум CyberForum.ru

Проблемы с Аффинным шифром - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить контуры своей области и заполнить её заданными наклонными линиями http://www.cyberforum.ru/cpp-beginners/thread970390.html
Задание: 1. Построить контуры своей области и заполнить её заданными наклонными линиями.. 2. В своей области построить из отрезков прямых линий контуры заданного объекта. 1 и 2 задание выполнить в двух вариантах: с использованием стандартной функцию line BorlandC и собственной функции, написанной по алгоритму Брезенхейма. 1)Из нижнего левого угла сначала вправо, потом налево. 2)Из нижнего...
C++ Работа с изображениями в GIT Более подходящего раздела для этой темы на форуме не нашел, поэтому пишу здесь. Сегодня зарегистрировался на github и встал такой вопрос. Git хранит не сами файлы, а их изменения. Так вот, если загрузить изображение, то получается, если есть много версий этого изображения, то гит хранит каждую версию? Он ведь не может запоминать изменения для изображений, как для текста, где он просто... http://www.cyberforum.ru/cpp-beginners/thread970389.html
Последовательно заполнить заданную прямоугольную область экрана точками по заданному алгоритму C++
Задание: 1. Последовательно заполнить заданную прямоугольную область экрана точками по заданному алгоритму (схема заполнения области). Для вывода точки в каждом режиме использовать: - А) стандартную функцию языка программирования; - Б) прямую запись в видеопамять. 2. Предложить 5 вариантов изменения цвета точки таким образом, что бы получить различные рисунки заполнения области. 3. Сделать...
почему clrser(); не работает C++
#include<stdio.h> #include<conio.h> main() { int i,n,result=1; clrser(); printf("Vvedit n:"); scanf("%d",&n);
C++ Написать программу на языке СИ++ для установки графического режима работы экрана и вывода основных характеристик этого режима http://www.cyberforum.ru/cpp-beginners/thread970377.html
Задание: 1. Написать программу на языке СИ++ для установки графического режима работы экрана и вывода основных характеристик этого режима. 2. Проверить основные графические режимы работы (сколько получится установить) для данной видеосистемы.
C++ ListControl редактирование столбцов у записей есть ListControl. Вид - отчет. Есть несколько записей. Есть колонки. В колонках для каждой записи есть значение. Нужно по нажатию на клавишу Обновить, сменить для выбранной записи значение в столбце например на "***" Для наглядности вот скрин: хочу для записи 3.3.3.3 по нажатию на клавишу сменить статус на "online" и активность например на "up". подробнее

Показать сообщение отдельно
Streecs
 Аватар для Streecs
1 / 1 / 0
Регистрация: 03.07.2013
Сообщений: 31
10.10.2013, 10:03  [ТС]     Проблемы с Аффинным шифром
И так, все на много логичнее, чем описывается по всюду! Чтобы найти обратное по модулю число нам нужно использовать Функция Эйлера (в Википедии есть пример вычисления при помощи неё обратного по модулю (как они преобразовали 25 в -3 я не понял, но это и не важно)).
И так шаг первый: Убедится что наши числа взаимно простые! То есть если возьмём a mod m (3mod26) то НОД (a,m)=1. Это обязательно. Иначе обратного нет.
Шаг 2: Найти http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) (фи от m). http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) - количество чисел от 1 до m у которых НОД с m = 1. Другими словами все взаимно простые числа с m, которые меньше m. (В той же статье в Википедии есть табличка для чисел до 99. Можете на них потестить свои проги ищущие http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m)) И так, http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) нашли переходим дальше.
Шаг 3: Используем формулу из статьи http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (m) и получаем наше обратное! Вот и всё!
Возьмём для примера снова 3mod26. http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi (26)=12(можно посмотреть в табличке в Вики)
12-1=11
http://www.cyberforum.ru/cgi-bin/latex.cgi?{3}^{11}mod26=177147mod26=9

Проверяем: 9*3=27, 27mod26=1 Что нам и нужно было! Обратное 3mod26 это 9 или, если хотите,http://www.cyberforum.ru/cgi-bin/latex.cgi?{3}^{-1}=9 (mod26)

Как это за программировать, надеюсь, сами разберётесь. Если нет, пишите письма - постараюсь ответить.

Отдельный привет группе 5112

Добавлено через 4 минуты
Хочу еще добавить, что мой калькулятор на телефоне при попытке вычислить http://www.cyberforum.ru/cgi-bin/latex.cgi?{3}^{-1}=9 (mod26) выдавал 0. Скорее всего просто число было слишком длинным. Так что советую предварительные вычисления делать в Excele или в этом калькуляторе.
 
Текущее время: 01:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru