Что такое простая, обратимая, не криптографическая функция шифрования строк с превосходной лавиной? - PullRequest
3 голосов
/ 21 октября 2019

Мне нужно реализовать пару функций для обфускации / деобфускации строки в виде:

  • string cipher(string plainText, string secret)

  • string decipher(string cipherText, string secret)

Мне нужно, чтобы они были краткими и простыми в реализации. Я надеюсь, например, о странице кода или меньше, что я буду встраивать в свое тело кода без без особых зависимостей . Мне нужно будет реализовать это в C # и vanilla JavaScript в браузере.

Это не обязательно должно быть криптографически безопасно;все нормально, если взломать тривиально .

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

Я рассматриваю несколько возможностей, включая XTEA и NTSA . Но то, что я видел до сих пор, - это небольшие изменения, например, конец простого текста приводит только к (несколько) небольшим изменениям конца зашифрованного текста. Следовательно, изменения кажутся локализованными. Это не очень хорошо для моего использования, когда в качестве основного источника энтропии обычный текст будет включать постоянно увеличивающуюся временную метку.

Что такое хорошая функция или алгоритм для достижения этой цели, не прибегая к большим объемам кодаили зависимости?

1 Ответ

0 голосов
/ 21 октября 2019

Я думаю, что я выбрал XXTEA с префиксом случайного числа соль , что, по-видимому, дает отличную лавину. Спасибо @Christopher за напоминание об этой технике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...