Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 1
1

Дешифровка текста методом гаммирования

10.11.2015, 20:07. Показов 892. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Pascal
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
Var A, B, C: array[0..256] of longint;
          G: array[0..256] of real;
          i: integer;
          action: byte;
          z: char;
Fin, Fout, Foutout: text;
begin
Write('Что будем делать, шифровать(1) или дешифровать(2) файл: '); Readln(action);
case action of
1: begin
Assign(Fin, 'Fin.txt'); Reset(Fin);
Assign(Fout, 'Fout.txt'); Rewrite(Fout);
Write('Введи А: '); Readln (a[0]);
Write('Введи В: '); Readln (b[0]);
Write('Введи С: '); Readln (c[0]);
       while not Eof(Fin) do
       while not eoln(Fin) do begin
         Read(Fin, z);
         i:= i+1;
         a[i]:=(171*a[i-1]) mod 30269;
         b[i]:=(172*b[i-1]) mod 30307;
         c[i]:=(170*c[i-1]) mod 30323;
         G[i]:=(a[i]/30269+b[i]/30307+c[i]/30323)*100;
         if G[i]>256 then G[i]:=G[i]-255;
         Write(Fout, chr(ord(z) xor trunc(G[i])));
        if Eoln(Fin) then begin Readln(Fin); Writeln(Fout); end;
        end;
Close(Fin); Close(Fout);
end;
 
 
2: begin
Assign(Fout, 'Fout.txt'); Reset(Fout);
Assign(Foutout, 'Foutout.txt'); Rewrite(Foutout);
Write('Введи А: '); Readln (a[0]);
Write('Введи В: '); Readln (b[0]);
Write('Введи С: '); Readln (c[0]);
       while not Eof(Fout) do
       while not eoln(Fout) do begin
         Read(Fout, z);
         i:=i+1;
         a[i]:=(171*a[i-1]) mod 30269;
         b[i]:=(172*b[i-1]) mod 30307;
         c[i]:=(170*c[i-1]) mod 30323;
         G[i]:=(c[i]/30323+b[i]/30307+a[i]/30269)*100;
         if G[i]>256 then G[i]:=G[i]-255;
         Write(Foutout, chr(trunc(G[i]) or ord(z)));
        if Eoln(Fout) then begin Readln(Fout); Writeln(Foutout); end;
        end;
Close(Fout); Close(Foutout);
end;
end;
end.
Добавлено через 2 часа 30 минут
Вообщем я разобрался сам:

Pascal
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
Var A, B, C: array[0..256] of longint;
          G: array[0..256] of real;
          i: integer;
          action: byte;
          z: char;
Fin, Fout, Foutout: text;
begin
Write('Что будем делать, шифровать(1) или дешифровать(2) файл: '); Readln(action);
case action of
 
1: begin
Assign(Fin, 'Fin.txt'); Reset(Fin);
Assign(Fout, 'Fout.txt'); Rewrite(Fout);
Write('Введи А: '); Readln (a[0]);
Write('Введи В: '); Readln (b[0]);
Write('Введи С: '); Readln (c[0]);
       while not Eof(Fin) do
       while not eoln(Fin) do begin
         Read(Fin, z); // Посимвольное чтение из файла
         i:= i+1; // Счётчик
         a[i]:=(171*a[i-1]) mod 30269; 
         b[i]:=(172*b[i-1]) mod 30307;
         c[i]:=(170*c[i-1]) mod 30323; 
         G[i]:=(a[i]/30269+b[i]/30307+c[i]/30323)*100; // Тут будет число с плавающей точкой
         if G[i]>256 then G[i]:=G[i]-255;
         Write(Fout, chr(ord(z) xor trunc(G[i]))); // 
        if Eoln(Fin) then begin Readln(Fin); Writeln(Fout); end;
        end;
Close(Fin); Close(Fout);
end;
 
 
2: begin // Дешифровка
Assign(Fout, 'Fout.txt'); Reset(Fout);
Assign(Foutout, 'Foutout.txt'); Rewrite(Foutout);
Write('Значение А при шифровании: '); Readln (a[0]);
Write('Значение В при шифровании: '); Readln (b[0]);
Write('Значение С при шифровании: '); Readln (c[0]);
       while not Eof(Fout) do
       while not eoln(Fout) do begin
         Read(Fout, z);
         i:=i+1;
         a[i]:=(171*a[i-1]) mod 30269; 
         b[i]:=(172*b[i-1]) mod 30307; 
         c[i]:=(170*c[i-1]) mod 30323; 
         G[i]:=(c[i]/30323+b[i]/30307+a[i]/30269)*100;
         if G[i]>256 then G[i]:=G[i]-255;
         Write(Foutout, chr(trunc(G[i]) xor ord(z)));
        if Eoln(Fout) then begin Readln(Fout); Writeln(Foutout); end;
        end;
Close(Fout); Close(Foutout);
end;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2015, 20:07
Ответы с готовыми решениями:

Шифровка\Дешифровка текста. Курсак горит(( SOS
Курсовая работа. 1-й курс. Паскаль. Задание: Нужно сделать 2 проги в одной для...

Шифрование методом гаммирования
Всем добрый вечер. Задали написать программу шифрования методом гаммирования(задание в...

Дешифровка текста по алгоритму Хаффмана
Помогите пожалуйста

Шифровка и дешифровка текста с помощью шифровального квадрата
Вот такая задача - Шифровка и дешифровка текста, расположенного в файле с помощью шифровального...

0
10.11.2015, 20:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2015, 20:07
Помогаю со студенческими работами здесь

Шифровка и дешифровка текста с помощью заданного шифровального квадрата 8*8 (Turbo -> PABC.NET)
Uses Crt; Type matrix = array of string; Const mask: matrix = ('.x.x..x.', ...

Шифрование методом гаммирования
Задали курсовой проект на тему:"Программа шифрования данных методом гаммирования". Если кто то...

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

Шифр методом гаммирования
Здравствуйте, возникла задача произвести гаммирование матрицы вектором подскажите пожалуйста как...

Шифрование методом гаммирования
Доброго времени суток! Вся соль в том, что реализовать шифрование нужно таким образом, чтобы ГАММА...

Шифрование методом гаммирования
Гаммирование Процесс зашифрования заключается в генерации гаммы шифра и наложении этой гаммы на...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru