Skip to content

6213 Сарычев Н.В. Лаб.3 Вар.8 (17)#219

Open
exhaustion666 wants to merge 29 commits intoitsecd:mainfrom
exhaustion666:lab3-var8-(17)
Open

6213 Сарычев Н.В. Лаб.3 Вар.8 (17)#219
exhaustion666 wants to merge 29 commits intoitsecd:mainfrom
exhaustion666:lab3-var8-(17)

Conversation

@exhaustion666
Copy link

В ходе лабораторной работы мне нужно было реализовать гибридную криптосистему, которая будет сочетать в себе преимущества симметричных и ассиметричных алгоритмов шифрования.
Модуль file_utils.py используется для работы с файлами.
Модуль asymmetric_crypto.py используется для генерации ключа с помощью RSA алгоритма.
Модуль symmetric_crypto.py используется для шифровки и дешифровки информации, используя алгоритм Blowfish.
Модуль main.py является основным.
Для запуска программы необходимо указать аргументы командной строки:
python main.py generation для генерации ключей
python main.py encryption для шифровки информации
python main.py decryption для дешифровки информации.

@github-actions github-actions bot added In progress Код в процессе проверки Lab 3 Лабораторная 3 "Построение гибридной криптосистемы" labels May 26, 2025
if not (32 <= key_length_bits <= 448 and key_length_bits % 8 == 0):
raise ValueError("Blowfish key length must be between 32-448 bits in 8-bit increments.")

key_bytes = os.urandom(key_length_bits // 8)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

зачем вы ограничили пользователя вашей системы?
он должен иметь возможность задать ключ самостоятельно

Comment on lines 27 to 29
save_binary(config["public_key"], public_key.public_bytes(encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo))
save_binary(config["secret_key"], private_key.private_bytes(encoding=serialization.Encoding.PEM, format=serialization.PrivateFormat.TraditionalOpenSSL, encryption_algorithm=serialization.NoEncryption()))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

нарушение PEP

@exhaustion666
Copy link
Author

Теперь пользователь вводит длину ключа через аргумент командной строки с помощью python main.py generation --key-bits key_bits (где key_bits длина ключа в битах), а функция generate_keys() принимает на вход еще и полученную длину ключа. Также исправил недочет по PEP.

@Daria-creator-lab Daria-creator-lab added Approved Код зачтен. Можно сдавать теорию. and removed In progress Код в процессе проверки labels May 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved Код зачтен. Можно сдавать теорию. Lab 3 Лабораторная 3 "Построение гибридной криптосистемы"

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments