Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Модератор
Эксперт NIX
8424 / 3248 / 105
Регистрация: 24.05.2011
Сообщений: 14,447
Записей в блоге: 8
1

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

04.12.2016, 21:36. Показов 1846. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Глобально - создаю генератор паролей из псевдослучайных чисел.
Прошу помощи в "разборе полётов", что и где я думаю "не так".
Задача академического плана, в конечном работающем приложении воплощена будет вряд-ли. Просто хочу научиться "правильно мыслить".

Итак, суть такая:
1. Вычислить Fn, где F - число ряда Фибоначчи, n - двузначное или трёхзначное порядковое число.
2. Перевести полученный результат в строку.
3. Перевести в шестнадцатиричный вид.
4. Откинуть первые 2 - 4 знака.
5. Сопоставить каждые последующие пары знаков символам ASCII
6. Отфильтровать спецсимволы, выбрать 6 - 24 первых подряд идущих букв и цифр в качестве результата.
7. Выдать результат, очистить память.

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

Добавлено через 3 минуты
Я прошу объяснений что за чем выполнять.
То есть, порядок действий.
И как вычислить быстрее и проще.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2016, 21:36
Ответы с готовыми решениями:

Разбор генератора псевдослучайных чисел
вот прога : #include <stdio.h> #include <stdlib.h> #include <time.h> int gen_random( int...

Реализация генератора псевдослучайных чисел
748. Если готового датчика случайных чисел в распоряжении программиста нет, то он может...

Проверка качества генератора псевдослучайных чисел
Добрового врмени суток. У меня к вам очень большая просьба. Мне надо сделать курсовую работу в...

Проверка качества генератора псевдослучайных чисел
Здравствуйте. Надо сделать курсовую работу в MathCAD по предмету "Иммитационное моделирование" Тема...

10
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
05.12.2016, 00:32 2
Обычно делаю так
1. Беру массив символов, сортирую его в случайном порядке
2. Нужный по длине срез массива перевожу в строку
1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
05.12.2016, 01:37 3
Чем плохи стандартные схемы - криптохэш от парольной фразы / случайных данных?
Криптостойкость 1000-кратного хеширования пароля

blake2(Чем плохи стандартные схемы - криптохэш от парольной фразы / случайных данных? Криптостойкость 1000-кратного хеширования пароля) = ce1ab5667aae081a782c75520ba762c6bbef431ea28b7f7af68cd992d2be9b4cc29140fa82d2ad64 eab3720f391fe8df48d399cb2212a64e99295fafd1f5e819
1
Модератор
Эксперт NIX
8424 / 3248 / 105
Регистрация: 24.05.2011
Сообщений: 14,447
Записей в блоге: 8
05.12.2016, 03:13  [ТС] 4
ребяты, основная моя задача повелосипедить. Для общего развития.
Но всё равно спасибо.
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
05.12.2016, 06:52 5
Угу. В "Искусстве программирования" Кнут излагает (немыслимо сложный) "Алгоритм K" - "Супергенератор случайных чисел".
Д. Э. Кнут: Искусство Программирования. Том 2 Получисленные алгоритмы
(Программа, реализующая этот алгоритм, обещала быть настолько сложной, что тот, кто прочел бы ее распечатку, без толковых комментариев не смог бы в ней разобраться.)
После рассмотрения всех преобразований алгоритма К не кажется ли правдоподобным, что можно было бы обеспечить бесконечное снабжение невероятно случайными числами? Нет! На самом деле, когда этот алгоритм впервые был реализован на компьютере, он почти немедленно сошелся к 10-значному числу 6065038420, которое по невероятному совпадению преобразовалось само в себя по алгоритму.

Суть не в изобретении экзотических преобразований, а в доказательстве их корректности.

Для "стандартных" криптоалгоритмов такие доказательства получены (или, по крайней мере, не опровергнуты).

Для homemade "супергенераторов" весьма вероятна судьба "Алгоритма K".

Не по теме:

Пример на сходную тему: "Junk Stream Cipher" - посмотрите Intro.

1
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,470
05.12.2016, 08:42 6
Цитата Сообщение от NeoMatrix Посмотреть сообщение
Вычислить Fn, где F - число ряда Фибоначчи, n - двузначное или трёхзначное порядковое число.
Как Вы собираетесь выбирать n? Почему Вы решили, что цифры в числах Фибоначчи "случайные" (удовлетворяют соответствующим критериям)?
0
Модератор
Эксперт NIX
8424 / 3248 / 105
Регистрация: 24.05.2011
Сообщений: 14,447
Записей в блоге: 8
05.12.2016, 15:43  [ТС] 7
Цитата Сообщение от Shamil1 Посмотреть сообщение
Как Вы собираетесь выбирать n?
взять две или три из рандома
Цитата Сообщение от Shamil1 Посмотреть сообщение
Почему Вы решили, что цифры в числах Фибоначчи "случайные"
Они не могут быть случайными - это так же неслучайно, как и последовательность цифр в числах https://www.cyberforum.ru/cgi-bin/latex.cgi?\pi или e, но я ещё в заголовке отметил, что мы берём псевдослучайное число для дальнейшей обработки.
Давайте разберёмся для начала, как наиболее оптимально вычислить Fn, а потом пойдём дальше.
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,470
05.12.2016, 17:31 8
Цитата Сообщение от NeoMatrix Посмотреть сообщение
Они не могут быть случайными
"случайные" в смысле "равномерные" (поэтому я взял это слово в кавычки... чтобы не детализировать условия).
Предположим, что в числах Фибоначчи встречаются только цифры 1 и 2... или цифры 1 и 2 встречаются в 100 раз чаще остальных... или после 5 в половине случаев идёт 8... Какого качества пароли будут выдавать Ваш алгоритм?
0
Модератор
Эксперт NIX
8424 / 3248 / 105
Регистрация: 24.05.2011
Сообщений: 14,447
Записей в блоге: 8
05.12.2016, 19:14  [ТС] 9
Цитата Сообщение от Shamil1 Посмотреть сообщение
Какого качества пароли будут выдавать Ваш алгоритм?
Это неважно. Эти пароли нигде применяться точно не будут.
Мне нужно просто оптимизировать данный алгоритм, разобрать его "на косточки". Задача вообще академического плана.
То есть, нужно просто разобраться. Конечный результат не в создании готовой программы, а в том, чтобы я понял, как это всё работает.
Как оптимально вычислить Fn?
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
05.12.2016, 20:43 10
Цитата Сообщение от NeoMatrix Посмотреть сообщение
Как оптимально вычислить Fn?
Волшебным экспоненциальным алгоритмом, который базируется на возведении матриц в степень. Но если теорию лениво курить - можно погуглить готовые формулы / коды - например я на этом форуме несколько раз их постил.

Добавлено через 4 минуты
Например числа Фибоначчи
1
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,470
05.12.2016, 23:45 11
Лучший ответ Сообщение было отмечено NeoMatrix как решение

Решение

Цитата Сообщение от NeoMatrix Посмотреть сообщение
1. Вычислить Fn, где F - число ряда Фибоначчи, n - двузначное или трёхзначное порядковое число.
2. Перевести полученный результат в строку.
3. Перевести в шестнадцатиричный вид.
4. Откинуть первые 2 - 4 знака.
5. Сопоставить каждые последующие пары знаков символам ASCII
6. Отфильтровать спецсимволы, выбрать 6 - 24 первых подряд идущих букв и цифр в качестве результата.
7. Выдать результат, очистить память.
Пункт 2 лишний. Результат бесполезен для дальнейших вычислений, а времени перевод в строку в десятичной системе исчисления займёт больше, чем все остальные пункты вместе взятые.

Пункты 3 и 5 выглядят странно. Пункт 3 - превращаем цифры в символы. Пункт 5 - превращаем символы обратно в цифры.

1. Вычислить Fn (длинное число, как массив целых)
2. Организовать выдачу этого массива в виде последовательности байт.
Далее использовать стандартные функции по работе с последовательностями:
4. Skip
5. Map
6. Filter и Take
7. Очистку памяти доверить компьютеру
1
05.12.2016, 23:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2016, 23:45
Помогаю со студенческими работами здесь

Реализация генератора распределенных псевдослучайных чисел
Помогите разобраться с реализацией генератора распределенных псевдослучайных чисел на основе метода...

С помощью генератора псевдослучайных чисел образовать последовательность целых чисел в диапазоне от 140 до 220 (см)
3)С помощью генератора псевдослучайных чисел образовать последовательность целых чисел в диапазоне...

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

Заполнить матрицу с помощью линейного конгруэнтного генератора псевдослучайных чисел с заданными параметрами
Дана матрица M*N. Заполнить ее с помощью линейного конгруэнтного генератора псевдослучайных чисел с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru