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

}

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

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


 

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

41114. ПРОЕКТУВАННЯ ЕЛЕКТРИЧНИХ МАШИН 8.02 MB
  Початку електромашинобудуванню поклало відкриття М. Фарадем закона електромагнітної індукції (1832-1833рр.). Більш ніж за півтора століття був пройдений шлях від простих моделей та пристроїв до сучасних конструкцій трансформаторів, двигунів та генераторів загального і спеціального призначення.
41116. Теплообмен при фазовых превращениях 848.5 KB
  Основные физические закономерности процесса конденсации. При конденсации пара происходит выделение тепла фазового перехода. Для возникновения процесса конденсации на поверхности твердого тела необходимо выполнение такого условия: температура поверхности стенки должна быть меньше температуры насыщения при данном давлении
41117. Идентификация технологических объектов и процессов 440.5 KB
  Модели в процессах познания и управления. Такие модели выступают в виде некоторого преобразователя рис. Эти модели отражают специфические взаимосвязи причин и следствий объектов при определенных допущениях.
41118. Представление данных в памяти компьютера 1.96 MB
  Основными задачами являются: приобретение студентом знаний о способах хранения данных в памяти компьютера и методах доступа к ним, о методах проектирования реляционных моделей данных, об использовании CASE-технологий при разработке приложений; приобретение навыков самостоятельной работы при создании концептуальных и логических моделей данных, при разработке физических моделей и управлению базой данных
41119. Общие сведения о SQL 3.27 MB
  Сегодня Oracle поставляет на мировой рынок огромное количество продуктов, услуг и решений, ее штат насчитывает более 43 тыс. человек, и доход этой компании, превысивший в 2000 году 10 млрд. долл., определяется не только продажами СУБД.
41120. Параллельные вычислительные системы 467 KB
  К распараллеливанию прибегают при проектировании отдельных устройств ЭВМ устройств управления буферов команд каналов обращения к памяти и модулей памяти многофункциональных арифметическологических устройств АЛУ повсеместно применяемых конвейеров и т. Сложилось представление о двух основных уровнях на которых в ВС применяются практические методы распараллеливания: на уровне программ процессов процедур первый уровень распараллеливания; на уровне команд и операций второй уровень распараллеливания. Уровень команд и операций...
41121. ПСИХОЛОГІЯ СТРАХУ ТА ФОБІЙ 69.5 KB
  Ознайомити студентів з особливостями емоції страху. Основні завдання: Охарактеризувати страх як емоційний стан поняття психологічна характеристика переживання страху причини та види страхів; Охарактеризувати фобію як емоційний стан; Порівняння емоцій страху та фобій; Визначити психотерапевтичні методи подолання страхів та фобій. Визначення емоційного стану людини за зовнішніми показниками Після читання лекції Характеристика страху та фобії; причини та наслідки переживання страхів та фобій; знання основних методів...
41122. учасні приклади біотехнологій в архітектурі.Об’єкти екологічного дизайну 1.48 MB
  Біосферна концепція розвитку екосистеми міста дизайнерські рішення як один з запобіжних факторів по зменшенню антропогенного навантаження на довкілля сучасні приклади проектування біопозитивних споруд В наш час багато Європейських організацій в тому числі і урядових структур погоджуються з тим що міста відіграють надзвичайно важливу роль в питаннях повязаних із зміною клімату. Усвідомлення цієї концепції відбулося через численні конференції та обговорення внаслідок чого деякі організацій виробили чітке прогресивне бачення того як...