20700

Генерування випадкових чисел

Лабораторная работа

Информатика, кибернетика и программирование

1КІ08 Морозов Артем Мета роботи: Усвідомити важливість проблеми генерування випадкових чисел під час вирішення задач захисту інформації ознайомитися з деякими способами генерування псевдовипадкових чисел усвідомити сильні і слабкі сторони алгоритмічних методів генерування випадкових чисел. Генератор випадкових чисел англ. Широко використовуються комп'ютерні системи для генерації випадкових чисел але часто вони малоефективні.

Украинкский

2013-07-31

89.26 KB

3 чел.

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

ВІННИЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

Кафедра ОТ

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

«Генерування випадкових чисел»

Виконав ст..гр.1КІ-08

Морозов Артем

Мета роботи: Усвідомити важливість проблеми генерування випадкових чисел під час вирішення задач захисту інформації, ознайомитися з деякими способами генерування псевдовипадкових чисел, усвідомити сильні і слабкі сторони алгоритмічних методів генерування випадкових чисел.

Генератор випадкових чисел (англ. Random number generator; часто скорочується як RNG, ГВЧ) — обчислювальний або фізичний пристрій, спроектований для генерації послідовності номерів чи символів, які не відповідають будь-якому шаблону, тобто є випадковими. Широко використовуються комп'ютерні системи для генерації випадкових чисел, але часто вони малоефективні. Ці функції, можливо, забезпечують достатньо випадковості для певних завдань (наприклад, для відеоігор), але є непридатними в тих випадках, коли потрібна «високоякісна випадковість», як, наприклад, у криптографічних програмах, статистиці або чисельному аналізі. Методи добування випадкових результатів існували здавна, зокрема, використання гральних костей, підкидання монети, тасування ігрових карт та ін.

Реалізація ГВЧ

Приклад роботи програми генератора випадкових чисел

Напишимо програму «Генератор випадкових чисел» на С++

#include<iostream>

#include<windows.h>

#pragmacomment(lib, "advapi32.lib")

intmain()

{

HCRYPTPROV hProvider = 0;

if (!::CryptAcquireContextW(&hProvider, 0, 0, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT))

 return 1;

const DWORD dwLength = 8;

BYTE pbBuffer[dwLength] = {};

if (!::CryptGenRandom(hProvider, dwLength, pbBuffer))

{

 ::CryptReleaseContext(hProvider, 0);

 return 1;

}

for (DWORD i = 0; i <dwLength; ++i)

 std::cout<<std::hex<<static_cast<unsigned int>(pbBuffer[i]) <<std::endl;

if (!::CryptReleaseContext(hProvider, 0))

 return 1;

}

Також покажимоКриптографічне забезпечення випадкових чисел в Windows з використаннямCryptoAPI (фрагмент , для виклику функції).

HMODULE hLib=LoadLibrary("ADVAPI32.DLL");

if (hLib) {

BOOLEAN (APIENTRY *pfn)(void*, ULONG) =

     (BOOLEAN (APIENTRY *)(void*,ULONG))GetProcAddress(hLib,"SystemFunction036");

if (pfn) {

charbuff[32];

 ULONG ulCbBuff = sizeof(buff);

if(pfn(buff,ulCbBuff)) {

// usebufffullofrandomgoop

 }

}

FreeLibrary(hLib);

}

Генерування випадкових чисел

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


 

А также другие работы, которые могут Вас заинтересовать

20701. Cтенографічний захист інформації 165.67 KB
  Для запуску програми необхідно задати: 1 звуковий файл формату МРЗ; 2 впроваджуваний файл будьякого формату; 3 пароль; 4 коефіцієнт стиснення; 5 рівень скритності. На першому етапі роботи програми впроваджуваний файл стискається з заданим користувачем коефіцієнтом стиснення. Блоксхема алгоритму роботи програми Puff представлена ​​на рисунку. Відповідно до класифікації методів впровадження інформації всі розглянуті в статті програми реалізують форматні методи.
20702. Гамування 75.04 KB
  Відкрите повідомлення MYNAMEІSARTEM Зашифруемо повідомлення Ключ k=i36mod 26 MYNAMEISARTEM 1 2 3 4 5 лат. Зашифроване повідомлення Шифрування Ci=tigimod N 16 8 4 2 1 k=i36 1 2 3 4 5 21 0 1 1 1 0 7 1 0 1 1 0 16 0 0 0 1 0 20 1 0 1 1 0 15 0 1 0 1 0 16 0 0 0 1 0 14 1 0 0 1 0 11 0 0 0 0 0 15 0 1 0 1 0 15 0 1 0 1 0 8 1 0 1 1 1 9 1 1 1 0 1 17 0 0 1 0 1 11 0 1 1 1 1 Висновки: В даній лабораторній роботі було розглянуто принципи гамування створено гаму і зашифровано за допомогою неї повідомлення.
20703. Шифри заміни 14.03 KB
  Ключ k=i27mod 33; i позиція букви у вхідному алфавіті k позиція букви у вихідному алфавіті Вхідний алфавіт: а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я Відкрите повідомлення: Морозов Зашифроване повідомлення: Єіліціи 2. Ключ 0 1 2 3 4 5 0 ж р ш в щ г 1 о у м х ф і 2 ч а п л к з 3 д ц ь ю н ґ 4 ї и я б т с 5 е є й Відкрите повідомлення: Морозов Зашифроване повідомлення: 12100110251003 Висновки: Шифри заміни почали використовувати ще до н.е але попри те вони є популярними і на даний...
20704. Шифри перестановки 19.62 KB
  Ключ Сонечко 5 4 3 1 6 2 4 С о н е ч к о 1 2 4 4 3 5 6 м е н і т р и н а д ц я т и й м и н а л о я п а с я г н я т а з а с е л о м Виписуємо у порядку зростання цифр кожен стовбець :мнйяял еампто тяаяа ндиаам іцнсз ртлгс иионе 2 Побудова шкали рознесення і по ній шкалу набору для шифрування з подвійною перестановкою Ключ: Сонечко веселе с о н е ч к о 5 4 3 1 6 2 4 В 3 М Я Т А С л О Е 7 Е Ц И П Я Е М С 21 Н Д Й Я Г С е 7 І А М О Н А л 16 т Н И Л Я З е 7 р И н А т А Маршрут запитуваннязчитування Змінюємо рядки у відповідності зростання цифр е...
20705. Стандарт шифрування даних DES 70.76 KB
  Data Encryption Standard це симетричний алгоритм шифрування даних стандарт шифрування прийнятий урядом США із 1976 до кінця 1990х з часом набув міжнародного застосування. DES дав поштовх сучасним уявленням про блочні алгоритми шифрування та криптоаналіз. Вхідні дані MYNAMEISARTEM Шифрування з використанням випадкового ключа Результат шифрування даних ТЭ1oЋ HЎ т ПqАgy Результати розшифрування L .
20706. Гамування з зворотнім зв’язком 111.8 KB
  1КІ08 Морозов Артем Вінниця 2012 Вхідні дані My Name is Artem Ключ ч7є'V B1{XKСтЌuЭ0UБlЋоJј Шифрування простою заміною Гамування Зашифроване повідомлення г ЎвжЃЫjґЎqkіп'gИ Гамування з зворотнім звязком зворотний зв'язок не залежить від відкритого і зашифрованого тексту. Вона в цьому випадку відбувається за гамою з виходу алгоритму блочного шифрування У цьому режимі алгоритм блочного шифрування використовується для організації процесу поточного зашифрування так само як і у вищеперелічених режимах гамування.
20708. Экстремумы и точки перегиба 99 KB
  Определение: Если то называется точкой строгого локального минимума. Определение: Если то называется точкой локального максимума. Определение: Если то называется точкой строгого локального максимума.
20709. Первообразная функция и неопределенный интеграл 82 KB
  Опр: Функция называется первообразной для функции на промежутке если . Если первообразная для функции на и с произвольная постоянная то функция также является первообразной для . Если первообразная для функции на и первообразная для функции на то найдется с: . Вывод: Таким образом множество всех первообразных для на представимо в виде Опр: Множество всех первообразных функции на наз.