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

}

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

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


 

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

57671. Жизнь общества. Повторение грамматики 1.33 MB
  Цели урока (разрабатываются совместно с учениками): Повторить грамматический материал The Present Simple (Indefinite) Tense; Изучить и первично закрепить грамматический материал The Present Simple (Indefinite) Passive Voice...
57672. Свята і традиції. Національні свята України та Великої Британії 135 KB
  Today the topic of our lesson is “Holidays in Great Britain”. We shall talk about different English traditions and customs, learn new things about the traditions of celebration of different English holidays.
57673. Образ жінки в мистецтві 162 KB
  These words are of the same meaning. A woman is the beginning of every starting. She is a source of happiness, joy and attraction. She is beautifull in her appearance, behaviuor and as a person as well.
57674. Великобританія та Україна 62.5 KB
  Yes, you’re right. But today I propose you to watch a TV programme about another one British park. Be ready to discuss the programme and we’ll practice the dialogues to improve your communicative skills.
57675. Одяг. Професії 110.5 KB
  Well, you are pupils and you are wearing white shirts or blouses, black skirts or trousers. And what about people of different professions. Your home task was to make up short dialogues using the pictures.
57676. Їжа та напої 1.04 MB
  Of course,you are right! Our mood depends on our meals. As you guessed, The topic of our today lesson is Food and Drinks. We will speak, read, listen, write about food and drinks during our lesson.
57677. Healthy way of life. What does it mean to ве healthy? 89.5 KB
  You see the Sun on the blackboard, it’s our health. What is health for you? What do you associate with health? And the first task is “Associations”. Write your associations with the word “Health” on these stripes-sunrays and stick to our Sun.
57678. In sound body - sound mind 129.5 KB
  Good health is a great gift. The English proverb says, «Health is not valued till illness comes». The most important thing in the world is our health. Each person is a creator of the human body. Now look at the blackboard. Here you see the main words of the proverb.
57679. Veterans Day 188.5 KB
  Veterans Day is observed with ceremonies at war monuments and cemeteries throughout the nation. Almost every village has a monument to veterans who served in one of the country’s wars.