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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
#1

Шифр с автоключом, как расшифровать? - C++

17.11.2014, 00:07. Просмотров 611. Ответов 0
Метки нет (Все метки)

На этой ссылке детально расписан принцип алгоритма. http://crprogram.16mb.com/topic-t188.html
Вопрос, Как же сделать дешифратор если знаем ключ но текста не знаем. Еще есть дешифрированый текст.
Если ключ приклеивается к самом тексту.
Можно дешифровать только текст до конца самого ключа.

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
#include <vcl>
#include <iostream>
#include <conio>
#include <windows.h>
 
int SizeAlf=33;
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char UkrAlf[]="абвгґдеєжзиіїйклмнопрстуфхцчшщьюя ";
char Key[200]="кино";
char Result[100]={0};
char Text[50]="смотреть кино бесплатно";
int indKey=0;
int indText=0;
int k=0;
int SizeOfKey;
int SumaInd=0;
cout<<"TEXT\n";
//cin>>Key;
SizeOfKey=strlen(Key);
strcat(Key,Text);
Key[strlen(Key)-SizeOfKey]=0;
cout<<Key<<" ";
 
for(int j=0; j<strlen(Key);j++)
for(int i=0; i<strlen(UkrAlf);i++)
{
if(i==0)
k=1;
else
k=0;
 
if(UkrAlf[i]==Key[j])
indKey=i+k;
if(UkrAlf[i]==Text[j])
indText=i+k;
SumaInd=indText+indKey;
if(SumaInd>SizeAlf)
{
while(SumaInd>SizeAlf)
{
SumaInd-=SizeAlf;
}
}
Result[j]=UkrAlf[SumaInd];
SumaInd=0;
}
 
 
cout<<"\nResult:"<<Result;
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2014, 00:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шифр с автоключом, как расшифровать? (C++):

Расшифровать выражения путём умножения обратной матрицы ключа (nxn) на матрицу-шифр (nxm) - C++
Всем привет, появилось такое вот интересное задание: Расшифровка выражения путём умножения обратной матрицы ключа (nxn) на матрицу-шифр...

Расшифровать шифр Виженера с несколькими ключами - C++
Добрый вечер. Не могу понять, как можно расшифровать шифр Виженера, если имеются 3 ключа. Задание: Не могу понять, как это...

Шифр Вижиненра, шифр скитала - C++
Я много прочитал информации и захотел реализовать эти шифры на Buider C++, а вот как это сделать. Кому интересно, напишите мне примеры этих...

как расшифровать комментарии - C++
программу делали на другом компьютере...когда включил ее на своем, то все комментарии на иероглифах...можно ли это как нибудь исправить?...

Как расшифровать libGRF архив? - C++
Есть архив, который создан с помощью libgrf, он же зашифрован с помощью библиотеки zlib1.dll (исходя из того, что она присутствует в...

Process returned -107. в среде codeblocks как расшифровать ошибку? - C++
Помогите понять какую ошибку выдает? стандарт c99, при уменьшении dz до 0.001 работает но метод расчета предполагает большую точность ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2014, 00:07
Привет! Вот еще темы с ответами:

Как следует реализовать шифр замены? - C++
Нужно реализовать шифр замены, как это можно сделать через Windows Form Application или консольное приложение?

Шифр Rc4 как ввести вводные данные - C++
#include &lt;iostream&gt; #include &lt;tchar.h&gt; #include &lt;fstream&gt; using namespace std; class RC4 { char K; char S; ...

Не могу понять как делать задание про шифр Цезаря и потоки - C++
Слезно прошу помочь, сил больше нет... Задание: Пользователь вводит строку, зашифровать ее шифром Цезаря, рандомно найти ключ, от 0 до...

Расшифровать (*sk()[4] - C++
Расшифровать (*sk()) Кто может подсказать?)


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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