Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
9 / 9 / 3
Регистрация: 21.02.2010
Сообщений: 75
1

Необходимо разработать программу генерации ПСП

28.02.2010, 03:14. Просмотров 1947. Ответов 2
Метки нет (Все метки)

Прошу помочь. Кто учился на ЗС, ЗИ, Зм, в общем защитники инфы и те кто знаком с основами инф. Безопасности (криптографии) -
Необходимо разработать программу генерации ПСП.
Вид ГПСП: Пороговый генератор.
Количество ЛРЗР: 5
Полином обратного соединения для линейного рекуррентного регистра сдвига ЛРЗР: (25,3,0); (11,2,0); (17,6,0); (7,1,0); (18,7,0).
полученную последовательность в двоичном виде записывать в файл по-байтно (по 8 бит - 8 двоичных символов)
Последовательности должны бить записаны в файл GAMA.DAT, файл должен быть не меньше 1 МБ.

Вот программа с таким же результатом, но без алгоритма. https://www.cyberforum.ru/cpp-... post560610
Простой ксор. Она тянет на 3 бала (по 5й системе). Хочется разобраться в чем-то посерьезнее…
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2010, 03:14
Ответы с готовыми решениями:

Разработать программу генерации звуковых сигналов
Разработать программу генерации звуковых сигналов, в которой тон звучания определялись кодом...

Накладывает ли ПСП материнской платы ограничение на ПСП видеокарты?
Искал инфу, но так ничего и не нашел. Собственно, а что я искал? Вопос у меня такой-накладывает ли...

Необходимо разработать программу по вычислению периметра, площади, и радиуса
Разработайте программу с использованием класса Quadrangle (четырехугольник), в котором реализовано...

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

2
MeGAbait
03.04.2010, 01:35 2
Лучший ответ Сообщение было отмечено ПавелИтель как решение

Решение

Не поверишь сейчас тоже самое в инэте ищу *(((

Вот ребята 2 года назад сдавали прогу >>>
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
//---------------------------------------------------------------------------
struct B
  {
   unsigned v:1;
  }vposl[34];
void main(int argc,char *tvp[])
{
  int i,j,point,k,byt,f,nfile,type;
  char *mas,fname[20];
  FILE *fout;
  clrscr();
struct A
  {
   unsigned p:1;
  }polinom[34];
 
struct C
  {
   unsigned r1:1;
   unsigned r2:1;
   unsigned r3:1;
   unsigned r4:1;
   unsigned r5:1;
   unsigned r6:1;
   unsigned r7:1;
   unsigned r8:1;
  }rez;
struct dump
  {
   unsigned t:1;
  }reztemp[8],temp[34],temp1,temp2,temp3,rtemp;
if(argc==2)
{ mas=tvp[1];
 cout<<"Џ®«гзҐ**л© Ї*а*¬Ґва: ";//"Полученный параметр: "
  for(i=0;i<34;i++)
 {
  vposl[i].v=mas[i];
  cout<<vposl[i].v;
 }
}
for(i=0;i<34;i++)//заполнение полинома
 {
  polinom[i].p=0;
  if( i==33 || i==14 || i==13 || i==0 )  polinom[i].p=1;
 }
if(argc==1)
  {cout<<"‚ўҐ¤ЁвҐ Ї®б«Ґ¤®ў*⥫м*®бвм Ё§ 34 ЎЁв (0/1): ";//"Введите последовательность из 34 бит (0/1): "
  for(i=0;i<34;i++)//ввод произвольной последовательности
  {
   vposl[i].v=getch();
   cout<<vposl[i].v;
  }
 }
rtemp.t=0;
cout<<endl<<"‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® д*©«®ў: "; cin>>nfile;//"Введите количесво вайлов: "
cout<<"‚ўҐ¤ЁвҐ а*§¬Ґа д*©«®ў (Ў*©в): "; cin>>byt;//"Введите размер генерируемого файла(ов): "
cout<<"‚лЎЁаЁвҐ бЇ®б®Ў ЈҐ*ҐаЁа®ўЁ*Ёп (1-Є®¬ЎЁ**жЁп ‘‹ђђ / 0-®¤Ё**а*л© ‘‹ђђ): "; cin>>type;//выбирите способ генерирования 1-комбинация СЛРР/0-одинарный СЛРР
cout<<"Ћв®Ўа*¦*вм бЈҐ*ҐаЁа®ў***лҐ ЎЁвл? (1-¤* / 0-*Ґв): "; cin>>point;//"Вкл. визуализацию процесса генерации? "
for(f=0;f<nfile;f++)
{
cout<<endl<<"‚ўҐ¤ЁвҐ Ё¬п Ё а*биЁаҐ*ЁҐ "<<f+1<<" д*©«*: "; scanf("%20s",&fname);//"Введите имя и размер файла"
cout<<"Џ®¤®¦¤ЁвҐ, д*©« ";printf("%s",&fname);cout<<" ЈҐ*ҐаЁагҐвбп..."<<endl;//"подождите,файл генерируется... "
fout=fopen(fname,"wb");
if(type==1)
{
 for(j=0;j<byt;j++)//цикл в котором формируется байт, биты которого - псп
 {
   for (k=0;k<24;k++)//цикл генерации бит
  {
   for(i=0;i<34;i++)//перемножение битов полинома и введенной последовательности
   {
    temp[i].t=vposl[i].v*polinom[i].p;
    rtemp.t=rtemp.t^temp[i].t;//суммирование по модулю два результата перемножения
   }
    if(k%3==0) {temp1.t=vposl[33].v; vposl[0].v=rtemp.t;}//присвоение байту псп бита, постановка утого бита на превое место в рез. перемнож.
    if(k%3==1) {temp2.t=vposl[33].v; vposl[0].v=rtemp.t;}
    if(k%3==2) {temp3.t=vposl[33].v; vposl[0].v=rtemp.t;
                if(k==2)  rez.r1=temp1.t^temp2.t^temp3.t;
                if(k==5)  rez.r2=temp1.t^temp2.t^temp3.t;
                if(k==8)  rez.r3=temp1.t^temp2.t^temp3.t;
                if(k==11) rez.r4=temp1.t^temp2.t^temp3.t;
                if(k==14) rez.r5=temp1.t^temp2.t^temp3.t;
                if(k==17) rez.r6=temp1.t^temp2.t^temp3.t;
                if(k==20) rez.r7=temp1.t^temp2.t^temp3.t;
                if(k==23) rez.r8=temp1.t^temp2.t^temp3.t;
                }
     for(i=34;i!=0;i--)//сдвиг последоват. полученой в результате перемножения полинома и введенной посл.
    {
     vposl[i].v=vposl[i-1].v;
    }
  }
 if(point==1)cout<<rez.r1<<rez.r2<<rez.r3<<rez.r4<<rez.r5<<rez.r6<<rez.r7<<rez.r8<<endl;
 fwrite(&rez,1,1,fout);
 }
fclose(fout);
cout<<"”*©« ";printf("%s",&fname);cout<<" бЈҐ*ҐаЁа®ў** Ё б®еа**Ґ*."<<endl;//"Файл сгенерирован и сохранен."
}
}
//------------------------------------------//
if(type==0)
{   
 for(j=0;j<byt;j++)//цикл в котором формируется байт, биты которого - псп
 {
   for (k=0;k<8;k++)//цикл генерации бит
  {
   for(i=0;i<34;i++)//перемножение битов полинома и введенной последовательности
   {
    temp[i].t=vposl[i].v*polinom[i].p;
    rtemp.t=rtemp.t^temp[i].t;//суммирование по модулю два результата перемножения
   }
     if(k==0) { rez.r1=vposl[33].v; }
     if(k==1) { rez.r2=vposl[33].v; }
     if(k==2) { rez.r3=vposl[33].v; }
     if(k==3) { rez.r4=vposl[33].v; }
     if(k==4) { rez.r5=vposl[33].v; }
     if(k==5) { rez.r6=vposl[33].v; }
     if(k==6) { rez.r7=vposl[33].v; }
     if(k==7) { rez.r8=vposl[33].v; }
     vposl[0].v=rtemp.t;
     for(i=34;i!=0;i--)//сдвиг последоват. полученой в результате перемножения полинома и введенной посл.
    {
     vposl[i].v=vposl[i-1].v;
    }
  }
 if(point==1)cout<<rez.r1<<rez.r2<<rez.r3<<rez.r4<<rez.r5<<rez.r6<<rez.r7<<rez.r8<<endl;
 fwrite(&rez,1,1,fout);
 }
fclose(fout);
cout<<"”*©« ";printf("%s",&fname);cout<<" бЈҐ*ҐаЁа®ў** Ё б®еа**Ґ*."<<endl;//"Файл сгенерирован и сохранен."
}
 
 
cout<<endl<<"ѓҐ*ҐаЁа®ў**ЁҐ Ё §*ЇЁбм ўбҐе д*©«®ў - §*ўҐаиҐ*л.";//"Генерация и сохранение всех вайлов завершено"
cout<<endl<<"Ќ*¦¬ЁвҐ «оЎго Є«*ўЁиг ¤«п ўл室*...";//"Нажмите любую клавишу для выхода"
getch();
}
9 / 9 / 3
Регистрация: 21.02.2010
Сообщений: 75
11.04.2010, 01:04  [ТС] 3
Кое как сам смог разработать… Но ваша мне нравится больше!))) Большое спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2010, 01:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Необходимо разработать программу для получения почтовых сообщений по протоколу POP3
Здравствуйте. Помогите, пожалуйста, реализовать. Спасибо. Необходимо разработать программу для...

Необходимо разработать 3d рисовалку кривых Базье и прямых векторов и Инкрементировать в программу.
Необходимо разработать 3d рисовалку кривых Базье и прямых векторов и Инкрементировать в программу....

Необходимо разработать программу, которая проверяет, является ли матрица магическим квадратом
Нужна ваша помощь !!

Разработать иерархию не менее 2 классов, и программу Разработать программу для реализации игры пятнашки. Разработать 2-3
Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и...

Необходимо разработать программу, реализующую простой класс на основе заданной структуры данных
1)Необходимо разработать программу, реализующую простой класс на основе заданной структуры данных....

Необходимо разработать программу, в которой нужно напечатать элементы очереди, что есть точными квадратами
Помогите, пожалуйста. Я буду Вам очень сильно благодарна ^^ Необходимо разработать программу, в...


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

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

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