Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
1adf5a9
start
Jupiter0303 Mar 25, 2025
b19ed1e
start
Jupiter0303 Mar 25, 2025
e0983c3
encryption
Jupiter0303 Mar 25, 2025
6230d13
encryption
Jupiter0303 Mar 25, 2025
f160185
encryption
Jupiter0303 Mar 25, 2025
efc8117
encryption
Jupiter0303 Mar 25, 2025
56f4c71
path_generation
Jupiter0303 Mar 25, 2025
2e367a1
path_generation
Jupiter0303 Mar 25, 2025
fcc297a
encryption
Jupiter0303 Mar 25, 2025
1982038
много данных потерял в матрице
Jupiter0303 Mar 25, 2025
4654691
create_dict_encrypted_text
Jupiter0303 Mar 26, 2025
f26ab46
decryption
Jupiter0303 Mar 26, 2025
8a13df2
неудачная попытка написать функцию декондинга - проблема при зациклив…
Jupiter0303 Apr 6, 2025
8022e20
вторая попытка создать функцию декодинга и в силу сложности нечитабел…
Jupiter0303 Apr 6, 2025
b165145
простая реализация декодинга по ключу + swap просто меняет значения п…
Jupiter0303 Apr 6, 2025
de18799
main
Jupiter0303 Apr 6, 2025
85f43f2
форматирование кода по pep 8
Jupiter0303 Apr 7, 2025
329d3a0
подстановка ключа и записи в файлы результатов
Jupiter0303 Apr 7, 2025
679378d
изменена логика составления путь по которому будем смотреть столбцы м…
Jupiter0303 Apr 8, 2025
1f1f22e
Появилась проблема потери столбцов матрицы в encryption,так как путь …
Jupiter0303 Apr 8, 2025
b411f42
task1
Jupiter0303 Apr 8, 2025
61270c7
task1
Jupiter0303 Apr 8, 2025
c7798f3
task1
Jupiter0303 Apr 8, 2025
0af5d13
удалил лишние файлы
Jupiter0303 Apr 9, 2025
d8d9d5b
Старт
Jupiter0303 Sep 23, 2025
c604edd
отформатировал main
Jupiter0303 Sep 23, 2025
862874f
отформатировал asymmetric.py
Jupiter0303 Sep 23, 2025
65406fc
отформатировал config.py и добавил исключение
Jupiter0303 Sep 23, 2025
99ff838
отформатировал symmetric.py и исправил размер блока при депаддинге в …
Jupiter0303 Sep 23, 2025
5de4f19
отформатировал fileOrganisation.py и добавил исключения
Jupiter0303 Sep 23, 2025
510eada
отформатировал импорты модулей
Jupiter0303 Sep 23, 2025
8d68328
исправил имена файлов в json файле и удалил лишние
Jupiter0303 Sep 23, 2025
a98404e
Обернул все функции в fileOrganization.py в статические методы единог…
Jupiter0303 Sep 26, 2025
092893f
создал модуль scenarios.py в который из main перевел все три сюжета а…
Jupiter0303 Sep 26, 2025
9a821b6
удалил .idea директрию
Jupiter0303 Sep 26, 2025
7f9f2c0
удалил lab_1 директорию
Jupiter0303 Sep 26, 2025
fb0874c
удалил lab_2 директорию
Jupiter0303 Sep 26, 2025
bb2d292
удалил lab_4 директорию
Jupiter0303 Sep 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions lab_1/README.md

This file was deleted.

26 changes: 0 additions & 26 deletions lab_2/README.md

This file was deleted.

51 changes: 51 additions & 0 deletions lab_3/asymmetric.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding, rsa


class Asymmetric:
"""
Класс для реализации алгоритма асимметричного шифрования
"""

@staticmethod
def generate_keys() -> tuple:
"""
генерация приватного и публичного ключа
:return: tuple - кортеж из приватного и публичного ключей
"""
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048
)
return private_key, private_key.public_key()

@staticmethod
def encrypt_bytes(original_bytes: bytes, public_key) -> bytes:
"""
шифрование байтов данных через публичный ключ
:param original_bytes: исходные данные в байтах
:param public_key: публичный ключ
:return: зашифрованные байты
"""
return public_key.encrypt(original_bytes,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)

@staticmethod
def decrypt(encrypt_text: bytes, private_key) -> bytes:
"""
дешифрование байтов данных через приватный ключ
:param encrypt_text: зашифрованные данные в байтах
:param private_key: приватный ключ
:return: расшифрованные байты
"""
dc_text = private_key.decrypt(encrypt_text,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
return dc_text
17 changes: 17 additions & 0 deletions lab_3/config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import json

try:
with open("settings.json", 'r', encoding='utf-8') as js:
config = json.load(js)

INITIAL_FILE = config["initial_file"]
ENCRYPTED_FILE = config["encrypted_file"]
DECRYPTED_FILE = config["decrypted_file"]
SYMMETRIC_KEY = config["symmetric_key"]
PUBLIC_PEM = config["public_key"]
PRIVATE_PEM = config["secret_key"]
except FileNotFoundError:
print("Файл settings.json не найден.")

except Exception as ex:
print(f"Ошибка при загрузке конфигурационных данных: {ex}")
Loading