, ключи генерит по ходу дела прогоняя их неоднократно добавляя соль, повторно шифрует выходной файл с другими ключами , это считается надёжной защитой файлов ?
Это какой-то непонятной несуразицей считается) Зачем iv новый для каждого блока? Зачем несколько раз шифровать файл на разных ключах (вспоминаем, что двойное зашифрование не дает прироста стойкости)? Если требуется зашифровать файл, то почему бы не выдумывать что-то своё и не взять какой-нибудь gpg для этого?
1) Так-то использование своего IV для каждого блока ОЗУ не экономит ни разу, а вот время работы и дисковую память ужирает прилично 2) А что в вашем понимании "высокая стойкость"?
Мне кажется что подобные вопросы не нужно доказывать или опровергать. А просто оглядется вокруг. Вот мы сидим в телеграм приложении. Кто в мобильном. Кто в десктопном. Оно работает тоже на симметричке. Давайте потрассируем хендшейк и просто убедимся что под капотом стоит какой-то AES-128 и какой-то режим сцепления. Я щас не помню какой. Но у вас же не возникает мысли что ойойо щас какой-то злой хацкер нас поломает? Нет? Вот и берите это за эталон чьорт вас забери ...
По этом любой админ телеги может читать чаты и следить за фото и видео 🗿 .
1 Ну у меня при файле весом 2.5 гиг использует 105мб а вес исходного и шифрованного +-одинаковый (пара мб) 2 в моём понимании это такая стойкость которую или невозможно снять или заставит очень много потеть злоумышленника
Тут бы с терминологией разобраться Если на каждый блок делать новый IV, то шифртекст будет в 1.5 раза больше открытого текста Точно написано именно то, что имеется в виду?
Код вроде верно писал
Какой код?) Тут по самому сообщению приходится гадать, а что в виду имелось Вот я и уточняю
def encrypt_file(block_size,file_path, encryption_key): with open(file_path, 'rb') as file: file_size = os.path.getsize(file_path) encrypted_file_path = file_path + '.enc' with open(encrypted_file_path, 'wb') as encrypted_file: iv = get_random_bytes(8) # 8-byte IV (Nonce) encrypted_file.write(iv) cipher = AES.new(encryption_key, AES.MODE_CTR, nonce=iv) with tqdm(total=file_size, desc='Encrypting', unit='B', ncols=100) as pbar: while True: plaintext_block = file.read(block_size) if not plaintext_block: break encrypted_block = cipher.encrypt(plaintext_block) encrypted_file.write(encrypted_block) pbar.update(len(plaintext_block)) print("File encrypted successfully.")
Это очень важный момент для понимания криптографии. Это сферическая наука в вакууме. Но свои тезисы она подтверждает. Мы не будем обсуждать действия админа телеграм - потому что он и есть телеграм. Он часть этой системы. А пример я привожу чтобы избавить топик от бесполезного спора.
там IGE, режим который не используется никем кроме telegram
Он устарелый на момент разработки телеграмма был, так что ждём 3 версию MTProto, там вроде уже наконец ведутся разработки более прогрессивной схемы шифрования
Ну как устарелый, просто были вещи получше IGE
Обсуждают сегодня