Вот тут вы правы в одном, XOR — это не шифрование. Это «исключающее или» :)
А вообще XOR как один из этапов применяется во многих крипто-алгоритмах.
Вот почитайте например о гаммировании: ru.wikipedia.org/wiki/Гаммирование
Да в общем вы и сами можете зашифровать. Просто выберите в качестве пароля любую строчку подлинее. А потом забудьте пароль :)
И попробуйте восстановить зашифрованное сообщение.
Если получится — напишите топик (я первым за него проголосую), или отпишитесь сюда в комментарии, как вы это сделали.
Слабость конкретно этого шифра заключается в том, что там в преобразованиях используется сам пароль (вместого его хеша). При коротких паролях возможно он легко вскроется. Но если поставить случаный 16-символьный пароль — будет уже сложнее.
В общем, попробуйте :)
Думаю хабрасообществу будет интересен такой топик
Знаете, одноразовый блокнот тоже строится на основе XOR. Его вы тоже сломаете? :)
В самом XOR нет совершенно ничего плохого. Всё зависит от того, с чем XORить.
Не в два раза. А константно на 16 байт.
Там просто вначале идет 16-байтовый инициализирующий вектор. А за ним само сообщение, тоже выровненное на границу 16 байт. Так что оверхед в худшем случае будет составлять 31 байт.
Ну так значит, ваши матрицы с квадратами — и есть ключи шифрования.
Ведь ключ — это не обязательно абстрактная строчка длиной n бит.
К примеру в ГОСТ — ключ — это точка эллиптической кривой. А в двойном квадрате — это матрицы
Кстати, вот мне интересно, что будет делать винда, если к ней подключить 40 флешек?
Им же не хватит букв для обозначения дисков.
Конечно, можно будет монтировать их как папки на любой раздел NTFS. Но всё же интересно, что будет с буквенными обозначениями дисков.
А там не только пин-код. Данные передаются в виде пин-блока. А там кроме пин-кода ещё может лежать много всякого: время, соль, идентификатор пинпада, и т.д.
Гм. Всё просто.
Вы вводите на пин-паде банкомата пин-код. Пин-пад (да, сама клавиатура) этот код шифрует. В банкомат (компьютер) он уже попадает в виде зашифрованого пин-блока. Затем этот пин-блок отправляется на сервер банкомата. Он знает ключ пин-блока, поэтому может расшифровать пин-код. Затем он шифрует его своим ключем и отправляет на процессинг. Если карточка зарегистрирована в этом процессинге — то тут его путь заканчивается.
А если карточка чужая? Правильно, процессинг перешифровует пин-блок на ключах родного банка и отправляет туда. При чем не факт что напрямую. Может быть ещё через n серверов. И каждый сервер перешифровует пин-блок на других ключах для другого сервера.
Хороший вопрос… Из моих знакомых — в лучшем случае четверть ходит.
Замечаю интересную закономерность — чем хардкорнее айтишник, тем с большей вероятностью он таки ходит в походы.
А вообще XOR как один из этапов применяется во многих крипто-алгоритмах.
Вот почитайте например о гаммировании:
ru.wikipedia.org/wiki/Гаммирование
И попробуйте восстановить зашифрованное сообщение.
Если получится — напишите топик (я первым за него проголосую), или отпишитесь сюда в комментарии, как вы это сделали.
Слабость конкретно этого шифра заключается в том, что там в преобразованиях используется сам пароль (вместого его хеша). При коротких паролях возможно он легко вскроется. Но если поставить случаный 16-символьный пароль — будет уже сложнее.
В общем, попробуйте :)
Думаю хабрасообществу будет интересен такой топик
В самом XOR нет совершенно ничего плохого. Всё зависит от того, с чем XORить.
Там просто вначале идет 16-байтовый инициализирующий вектор. А за ним само сообщение, тоже выровненное на границу 16 байт. Так что оверхед в худшем случае будет составлять 31 байт.
Ведь ключ — это не обязательно абстрактная строчка длиной n бит.
К примеру в ГОСТ — ключ — это точка эллиптической кривой. А в двойном квадрате — это матрицы
Им же не хватит букв для обозначения дисков.
Конечно, можно будет монтировать их как папки на любой раздел NTFS. Но всё же интересно, что будет с буквенными обозначениями дисков.
Вы вводите на пин-паде банкомата пин-код. Пин-пад (да, сама клавиатура) этот код шифрует. В банкомат (компьютер) он уже попадает в виде зашифрованого пин-блока. Затем этот пин-блок отправляется на сервер банкомата. Он знает ключ пин-блока, поэтому может расшифровать пин-код. Затем он шифрует его своим ключем и отправляет на процессинг. Если карточка зарегистрирована в этом процессинге — то тут его путь заканчивается.
А если карточка чужая? Правильно, процессинг перешифровует пин-блок на ключах родного банка и отправляет туда. При чем не факт что напрямую. Может быть ещё через n серверов. И каждый сервер перешифровует пин-блок на других ключах для другого сервера.
Замечаю интересную закономерность — чем хардкорнее айтишник, тем с большей вероятностью он таки ходит в походы.
Можете рассказать подробней о принципе действия?