Генерування псевдовипадкових бітів BBS генератором

Автор работы: Пользователь скрыл имя, 08 Декабря 2013 в 15:10, лабораторная работа

Описание работы

Дану лабораторну роботу я виконував на мові програмування PHP. PHP є серверною мовою програмування. Тому, для її запуску потрібен локальний сервер та браузер. Нижче представлений код програми та коментарі.

Файлы: 1 файл

Лаб8.doc

— 118.50 Кб (Скачать файл)

Міністерство  освіти і науки України

Національний університет  «Львівська політехніка»

 

 

 

 

 

 

 

                                                                                        Кафедра ІСТ

 

 

 

 

 

 

 

 

Лабораторна робота №8

з дисципліни

«Захист інформації»

 

 

 

 

 

 

 

 

 

 

 

 

 

Виконав:

ст. групи КН-41

Попко М. О.

Прийняв:

доц. Волошин В. В.

 

 

 

 

 

 

 

 

Львів-2012

 

Тема: Генерування псевдовипадкових бітів BBS генератором.

 

Мета: Отримати навички генерування псевдовипадкових бітів BBS генератором.

 

 

 

 

Теоретичні  відомості

Щоб отримати із п випадкових бітів l псевдовипадкових, потрібно:

  • Вибрати випадково прості p і q такі, що для і ;
  • Вибрати випадковий елемент і обчислити ;
  • Для і від 1 до l обчислювати

,

Подати на вихід послідовність 

 

Завдання

  1. Програмно реалізувати генерування псевдовипадкових бітів за допомогою BBS генератора.
  2. Побудувати псевдовипадкову послідовність 58 бітів при p=19, q=31.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст програми з коментарями

Дану лабораторну роботу я виконував на мові програмування PHP. PHP є серверною мовою програмування. Тому, для її запуску потрібен локальний сервер та браузер. Нижче представлений код програми та коментарі.

 

Код програми:

$n = $_GET['kluch_n'];

$p = $_GET['kluch_p'];

$q = $_GET['kluch_q'];

if( (empty($p) || empty($q)) || (($p%4 != 3) || ($q%4 != 3)) ) { echo '<span style="color:red;">Числа  p та q повинні дорівнювати 3 за mod 4</span>'; } // Якщо не виконується дана умова, то програма зупиняється і виводиться відповідне повідомлення, інакше продувжуємо:

else {

$m = $p*$q;

$r = rand(3,$m);

$x[0]= pow($r, 2) % $m;

echo '<p style="margin-left:5px;">r = <b>'.$r.'</b></p>';

 

echo '<table border="1">';

echo '<tr><td><b>i</b></td>';

for($i=0;$i<=$n;$i++){

echo '<td>'.$i.'</td>';

}

echo '</tr>';

echo '<tr><td><b>x(i)</b></td>';

for($i=1;$i<=$n+1;$i++){

$x[$i] = pow($x[$i-1], 2) % $m;

echo '<td>'.$x[$i-1].'</td>';

}

echo '</tr>';

echo '<tr><td><b>sa(i+1)</b></td>';

for($i=1;$i<=$n+1;$i++){

$x[$i] = pow($x[$i-1], 2) % $m;

$sa[$i] = $x[$i-1] % 2;

echo '<td><b>'.$sa[$i].'</b></td>';

}

echo '</tr>';

echo '</table>';

 

}

 

 

Код самої форми

<form action="lab8+.php">

<p><span style="padding-right:4px">Введіть  n = </span><input type="text" name="kluch_n" size="11"> - довжіна бітів</p>

<p><span style="padding-right:4px">Введіть p = </span><input type="text" name="kluch_p" size="11"></p>

<p><span style="padding-right:4px">Введіть  q = </span><input type="text" name="kluch_q" size="11"></p>

<p><input type="submit" value="Згенерувати!" size="10"></p>

</form>

 

 

 

 

 

Результат виконаної  роботи:

 

 

 

Висновок:

На даній лабораторній роботі, я отримав навички та програмно реалізував BBS генератор псевдовипадкових бітів за відомими числами p та q, використовуючи серверну мову програмування PHP.


Информация о работе Генерування псевдовипадкових бітів BBS генератором