Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Афінні шифри

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Криптографічні системи та протоколи
Група:
БІ-31

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Лабораторна робота № 2 з дисципліни “Криптографічні системи та протоколи” на тему: “Афінні шифри ” Мета роботи: вивчитити метод шифрування тексту з допомогою афінних перетворень. 1. Завдання. Реалізувати програму, що дозволяє шифрувати інформацію з використанням афінних перетворень 2. Фрагменти тексту програми. кодування даних … int A[maxN][maxN], S[maxN]; for(int i=0;i<countSpin->Value;i++) { for(int j=0;j<countSpin->Value;j++) A[i][j]=StrToInt(keyA->Cells[j][i]); S[i]=StrToInt(keyS->Cells[0][i]); } int w=det(&A[0][0],countSpin->Value)%256; if (w<0) w+=256; int w_1, d=0; RAE(256,w,d,w_1); if(d!=1) { ShowMessage("Ключ не коректний\n(матриця А - не оборотна)"); } else { AnsiString text=placeText->Text; if(text.Length()%countSpin->Value!=0) { int m=countSpin->Value-text.Length()%countSpin->Value; for(int i=0;i<m;i++) text+=' '; } crypt(text,&A[0][0],&S[0]); placeText->Text=text; } … декодування даних … int A[maxN][maxN], S[maxN];int A_1[maxN][maxN], S_1[maxN]; for(int i=0;i<countSpin->Value;i++) { for(int j=0;j<countSpin->Value;j++) A[i][j]=StrToInt(keyA->Cells[j][i]); S[i]=StrToInt(keyS->Cells[0][i]); } int w=det(&A[0][0],countSpin->Value)%256; if (w<0) w+=256; int w_1, d=0; exEuclid(w, 256, &w_1, &d); w_1%=256; if (w_1<0) w_1+=256; if(d!=1) { ShowMessage("Ключ не коректний\n(матриця А - не оборотна)"); } else { for(int i=0;i<countSpin->Value;i++) for(int j=0;j<countSpin->Value;j++) { int addA_1[maxN][maxN]; int ii=0, jj=0, ai=0, aj=0; while(ii<countSpin->Value-1) { if(ai==i) { ai++; continue; } while(jj<countSpin->Value-1) { if(aj==j) { aj++; continue; } addA_1[ii][jj]=A[ai][aj]; aj++; jj++; } ai++; ii++; aj=0; jj=0; } A_1[j][i]=pow(-1,i+j)*det(&addA_1[0][0],countSpin->Value-1)*w_1; A_1[j][i]%=256; if (A_1[j][i]<0) A_1[j][i]+=256; } for(int i=0;i<countSpin->Value;i++) { S_1[i]=0; for(int j=0;j<countSpin->Value;j++) S_1[i]+=A_1[i][j]*S[j]; S_1[i]*=-1; S[i]%=256; if (S[i]<0) S[i]+=256; } AnsiString text=placeText->Text; crypt(text,&A_1[0][0],&S_1[0]); for(int i=text.Length();i>0;i--) if(text[i]==' ') text=text.SubString(1,text.Length()-1); placeText->Text=text; } … 5. Результати роботи  Рисунок 1 – Шифрування даних з використанням Афінних перетворень Висновок: На даній лабораторній роботі було засвоєно та реалізовано шифрування текстової інформації з використанням афінних претворень.
Антиботан аватар за замовчуванням

12.03.2013 15:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини