FPE (шифрование с сохранением формата) в случае короткого сообщения (проблема с минимальным количеством символов)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 FPE (шифрование с сохранением формата) в случае короткого сообщения (проблема с минимальным количеством символов)

Сообщение Anonymous »

Как выполнить FPE (шифрование с сохранением формата) для текста типа «A123456», если шифрование сохранило формат, я должен получить строку с символом длиной более 6 цифр, например «Z655432», я использовал библиотеку Python FF3 , поэтому я разделил строку «A123456» на «A» и «123456» и применил шифр FF3 к каждой строке. Здесь я обнаружил проблему с минимальным количеством символов, поэтому мне нужно немного заполнить «A», проблема в том, что когда вы делаете заполнение, вы потеряли формат, вы не получите тот формат, который вам нужен.
Я пробовал заполнять, но формат не сохраняется, я пробовал библиотеку pyffx, у которой нет минимума Требование к символу, но, по-видимому, оно небезопасно и не соответствует требованиям NIST

Код: Выделить всё

from ff3 import FF3Cipher

key = "2DE79D232DF5585D68CE47882AE256D8"
tweak = "CB92D080979564"
alphabet = "AZERTYUIOPQSDFGHJKLMWXCVBN"
cipher = FF3Cipher.withCustomAlphabet(key, tweak, alphabet)
def pad_to_min_length_alp(text, min_len):
pad_char = 'A'
if len(text) < min_len:
return text + pad_char * (min_len - len(text))
return text
plaintext = 'A'
padded_plaintext = pad_to_min_length_alp(plaintext, cipher.minLen)
ciphertext = cipher.encrypt(padded_plaintext)
print(f"Encrypted value: {ciphertext}")
результат: Зашифрованное значение: SPVVY

поэтому A зашифровано в строку из 5 символов

формат не сохраняется
п>

Подробнее здесь: https://stackoverflow.com/questions/787 ... characters
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»