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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ПавелИтель
 Аватар для ПавелИтель
8 / 8 / 1
Регистрация: 21.02.2010
Сообщений: 75
28.02.2010, 03:14     Необходимо разработать программу генерации ПСП #1
Прошу помочь. Кто учился на ЗС, ЗИ, Зм, в общем защитники инфы и те кто знаком с основами инф. Безопасности (криптографии) -
Необходимо разработать программу генерации ПСП.
Вид ГПСП: Пороговый генератор.
Количество ЛРЗР: 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й системе). Хочется разобраться в чем-то посерьезнее…
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 03:14     Необходимо разработать программу генерации ПСП
Посмотрите здесь:

Генерация ПСП C++
генератор ПСП по методу Фибоначчи C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен C++
C++ Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка.
C++ Составить программу генерации всех перстановок: натуральных чисел от 1 до n
необходимо изменить программу C++
C++ Предлагаю программу для генерации командной строки g++ (нахождения *.a в частности)
C++ Разработать алгоритм и тесты, написать и отладить программу Выполнить программу, проанализировать результат

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Кое как сам смог разработать… Но ваша мне нравится больше!))) Большое спасибо!
Yandex
Объявления
11.04.2010, 01:04     Необходимо разработать программу генерации ПСП
Ответ Создать тему
Опции темы

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