20700

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

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

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

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

Украинкский

2013-07-31

89.26 KB

2 чел.

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

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

Кафедра ОТ

Лабораторна робота №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);

}

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

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


 

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

31390. ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА: выбор темы, подбор материалов, выполнение и защита 272.5 KB
  В пособии отражены основные вопросы организации и выполнения выпускных квалификационных работ обучающимися в Воронежском институте МВД России слушателями и студентами по специальностям «Юриспруденция» и «Правоохранительная деятельность».
31391. Проект механического цеха по изготовлению деталей ГТД типа «Крышка» 1.21 MB
  В первом разделе проведен анализ детали описан технологический процесс ее изготовления проведен размерный анализ рассчитаны нормы времени и режимы резания.4 Расчет расценки на детали входящие в УМК. В технологической части выпускной квалификационной работы выполнен детальный анализ и разработан технологический процесс механической обработки детали Крышка. В конструкторской части разработаны два специальных автоматизированных станочных приспособления для установки и закрепления детали при механической обработке.
31392. Разработка проекта информационной системы управления предприятием (по материалам ООО «Торг-Сервис», г. Краснодар) 616 KB
  Объектом исследования настоящей курсовой работы являются бизнес-процессы торговой организации ООО «Торг-Сервис». Целью работы является проектирование автоматизированной информационной системы управления предприятием. Методы исследования - аналитический, экспертный. Анализ и сравнение востребованных данных с течением времени. Методы аналогий и сравнений.
31393. СОЗДАНИЕ СТУДЕНЧЕСКОГО БЛОГА 2.79 MB
  Правила ведения блога. Структура блога ОПИСАНИЕ ПРЕДПРИЯТИЯ. В данной дипломной работе главное внимание уделяется решению вопроса создание блога в ССЭТ €œРодник€ формирования отчетной информации о денежных потоках ее анализа и использования в системе управления данным предприятием.
31394. Производственная преддипломная практика. Учебно-методический комплекс 123.5 KB
  Цели и задачи производственной преддипломной практики 3 База производственной преддипломной практики и рабочие места студентов 4 Содержание производственной преддипломной практики и методики указания к ее проведению 5 Индивидуальное задание по специальности 080115 Таможенное дело 6 Оформление результатов производственной преддипломной практики 7 Подтверждение итогов производственной преддипломной практики 1. Во время практики студентами должны быть закреплены и конкретизированы результаты теоретического обучения...
31395. Нивелирование 69 KB
  Нивелирование — вид геодезических работ, в результате которых определяют разности высот (превышения) точек земной поверхности, а также высоты этих точек над принятой отсчетной поверхностью.
31396. Учет ведения полюсов 61.69 KB
  Дано: Окончательный расчет рисков страхования. Требуется: Составить сводную таблицу выданных полюсов страхования. Периодичность и область применения: Сводная таблица выданных полюсов страхования на момент запроса составляется ежеквартально. Техноэкономическая эффективность: Автоматизированное составление вывести сводную таблицу выданных полюсов страхования момент запроса существенно повысит эффективность работы организации.
31397. Мониторинг страховых случаев без учета ущерба 62.79 KB
  Цель задачи: Осуществить мониторинг всех страховых случаев объектам страхования и расчет стоимости ущерба. Дано: Сводная таблица выданных полюсов страхования Заявление на страховой случай Справочник клиентов. Требуется: Определить расчет ущерба по объекту страхования Организационноэкономическая сущность: Данная задача состоит в том чтоб собрать всю информацию по страховым случаям в одну таблицу для дальнейшего анализа. Периодичность и область применения: Ведомость расчета ущерба по объекту страхования на момент запроса составляется...
31398. Алгоритм 25.04 KB
  Алгоритм, алгорифм (ағылшынша: algorіthm, algorіsmus Әл-Хорезмидің атынан шыққан) - бастапқы берілген мәліметтермен бір мәнде анықталатын нәтиже алу үшін қай амалды (жұмысты) қандай ретпен орындау қажеттігін белгілейтін есептерді