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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ПавелИтель
8 / 8 / 1
Регистрация: 21.02.2010
Сообщений: 75
#1

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

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

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

Вот программа с таким же результатом, но без алгоритма. http://www.cyberforum.ru/cpp-beginne...tml#post560610
Простой ксор. Она тянет на 3 бала (по 5й системе). Хочется разобраться в чем-то посерьезнее…
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 03:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Необходимо разработать программу генерации ПСП (C++):

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. - C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в...

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен - C++
Вывести на экран все записи товаров, определенного ценового диапазона. Ценовой диапазон указывается пользователем. ТОВАР: наименование...

Генерация ПСП - C++
Пожалуста, помогите. Задача состоит в том чтобы написать на С++ генератор псевдослучайных последовательностей по формуле: Y=F*Y, где F...

Разработать программу «Система учета работников предприятия»; разработать собственный тип «Работник» - C++
Всем привет. Есть задача: Разработать программу «Система учета работников предприятия». Разработать собственный тип «Работник» - ...

Создать программу генерации HTML файла - C++
Здравствуйте, помогите пожалуйста! Вот задание. Имеется два входных файла – файл_с_текстом и файл_словаря. Файл_с_текстом содержит...

генератор ПСП по методу Фибоначчи - C++
Нужно реализовать генератор ПСП по методу Фибоначчи, используя полином 9D (16) = 1001 1101 (2) Имеем к примеру начальное...

2
MeGAbait
Сообщений: n/a
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();
}
ПавелИтель
8 / 8 / 1
Регистрация: 21.02.2010
Сообщений: 75
11.04.2010, 01:04  [ТС] #3
Кое как сам смог разработать… Но ваша мне нравится больше!))) Большое спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2010, 01:04
Привет! Вот еще темы с ответами:

Составить программу генерации всех перстановок: натуральных чисел от 1 до n - C++
Перестановкой из n элементов называется последова-тельность длины n, все элементы которой различны. Со-ставить программу генерации всех...

Предлагаю программу для генерации командной строки g++ (нахождения *.a в частности) - C++
То есть, если один файл *.a надо найти да тем более знаешь где он , то это не представляет трудностей. А как вам такая командная строка? ...

Разработать алгоритм и тесты, написать и отладить программу Выполнить программу, проанализировать результат - C++
Из матрицы У(k, k) получить вектор Т, элементами которого являются элементы главной диагонали матрицы.

Необходимо разобрать программу - C++
Добрый день . встретились такие операторы как&quot;ch+=(char) 32&quot; и &quot;ch-=(char) 32&quot; Объясните принцип работы этих операторов. В моей книге об...


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

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

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