Ручное шифрование - PullRequest
       4

Ручное шифрование

0 голосов
/ 12 декабря 2011

Я хочу отправить защищенные данные (строки) с клиента на сервер.Вот что я хочу сделать:

  • Превратить строку в байтовый массив
  • "скремблировать" байты, расставив их по порядку определенным образом
  • Сериализует массив байтов внутри класса
  • , отправляет класс Encrypted и Serialized на сервер

, а затем сервер:класс

получает байты для строки помещает байты в правильном порядке делает строку из байтов

будетэто хороший способ шифрования данных вручную?Это безопасно?Стоит ли вообще пытаться сделать ручной шифратор?

Ответы [ 3 ]

4 голосов
/ 12 декабря 2011

Похоже, вы пытаетесь свернуть свою собственную симметричную схему шифрования, используя фиксированный ключ («особый способ», которым вы шифруете байты), известный обеим сторонам. Нет смысла делать это по сравнению с простым использованием встроенной схемы шифрования с известным ключом и существенными потенциальными недостатками. Требуется всего лишь небольшая ошибка реализации, чтобы создать уязвимость, которую могут использовать злоумышленники.

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

2 голосов
/ 12 декабря 2011

Будет ли это способом шифрования данных?

Если вы просто «шифруете» данные, нет.Было бы «тривиально возможным» восстановить открытый текст, если его просто зашифровать.(Это означает, что в первый раз, когда кто-то захочет прочитать данные, он, вероятно, захочет, но если они не будут слишком стараться, он не наткнется на них случайно.)

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

Возможно, вам лучше придерживаться проверенного механизма шифрования, разработанного кем-то, кто зарабатывает на жизнь математикой с очень большими простыми числами.Инфраструктура шифрования Java позволяет довольно легко реализовать систему открытых / закрытых ключей или систему двойного слепого обмена ключами;например, вы можете просто использовать HTTP-SSL для обмена данными без особых настроек с вашей стороны.

0 голосов
/ 12 декабря 2011

Нет, гул не очень хороший.Для простой схемы вы можете воспользоваться проверкой оператора XOR.

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