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);

}

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

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


 

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

53567. Акционерное финансирование 24.5 KB
  Привлечение инвестиционных ресурсов в рамках метода акционерного финансирования осуществляется посредством дополнительной эмиссии обыкновенных или привилегированных акций.
53568. Ознайомлення з клавіатурою ПК 65.5 KB
  Клавіатура призначена для введення символьної інформації до ПК та для управління роботою ПК. За своїм призначенням всі клавіші поділяються на 5 полів: основна клавіатура; функціональна клавіатура; цифрова клавіатура; клавіатура керування курсором і редагування; поле індикації. Основна клавіатура Ця клавіатура має дві групи клавіш: білі клавіші для введення алфавітноцифрової інформації; сірі клавіші керування. Алфавітноцифрова клавіатура має чотири ряди символьних клавіш на яких зображені чорним кольором латинські літери...
53569. Відсоткові розрахунки. Формула складних відсотків 547.5 KB
  Формула складних відсотків Клас 9 Час заняття 2 години Тип кейсу аналітичний Cseincident method Вид кейсу учбовий. Формула складних відсотків Перед учителем математики стоїть завдання: у який з банків міста Біла Церква вчителю вигідно вкласти депозит у сумі 5 000 грн. Як вигідно вкласти кошти: з капіталізацією відсотків складний відсоток або без капіталізації відсотків простий відсоток. Для вирішення проблеми підготовлений кейс у якому запропоновано інформація про депозити; інформація про нарахування складних і простих...
53570. Управление запасами 29 KB
  Большая величина инвестиций, необходимых для создания запасов материалов группы А и В требуют применения специальных методов для управления их запасами.
53571. Кейс-технология на уроках русского языка 4.22 MB
  Респондентам людям от 15 до 25 лет было предложено объяснить значения слов которые широко употреблялись представителями предыдущих поколений: честь совесть этика мораль патриотизм и др. Респондентам людям от 15 до 25 лет было предложено объяснить значения слов которые широко употреблялись представителями предыдущих поколений: честь совесть этика мораль патриотизм и др. Респондентам людям от 15 до 25 лет было предложено объяснить значения слов которые широко употреблялись представителями предыдущих поколений: честь...
53572. Продукти харчування і здоров’я 156.5 KB
  Мета уроку: Навчальна: формування поняття про харчові добавки штрихкод генномодифіковані продукти. Форма проведення: урокконсультація Тип уроку: урок засвоєння нової інформації Обладнання: виставка інформаційних джерел про здорове харчування і харчові добавки; епіграф уроку; плакати про штрихкод шкідливі добавки про правила покупця; чорний ящик; набори упаковок продуктів...
53573. Харківщина - моя Батьківщина 169 KB
  Кожна дитина повинна зрозуміти що не тільки вчитель а й сам він учень є вихованцем самого себе як індивідуальності а саме: вдосконалювати себе поєднувати в собі єдність слова і діла поглядів і вчинків моралі і поведінки та розвивати традиції народу. Звучить пісня Бабаї Учень Що стоїть за словом Батьківщина Може то садочок пишним цвітом Чи криниця з чистою водою Поле що так смачно пахне літом Чи стеблина поєна росою Учень Знаєш брате мабуть Батьківщина То наша родина й домівка То земля що зветься Україна То село якому...
53574. Театральне та літературне життя Харкова початку ХХ століття 474.5 KB
  Учитель з художньої культури Доброго дня З великим задоволенням пропоную вам розпочати урок під час якого ми познайомимося з надзвичайно цікавою інформацією яка допоможе не тільки краще зрозуміти культурномистецьке життя Харкова на початку ХХ століття а також дасть можливість усвідомити культурні звязки між митцями. Заснування стаціонарного театру мало велике значення для розвитку культурномистецького життя.Старицький повість Оборона Буші драматичні твори За двома зайцями та Циганка Аза пісня що стала народною Ніч яка...
53575. Управление дебиторской задолженностью 28.5 KB
  Дебиторская задолженность представляет собой долг покупателей за проданную им продукцию. Длительность финансового цикла и соответственно требуемый объем инвестиций в его обеспечение во многом зависит от периода оборачиваемости дебиторской задолженности.