Как сгенерировать
Перейти к содержимому

Как сгенерировать

Значение слова «сгенерировать»

/>Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!

Спасибо! Я обязательно научусь отличать широко распространённые слова от узкоспециальных.

Насколько понятно значение слова зощенковский:

Синонимы к слову «сгенерировать&raquo

Предложения со словом «сгенерировать&raquo

  • Обычно во всех подобных случаях испытуемые могут сгенерировать несколько слов по такому ключу, однако редко способны произвести исчерпывающий поиск.

Понятия, связанные со словом «сгенерировать»

Отправить комментарий

Дополнительно

Предложения со словом «сгенерировать&raquo

Обычно во всех подобных случаях испытуемые могут сгенерировать несколько слов по такому ключу, однако редко способны произвести исчерпывающий поиск.

Формально нет, так как первый десятичный знак всегда 1, второй – всегда 4 и так далее, сколько бы раз вы ни пытались сгенерировать эту последовательность.

С помощью карандаша и бумаги можно сгенерировать большее количество идей за относительно короткий период времени, не отвлекаясь на манипуляции с мышью, клавиатурой и так далее.

Синонимы к слову «сгенерировать&raquo
  • создать
  • породить
  • произвести
Правописание

Карта слов и выражений русского языка

Онлайн-тезаурус с возможностью поиска ассоциаций, синонимов, контекстных связей и примеров предложений к словам и выражениям русского языка.

Справочная информация по склонению имён существительных и прилагательных, спряжению глаголов, а также морфемному строению слов.

Подробно о генераторах случайных и псевдослучайных чисел

На Хабре и в сети часто начали появляться статьи, посвященные уязвимостям генераторов случайных чисел. Данная тема крайне обширна и является одной из основных в криптографии. Под катом находится описание случайных чисел от A до Z. Статья является результатом свободного перевода цикла статей из одного западного блога и личных дополнений автора. Основная цель — получить feedback и поделиться знаниями.
image

Введение
  • Генераторы сессий (PHPSESSID)
  • Генерация текста для капчи
  • Шифрование
  • Генерация соли для хранения паролей в необратимом виде
  • Генератор паролей
  • Порядок раздачи карт в интернет казино
Как отличить случайную последовательность чисел от неслучайной?

Пусть есть последовательность чисел: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 . Является ли она случайной? Есть строгое определение для случайной величины. Случайная величина — это величина, которая принимает в результате опыта одно из множества значений, причём появление того или иного значения этой величины до её измерения нельзя точно предсказать. Но оно не помогает ответить на наш вопрос, так как нам не хватает информации для ответа. Теперь скажем, что данные числа получились набором одной из верхних строк клавиатуры. «Конечно не случайная» — воскликните Вы и тут же назовете следующие число и будете абсолютно правы. Последовательность будет случайной только если между символами, нету зависимости. Например, если бы данные символы появились в результате вытягивания бочонков в лото, то последовательность была бы случайной.

Чуть более сложный пример или число Пи


Последовательность цифры в числе Пи считается случайной. Пусть генератор основывается на выводе бит представления числа Пи, начиная с какой-то неизвестной точки. Такой генератор, возможно и пройдет «тест на следующий бит», так как ПИ, видимо, является случайной последовательностью. Однако этот подход не является критографически надежным — если криптоаналитик определит, какой бит числа Пи используется в данный момент, он сможет вычислить и все предшествующие и последующие биты.
Данный пример накладывает ещё одно ограничение на генераторы случайных чисел. Криптоаналитик не должен иметь возможности предсказать работу генератора случайных чисел.

Отличие генератора псевдослучайных чисел (ГПСЧ) от генератора случайных чисел (ГСЧ)

Источники энтропии используются для накопления энтропии с последующим получением из неё начального значения (initial value, seed), необходимого генераторам случайных чисел (ГСЧ) для формирования случайных чисел. ГПСЧ использует единственное начальное значение, откуда и следует его псевдослучайность, а ГСЧ всегда формирует случайное число, имея в начале высококачественную случайную величину, предоставленную различными источниками энтропии.
Энтропия – это мера беспорядка. Информационная энтропия — мера неопределённости или непредсказуемости информации.
Можно сказать, что ГСЧ = ГПСЧ + источник энтропии.

Уязвимости ГПСЧ
  • Предсказуемая зависимость между числами.
  • Предсказуемое начальное значение генератора.
  • Малая длина периода генерируемой последовательности случайных чисел, после которой генератор зацикливается.
Линейный конгруэнтный ГПСЧ (LCPRNG)

Распространённый метод для генерации псевдослучайных чисел, не обладающий криптографической стойкостью. Линейный конгруэнтный метод заключается в вычислении членов линейной рекуррентной последовательности по модулю некоторого натурального числа m, задаваемой следующей формулой:

image

где a (multiplier), c (addend), m (mask) — некоторые целочисленные коэффициенты. Получаемая последовательность зависит от выбора стартового числа (seed) X0 и при разных его значениях получаются различные последовательности случайных чисел.

Для выбора коэффициентов имеются свойства позволяющие максимизировать длину периода(максимальная длина равна m), то есть момент, с которого генератор зациклится [1].

Пусть генератор выдал несколько случайных чисел X0, X1, X2, X3. Получается система уравнений

image

Решив эту систему, можно определить коэффициенты a, c, m. Как утверждает википедия [8], эта система имеет решение, но решить самостоятельно или найти решение не получилось. Буду очень признателен за любую помощь в этом направлении.

Предсказание результатов линейно-конгруэнтного метода

Основным алгоритмом предсказания чисел для линейно-конгруэнтного метода является Plumstead’s — алгоритм, реализацию, которого можно найти здесь [4](есть онлайн запуск) и здесь [5]. Описание алгоритма можно найти в [9].
Простая реализация конгруэнтного метода на Java.

Отправив 20 чисел на сайт [4], можно с большой вероятностью получить следующие. Чем больше чисел, тем больше вероятность.

Взлом встроенного генератора случайных чисел в Java

Многие языки программирования, например C(rand), C++(rand) и Java используют LСPRNG. Рассмотрим, как можно провести взлом на примере java.utils.Random. Зайдя в исходный код (jdk1.7) данного класса можно увидеть используемые константы

Метод java.utils.Randon.nextInt() выглядит следующим образом (здесь bits == 32)

Результатом является nextseed сдвинутый вправо на 48-32=16 бит. Данный метод называется truncated-bits, особенно неприятен при black-box, приходится добавлять ещё один цикл в brute-force. Взлом будет происходить методом грубой силы(brute-force).

Пусть мы знаем два подряд сгенерированных числа x1 и x2. Тогда необходимо перебрать 2^16 = 65536 вариантов oldseed и применять к x1 формулу:

до тех пор, пока она не станет равной x2. Код для brute-force может выглядеть так

Несложно понять, что мы нашли не самый первый seed, а seed, используемый при генерации второго числа. Для нахождения первоначального seed необходимо провести несколько операций, которые Java использовала для преобразования seed, в обратном порядке.

И теперь в исходном коде заменим
crackingSeed.set(seed);
на
crackingSeed.set(getPreviousSeed(seed));

И всё, мы успешно взломали ГПСЧ в Java.

Взлом ГПСЧ Mersenne twister в PHP

Рассмотрим ещё один не криптостойкий алгоритм генерации псевдослучайных чисел Mersenne Twister. Основные преимущества алгоритма — это скорость генерации и огромный период 2^19937 − 1, На этот раз будем анализировать реализацию алгоритма mt_srand() и mt_rand() в исходном коде php версии 5.4.6.

Можно заметить, что php_mt_reload вызывается при инициализации и после вызова php_mt_rand 624 раза. Начнем взлом с конца, обратим трансформации в конце функции php_mt_rand(). Рассмотрим (s1 ^ (s1 >> 18)). В бинарном представление операция выглядит так:

10110111010111100111111001110010 s1
00000000000000000010110111010111100111111001110010 s1 >> 18
10110111010111100101001110100101 s1 ^ (s1 >> 18)
Видно, что первые 18 бит (выделены жирным) остались без изменений.
Напишем две функции для инвертирования битового сдвига и xor

Тогда код для инвертирования последних строк функции php_mt_rand() будет выглядеть так

Если у нас есть 624 последовательных числа сгенерированных Mersenne Twister, то применив этот алгоритм для этих последовательных чисел, мы получим полное состояние Mersenne Twister, и сможем легко определить каждое последующее значение, запустив php_mt_reload для известного набора значений.

Область для взлома

Если вы думаете, что уже нечего ломать, то Вы глубоко заблуждаетесь. Одним из интересных направлений является генератор случайных чисел Adobe Flash(Action Script 3.0). Его особенностью является закрытость исходного кода и отсутствие задания seed’а. Основной интерес к нему, это использование во многих онлайн-казино и онлайн-покере.
Есть много последовательностей чисел, начиная от курса доллара и заканчивая количеством времени проведенным в пробке каждый день. И найти закономерность в таких данных очень не простая задача.

Задание распределения для генератора псевдослучайных чисел

Для любой случайной величины можно задать распределение. Перенося на пример с картами, можно сделать так, чтобы тузы выпадали чаще, чем девятки. Далее представлены несколько примеров для треугольного распределения и экспоненциального распределения.

Треугольное распределение

Приведем пример генерации случайной величины с треугольным распределением [7] на языке C99.

В данном случае мы берем случайную величину rand() и задаем ей распределение, исходя из функции треугольного распределения. Для параметров a = -40, b = 100, c = 50 график 10000000 измерений будет выглядеть так

image

Экспоненциальное распределение

Пусть требуется получить датчик экспоненциально распределенных случайных величин. В этом случае F(x) = 1 – exp(-lambda * x). Тогда из решения уравнения y = 1 – exp(-lambda * x) получаем x = -log(1-y)/lambda.
Можно заметить, что выражение под знаком логарифма в последней формуле имеет равномерное распределение на отрезке [0,1), что позволяет получать другую, но так же распределённую последовательность по формуле: x = -log(y)/lambda, где y есть случайная величина(rand()).

Тесты ГПСЧ

Некоторые разработчики считают, что если они скроют используемый ими метод генерации или придумают свой, то этого достаточно для защиты. Это очень распространённое заблуждение. Следует помнить, что есть специальные методы и приемы для поиска зависимостей в последовательности чисел.

Одним из известных тестов является тест на следующий бит — тест, служащий для проверки генераторов псевдослучайных чисел на криптостойкость. Тест гласит, что не должно существовать полиномиального алгоритма, который, зная первые k битов случайной последовательности, сможет предсказать k+1 бит с вероятностью большей ½.

В теории криптографии отдельной проблемой является определение того, насколько последовательность чисел или бит, сгенерированных генератором, является случайной. Как правило, для этой цели используются различные статистические тесты, такие как DIEHARD или NIST. Эндрю Яо в 1982 году доказал, что генератор, прошедший «тест на следующий бит», пройдет и любые другие статистические тесты на случайность, выполнимые за полиномиальное время.
В интернете [10] можно пройти тесты DIEHARD и множество других, чтобы определить критостойкость алгоритма.

Как сгенерировать пароль. Обзор генераторов паролей.

password-ftr (700x437, 38Kb)

Как сгенерировать пароль? В статье рассмотрим вопрос, и будут показаны сервисы для генерации паролей. Предоставленная информация поможет вам защитить вашу электронную почту и социальные сети.

Что такое пароль и зачем он нужен

Поговорим о том, что такое пароль, как его создавать. Ведь многие начинающие пользователи не знают, как правильно придумать сложные пароли, чтобы сохранить данные в Интернете.

Итак, простыми словами пароль – это набор сложных символов и букв, который нужен для защиты от несанкционированного доступа к информации. То есть, во время создания аккаунтов в социальных сетях, при регистрации электронных почт или учетных записей – рекомендуют создавать пароли. Таким образом, только вы будете иметь доступ к своему личному кабинету, а не «третьи лица». Это позволит вам не только уберечь аккаунт от взлома, но и защитить от воровства личные данные, финансовые реквизиты и так далее.

«>

Не все пользователи умеют создавать сложные пароли, и это приводит к тому, что взламывают аккаунты, личные кабинеты в Интернете, поскольку легкий пароль можно подобрать. Перед тем, как регистрировать почтовый ящик, создавать профиль в социальных сетях, рекомендуется подобрать сложный пароль. Об этом будет рассказано дальше.

Как сгенерировать пароль

Как сгенерировать пароль? Существует три способа это сделать – придумать самостоятельно, использовать сервисы и программы, которые генерируют пароли. Давайте рассмотрим все варианты по порядку.

Итак, чтобы придумать пароль самостоятельно, нужно перевести раскладку клавиатуры с русского на английский язык. Для этого нажмите клавиши Shift+alt одновременно. Далее запустите, какой-нибудь текстовый редактор, например, блокнот на компьютере. После чего напишите произвольно несколько букв, например, «sdrtGfdcawobCxz». Между буквами можно ставить цифры, тире, и другие символы. Придуманные пароли сохраните на компьютере, через кнопку в редакторе «Файл» «Сохранить как».

С использованием сервисов, вы создадите пароль за секунду. Просто выбираете на генераторе паролей (passgenerator.ru) длину символов, их типы и нажимаете «Генерировать» (скрин 1).

Как сгенерировать пароль

Показанные ниже пароли сможете скопировать, нажав на кнопку «Скопировать пароль в буфер обмена». В статье рассказывается о том, «что значит, скопировано в буфер обмена». Далее пароли можно сохранить в текстовый редактор на компьютере и использовать во время создания учетных записей.

Программы генерируют пароли так же, как и сервисы. Но они имеют больше возможностей и у них расширенный функционал для работы. Рассмотрим на примере утилиту для создания паролей – Awesome Password Generator. Переходите по ссылке выше и скачиваете утилиту. Затем устанавливаете на компьютер, нажав несколько раз «Далее». После чего программу запускаете (скрин 2).

Как сгенерировать пароль

Работает программа просто. Увеличиваете количество символов, кликнув по стрелке вверху, так же вы можете добавить символы, установив перед ними маркер. Когда программа сгенерирует пароль, выделите его левой кнопкой мыши, затем нажмите правой далее «Копировать». Теперь, пароль можно использовать. Кроме того, пароли умеют генерировать браузеры Яндекс, Гугл и так далее. К примеру, в процессе регистрации почты достаточно скопировать предлагаемый пароль от Яндекса и использовать.

Думается, вам понятен принцип генерации паролей. Далее рассмотрим несколько сервисов и программ, которые вы выберите для создания сложного пароля.

Генераторы паролей онлайн и программы

  1. Passgenerator.ru. Об этом сервисе мы уже говорили выше. Данный ресурс является надежным генератором по созданию паролей.
  2. Onlinepasswordgenerator.ru. Этот сервис работает по схожему алгоритму, что и первый проект. Добавляете специальные символы, устанавливаете длину пароля и нажимаете «Создать пароль».
  3. Calculator888.ru/generator-parolej. Здесь вы так же пишете длину пароля, выбираете символы. После чего жмите кнопку «Сгенерировать». Слева будет предоставлен список паролей, которые вы можете выделить и скопировать.
  4. Password List Generator. Это приложение позволяет создавать списки паролей бесплатно. Генерация паролей происходит быстро – выбираете категорию символов, пишете длину пароля и нажимаете «Generate». Внизу появится столбик с паролями.
  5. Приложение «Генератор паролей». После запуска программы на компьютере, установите количество символов, далее количество создаваемых паролей и специальные символы. Затем нажмите «Создать». Созданный список паролей можно скопировать.

Заключение

Сегодня мы рассмотрели способы генерации паролей – это сделали самостоятельно, с помощью сервисов и программ. Создать сложный пароль можно бесплатно и главное, сэкономите время. Созданные пароли для учетных записей в Сети нужно менять, хотя бы раз в месяц. Это позволит увеличить безопасность вашего аккаунта в социальной сети, почтового ящика и так далее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *