Skip to content

K1ndWha1e/cryptography_mirea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Программы для выполнения лаборатоных работ по криптографии

Last Commit Commit status Watchers

В этом репозитории представлены программы для решения лабораторных работ по криптографии в РТУ МИРЭА

Установка

#клонирование репозитория
$ git clone https://github.com/K1ndWha1e/cryptography_mirea.git

#открываем папку репозитория
$ cd cryptography_mirea

#установить python3 и python3-pip, если ещё не установлены

#теперь, скачиваем необходимые пакеты
$ python3 -m pip install -r requirements.txt

Использование

Лабораторная 1. Шифр перестановки

if __name__ == "__main__":
    original_text = 'Иванов Иван Иванович'.upper().   #здесь можно вписать ваше сообщение
    key = '3142' #1 < любой ключ < много-много
    key_length = len(key)

    encrypted_message = Encoding(original_text, key_length, key).start()
    Decoding(encrypted_message, key, key_length).start()

Лабораторная 3. RSA алгоритм

if __name__ == '__main__':
    message = "Иванов Иван Иванович"   #меняем сообщение на своё
    p = 7                              #любое простое число
    q = 17                             #любое простое число
    e = 29                             #любое простое число, которое обратно по модулю числу эйлера

    RSA(message=message, p=p, q=q, e=e).start()

Лабораторная 3. Алгоритм на основе задачи об укладке ранца.

if __name__ == "__main__":
    message = 'Иванов Иван Иванович'.lower()         #меняем сообщение на своё
    secret_key = [2, 3, 6, 13, 27, 52, 105, 210]     #секретный ключ, где каждый последующий элемент больше суммы придыдущих
    number_m = 420                                   #число, которое больше всех элементов ключа
    number_n = 31                                    #число, которое пропорционально по модулю числу 'm'

    Backpack(message=message, secret_key=secret_key, m=number_m, n=number_n).start()

Лабораторная 3. Алгоритм Эль-Гамаля

if __name__ == "__main__":
    message = "Иванов Иван Иванович".lower()         #меняем сообщение на своё
    p_number = 37                                    #любое простое число
    g_number = 2                                     #число, которое первообразным корнем по модулю p и меньше p (что бы это не значило)
    x_number = 5                                     #

    El_Gamal(message=message, p_number=p_number, g_number=g_number, x_number=x_number).start()

About

Лабораторные по криптографии

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages