Шифрование AES 16 байтов без соли

Можно использовать этот regex и замену пустой строкой:

^.+?(?=SELECT)

как это:

result = re.sub(r"^.+?(?=SELECT)", "", your_string)

Объяснение:

, поскольку Вы хотите удалить все, которое это перед первым SELECT, матч собирается начаться в начале строки ^. И затем Вы лениво соответствуете любому символу .+?, пока Вы не видите SELECT.

, С другой стороны, удаляют предвидение и замену SELECT:

result = re.sub(r"^.+?SELECT", "SELECT", your_string)

РЕДАКТИРОВАНИЕ:

я нашел еще один способ сделать это, с [1 110] partition :

partitions = your_string.partition("SELECT")
result = partitions[1] + partitions[2]

11
задан Patrick 25 February 2009 в 20:26
поделиться

5 ответов

ЕЦБ не безопасен для общего использования. Данный простой текст всегда шифрует к тому же шифрованному тексту, таким образом, шаблоны могут быть показаны. Однако существуют особые случаи, где это безопасно, и это приложение может быть одним из них.

Заключение в кавычки Прикладной Криптографии, вторая стр. выпуска 190, относительно режима ЕЦБ для блочного шифра:

Зато, нет никакой угрозы безопасности в шифровании нескольких сообщений с тем же ключом. На самом деле на каждый блок можно посмотреть как отдельное сообщение, зашифрованное с тем же ключом.

Позже (p. 208), Schneier говорит:

Если простота и скорость являются Вашими основными проблемами, ЕЦБ является самым легким и самым быстрым режимом для использования блочного шифра. Это является также самым слабым. Помимо того, чтобы быть уязвимым для атак с повторением пакетов, алгоритм в режиме ЕЦБ является самым легким к cryptanalyze. Я не рекомендую ЕЦБ для шифрования сообщения.

Для шифрования случайных данных, таких как другие ключи, ЕЦБ является хорошим режимом для использования. Так как данные коротки и случайны, ни один из недостатков ЕЦБ не имеет значения для этого приложения.

Общий префикс и контрольный разряд в Вашем случае не произведут общий шифрованный текст. Это происходит, только если дублирован весь блок простого текста. Из того, что Вы описали, Ваше приложение может быть подходящим вариантом для ЕЦБ — особенно, если каждое значение простого текста, в целом, уникально.

10
ответ дан 3 December 2019 в 08:57
поделиться

Без соли, также известной как вектор инициализации или IV, значительно уменьшается безопасность шифрованного текста (и, я верю, ключ также). Потенциальный взломщик намного более легко сможет разобрать повторяющиеся шаблоны в зашифрованном тексте. IIRC это было той же основной ошибкой, которую Microsoft сделала при обновлении схемы шифрования MS Office.

4
ответ дан 3 December 2019 в 08:57
поделиться

AES довольно сильна против нападений только для шифрованного текста. Однако шифрование большого количества простых текстов с тем же ключом делает Вашу систему более уязвимой для нападений известного простого текста и выбранного простого текста.

Однако если ключ шифрования случаен, и если простые тексты на вид случайны, Вы могли бы все еще быть в безопасности. Но я определенно рассмотрел бы использование различных ключей.

С другой стороны, если простые тексты связаны друг с другом и/или не на вид случайные, ЕЦБ не безопасен вообще.

3
ответ дан 3 December 2019 в 08:57
поделиться

Я не знаю ни о каких слабых местах в AES для коротких сообщений. Алгоритм должен быть много счастливым.

Для взятия на встречу, Вы действительно хотите:

1) Модель угрозы (кто может видеть то, что, когда, и что происходит, когда они уезжают или становятся "плохим парнем).

2) Некоторые варианты использования из Вашей модели угрозы.

С этим необходимо смочь определить, должны ли Вы действительно посолить AES и, делаете шифрование, действительно защищают значение в столбце, если можно получить его в другое место создание использования довольно бессмысленной AES. Наконец, задайте вопрос, "Ключ действительно более безопасен, чем данные?" Я видел схемы как это, где ключ был тем же размером как данные (где размер = "своего рода маленькое"), и было так же доступно как данные, которые это защищало. Да, это купит Вас несколько часов, в то время как взломщик выясняет то что же, спрашивается, Вы сделали, но это не дает Вам очень в способе основательной безопасности.

Надежда, которая помогает и дает Вам что-то для пережевывания. Не зная Вашего особого положения, трудно адаптировать ответ.:)

0
ответ дан 3 December 2019 в 08:57
поделиться

В терминах криптографии это небезопасно, только если взломщик знает определенный алгоритм и IV.

Определенное предположение сделано: После того, как дешифрованный, взломщик будет знать то, на что данные похожи, чтобы знать, что попытка дешифрования была успешна? например, Есть ли MD5, CRC или некоторая форма контрольной суммы, которая может проверить успешную попытку дешифрования? Если так, Вы даете взломщику способ проверить попытку.

Но с точки зрения взламывания, существует все еще 2^128 комбинации ключей (для 128-разрядного шифра), который так же безопасен, как использование того же включает терабайты данных. Режим работы не важен, потому что 16 байтов данных являются только одним блоком, таким образом, Вы сцепление блоков шифра (CBC) не подаете заявку.

Однако соленый IV действительно применяется, и то значение должно быть столь же секретным как сам ключ. Таблица радуги может использоваться для ускорения атаки перебором шифров, не используя соль; это - Ваше слабое звено.

-4
ответ дан 3 December 2019 в 08:57
поделиться