Когда я выбрал бы AesCryptoServiceProvider over AesManaged или RijndaelManaged?

Во-первых: ответ.

import sys

try: print sys.getsizeof(object)
except AttributeError:
    print "sys.getsizeof exists in Python ≥2.6"

Обсуждение:
В Python, Вы никогда не можете получать доступ к "прямым" адресам памяти. Да ведь тогда, Вы нуждались бы или хотели бы знать, сколько такие адреса заняты данным объектом?? Это - вопрос, это является совершенно несоответствующим на том уровне абстракции. При рисовании дома Вы не спрашиваете, какие частоты света поглощены или отражены каждым из составляющих атомов в краске, Вы просто спрашиваете, что окрашивает, это - детали физических характеристик, которые создают тот цвет, не относятся к делу. Точно так же число байтов памяти, которую занимает данный объект Python, не относится к делу.

Так, почему Вы пытаетесь использовать Python для записи кода C?:)

11
задан SwDevMan81 5 August 2009 в 17:47
поделиться

1 ответ

Документация AesManaged утверждает, что

«Алгоритм AES по сути является симметричным алгоритмом Rijndael с фиксированным размером блока и количеством итераций. Этот класс функционирует так же, как класс RijndaelManaged, но ограничивает блоки до 128 бит и не допускают режимы обратной связи. "

Это предполагает использование режима ECB (Электронная кодовая книга). Это может быть значительным недостатком зашифрованных данных, поскольку это означает, что идентичные блоки текстовых данных приведут к идентичным блокам выходных шифров.


Изменить: (Как исправление)
Документация по свойству Mode указывает, что по умолчанию для Mode установлено значение CBC (которое по ошибке является режимом обратной связи), но не может быть установлено на CFB или OFB (обратная связь по шифрованию / обратная связь по выходу)

2
ответ дан 3 December 2019 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: