Git Product home page Git Product logo

isb-2's Introduction

Основы информационной безопасности

Лабораторная №2 "Статистический анализ псевдослучайных последовательностей"

В лабораторной работе изучается метод генерации случайных зна-чений и проверки сгенерированных последовательностей на случайность на основе тестов NIST.
Цель работы – обучение общим принципам статисти-ческого анализа на примере генераторов случайных чисел и их применение в ИБ.

Задание на лабораторную работу:

  1. Сгенерировать псевдослучайные последовательности с помощью стандартных ГПСЧ языков С/С++ и Java.
  2. Написать программу на любом языке программирования, реализующую представленные три теста линейки NIST и проверить с их помощью сгенерированные последовательности:
    2.1. Частотный побитовый тест.
    2.2. Тест на одинаковые подряд идущие биты.
    2.3. Тест на самую длинную последовательность единиц в блоке.
  3. Сделать вывод по полученным результатам и написать отчет по выполненной работе.

Результаты выполнения лабораторной работы:

Итоговый репозиторий с результатами выполненной лабораторной работы должен содержать:

  • Результат выполнения первой части задания:
    • Сгенерированная случайная последовательность;
    • Программный код генерации;
  • Результат выполнения второй части задания:
    • Программные коды тестов;
    • Рассчитанные результаты тестов и полученные значения;
  • Выводы по результатам тестирования.

Теоретическая информация приведена в методичке.

Правила работы с кодом:

  1. Для выполнения лабораторной работы сначала необходимо форкнуть этот репозиторий;
    1.1. Имя форкнутого репозитория может быть каким вам удобно;
    1.2. В дескрипшене репозитория будет полезно указать свои ФИО, номер группы; 1.3. Копировать необходимо main ветку;

  2. Склонировать полученный репозиторий себе на машину.

  3. Создать проект в выбранной IDE, начать реализовывать необходимый по заданию код и коммитить результаты;
    3.1. Преподаватель с большей вероятностью поверит в то, что код в репозитории написан вами лично, если коммитов в репозитории будет больше одного;
    3.2. Коммиты должны иметь вменяемые описания на английском языке;
    3.4. Если вы используете python, ваш репозиторий должен содержать файл requirements.txt;

  4. Когда необходимый код написан, соответствует принятым стандартам оформления кода и работает, необходимо сделать пул-риквест в исходный репозиторий;
    4.1. Название пул риквеста должно формироваться следующим образом: <Номер группы> <ФИО> Лаб.<Номер лабы>;
    4.2. В описание пул риквеста было бы неплохо добавить описание того, что от вас требовалось сделать в данной лабораторной согласно вашему варианту. Хотя бы на русском языке;
    4.3. Преподаватель поставит себя в ревьюеры, назначит вас исполнителем и произведет ревью;

  5. После успешного создания пул-риквеста производится ревью кода лабораторной;
    5.1. Если к работоспособности и внешнему виду кода нет претензий, то преподаватель аппрувит и закрывает пул риквест;
    5.2. Если претензии к коду есть, они указываются в ревью. После их устранения в рамках текущего пул риквеста, вам необходимо запросить повторное ревью;

  6. Поздравляю, практическая часть лабораторной принята, можно переходить к теоретической.

Правила сдачи лабораторных:

Для успешной сдачи лабораторной работы необходимо:

  1. Успешно закрыть пул-риквест;
  2. Ответить на вопросы по коду;
  3. Ответить на теоретические вопросы.

Количество и качество задаваемых вопросов может варьироваться.

Ремарки:

Работать с git вы можете так, как вам удобно:

Если вы столкнулись с непреодолимыми трудностями в ходе выполнения лабораторной работы, вы можете задать вопрос в:

  • дискорд-канале, посвященном предмету,
  • телеграм-чате вашего курса.

isb-2's People

Contributors

alxmcs avatar zidrielen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.