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

Шифрование. Аргументы функции MAIN - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить произведение двух чисел http://www.cyberforum.ru/cpp-beginners/thread1036237.html
Вычислить произведение двух чисел. Первое число - сумма третьей и четвертой цифр четырехзначного числа, второе - частное от деления первой цифры четырехзначного числа на вторую цифру числа.
C++ Считать из файла слова и занести их в массив string-ов Как считать слова из файла и занести их в массив типа string? http://www.cyberforum.ru/cpp-beginners/thread1036221.html
Оператор цикла с параметром C++
Какими цифрами следует заменить a и b (одинаковым переменным соответствуют одинаковые цифры), чтобы выполнялось равенство (a+a)+3(b+b)= А в квадрате a - Б в квадрате b? Причём a и b натуральные числа изменяющиеся в диапазоне от 1 до n. (a+a)+3(b+b)= a^a - b^b
C++ Function abs
Ошибка 1.error C2668: abs: неоднозначный вызов перегруженной функции строка 12 Ошибка 2.error C2668: abs: неоднозначный вызов перегруженной функции строка 13 Ошибка 3.IntelliSense: существует более одного экземпляра перегруженная функция "abs", соответствующего списку аргументов: функция "abs(int _X)" функция "abs(long _X)" функция...
C++ Не запускаеться программа вычисления функции http://www.cyberforum.ru/cpp-beginners/thread1036211.html
Не запускаеться программа вычисления функции //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #include <math.h> #include <tchar.h> #include <iostream.h> #include <windows.h>
C++ Утечка памяти в определении инфы о Юсб-устройствах Есть код для определения инфы о usb-устройствах (vendorID/productID). Но есть проблема. Происходят утечки памяти. При многократном вызове функции утечки становятся неприемлемо большими. Кто-нибудь может подсказать, где именно тут происходит утечка? // Функция получает список VID_PID USB // Входные данные: // VidPid - массив для записи VID PID usb устройств // Выходные данные: // VidPid -... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.12.2013, 07:58     Шифрование. Аргументы функции MAIN

Не по теме:

Я начинал с ксорки. Она и в реализации проще, и вскрыть её, даже зная алгоритм, сложно. Ксорка - шифр битовых манипуляций, основанный на операции исключающее или. Простейшая ксорка есть применение исключающего с однобайтным ключом для каждого байта сообщения. Но такой вариант вскрывается на примере шифра одного байта: достаточно применить ту же операцию к исходному байту с шифрованным и получишь ключ. Более надёжную защиту обеспечивают длинные ключи с выборкой фрагмента ключа. Но накладывать ксорки с ключами равной длины, фрагменты которых чередуются по одному алгоритму, бесполезно: вся цепочка ксорок будет эквивалентна одной, ключ которой есть шифр остальных ключей друг другом. Если применять только ксорку, то она должна обеспечить стойкость за один раз, или она не годна. Но можно комбинировать её с перестановочными шифрами. Простейшим перестановочным шифром является скитала. Для скиталы применяется двумерный массив, линерализуемый дважды с разным порядком индексов. Массив заполняется исходным сообщением, или фрагментом сообщения фиксированного размера, при дефиците символов сразу за последним символом пишется терминальный, оставшиеся элементы заполняются мусором. А потом из этого массива читается шифрованная версия сообщения. Причём, при заполнении массива он линерализуется с одним порядком индексов, а при чтении оттуда шифрованной версии с другим. Например, можно при заполнении массива считать первый индекс младшим, а второй старшим, а при чтении наоборот. А можно при заполнении первый индекс считать старший, второй младшим, а при чтении шифрованной версии наоборот. Пусть используется массив s[N][M], обозначим k индекс линерализованного массива, i - первый индекс, j - второй. Тогда имеем две формулы: k=i+j*N (первый индекс младший, второй старший) и k=i*M+j (первый индекс старший, второй младший). При заполнении массива юзается одна, при чтении шифрованной версии другая. При расшифровке такой же массив заполняется шифрованной версией сообщения, а потом из него читается расшифрованная, при этом применяются те же самые две формулы линерализации, но в обратном порядке. Это тоже простой, но трудно вскрываемый шифр. Даже зная алгоритм, его сложно вскрыть, нужны точные размеры массива и порядок индексов при заполнении массива исходным сообщением. К сожалению, скитала может быть вскрыта на примере достаточно длинной шифровки, к которой есть исходное сообщение. А при ещё большей длине даже без исходного сообщения. Но не так просто, как ксорка. Теоретически не вскрываемы только шифры, чьи ключи содержат как минимум столько же информации, сколько её с их помощью шифруется.



Добавлено через 5 минут

Не по теме:

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



Добавлено через 2 минуты

Не по теме:

И это был алгоритм шифрования с ключом.

 
Текущее время: 11:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru