|
Вопрос # 4 883/ вопрос открыт / |
|
Здравствуйте, эксперты!
А много ли нужно знать, чтобы самому написать гсч?
 |
Вопрос задал: Адмирал (статус: Посетитель)
Вопрос отправлен: 5 января 2011, 10:59
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, stason!
ответ - без аппаратной части - невозможно написать качественный, нормальный гсч. С аппаратной - да, сравнительно легко (при наличии качественной аппаратной части).
Любой гсч, который написан только программно, в конце концов может быть легко повторен - у него немного начальных данных (время, характеристики компьютера).
Если это курсовая работа, то гсч можно сделать для такого дела. берем микрофонный вход, какой нибудь компонент, для чтения с него (например acm components и входной оцифрованный шум просто берем по некому модулю (что бы добавить равномерности и в диапазон попасть). И для "домашних целей" вполне подойдет.
А вот проверка гсч - это уже интереснее. обычно делают следующее, например, если генерируются двобайтовые числа, то разбиваем их на два отдельных байта и интерпретируем как координаты x,y. теперь можно ими заполнить поле 256 на 256. Если генератор хороший, то точки лягут равномерно, если нет, то будут явно видны "области", "полосы". Можно придумать и наносить радиально - часть числа - это радиус, а часть - это угол. Ещё можно не разбивать число, а брать попарно от генератора (суть то не меняется).
В целом, проверка гсч куда увлекательней и требует меньше сложной математики и больше фантазии.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 5 января 2011, 11:18
|
Мини-форум вопроса
Всего сообщений: 11; последнее сообщение — 9 января 2011, 17:12; участников в обсуждении: 6.
|
min@y™ (статус: Доктор наук), 5 января 2011, 11:05 [#1]:
Цитата (Адмирал):
А много ли нужно знать, чтобы самому написать гсч?
Нет, только алгоритм.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Тов. Женька (статус: 3-ий класс), 5 января 2011, 11:05 [#2]:
Я не знаю, что такое "гсч", так что могу предположить, что много.
|
|
min@y™ (статус: Доктор наук), 5 января 2011, 11:14 [#3]:
Цитата (Тов. Женька):
Я не знаю, что такое "гсч"
Это генератор (псевдо-)случайных чисел.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Тов. Женька (статус: 3-ий класс), 5 января 2011, 11:21 [#4]:
Вот оно что. Так рецептов же навалом, хоть MD5.
|
|
Вадим К (статус: Академик), 5 января 2011, 11:31 [#5]:
md5 - это не гсч. хотя на его базе построить гсч можно.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Тов. Женька (статус: 3-ий класс), 5 января 2011, 11:40 [#6]:
Так я на то и намекаю. Но важно ли то, что он генерирует псевдо-случайные числа?
|
|
min@y™ (статус: Доктор наук), 5 января 2011, 12:17 [#7]:
Цитата (Тов. Женька):
Но важно ли то, что он генерирует псевдо-случайные числа?
В цифровом мире не бывает случайных чисел, только ПСЕВДО-случайные.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Адмирал (статус: Посетитель), 6 января 2011, 18:21 [#8]:
чтото, я не очень понял, вот сейчас со своими знаниями на 0 что нужно прочитать чтобы сделать гсч(ссылочки было бы неплохо)
|
|
bugmenot (статус: 3-ий класс), 7 января 2011, 14:36 [#10]:
чтобы _свой_ - матан надо знать, и второй том кнута. а скопипастить - дело нехитрое.
АЦП кстати предсказуемо шумят
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
mirt.steelwater (статус: Посетитель), 9 января 2011, 17:12 [#11]:
рекомендую внимательно разобрать как работает построение хэш-функции (SHA1,MD5,Tiger и др.) - тогда сразу прийдет понимание алгоритма реализации псевдослучайности.
Ⓐ свобода сопротивление солидарность
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|