Git Product home page Git Product logo

isb-1's Introduction

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

Лабораторная №1 "Простейшие методы шифрований текстовых сообщений"

В лабораторной работе изучается метод кодирования текста шифром простой подстановки и декодирования при помощи частотного анализа текстовой последовательности.

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

  1. Закодировать любой связный текст (не менее 500 символов), любым произвольным шифром простой подстановки (моноалфавитная замена) или перестановки.
  2. Расшифровать текст из методички, закодированный шифром простой подстановки (моноалфавитная замена) в соответсвии со своим вариантом.

Варианты заданий

Каждый студент выполняет задание индивидуально. Номер варианта соответсвует позиции ФИО студента в списке группы по модулю 10. (0 соответсвует 10-му варианту).

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

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

  • исходные коды для выполнения обоих заданий лабораторной работы (подразумевается python),
  • исходный шифруемый текст для задания 1,
  • результат шифрования текста для задания 1,
  • ключ шифрования текста для задания 1,
  • исходный зашифрованный текст для задания 2 согласно варианту,
  • результат дешифровки текста для задания 2,
  • найденный ключ шифрования текста для задания 2.

Подразумевается, что ключ шифрования для задания 1 доступен для редактирования пользователям вашего софта. Поощряется применение практик построения приложения, полученных в предыдущем семестре в рамках курса "Прикладное программирование".

Варианты заданий и теоретическая информация приведены в методичке.

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

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

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

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

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

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

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

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

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

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

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

Ремарки:

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

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

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

isb-1's People

Contributors

alxmcs avatar zidrielen avatar kopvas avatar rytpl avatar c0de1sl1fe 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.