Хорошый урок для начинающих, спасибо.вдохновился и решил попробовать сделать свой шифратор, делал в первый раз и конечно с помощью ИИ. Работал на гугл аппс скрипт без библиотек, но gpt мне постоянно предлогал ими пользоваться. Так к чему я, вот мой шифр, в нем обычный текст, не чего заумного. Если вы реально крутые и декодируете, то я оформлю ваши все занятия. Ваш шифр не получается взломать. DXhek76Лч3жйЬкЬЫувж7 76КлйЬЫеенш6жЬ 6ъьщ.
Классно, побольше бы такого интерактива ) если кто не хочет сидеть с ручкой и листочком, можно просто от 0 до 128 сделать перебор seed и получить все seed`ы
В идеале) потом можно еще посолить полученный шифр, из рандомной последовательности символов, а в конце шифрованной строки, зашифровать еще методику посола)
Кто не смог дешифровать - верная последовательность линейного конгруэнтного датчика начинает зацикливаться всего лишь на 12 числах (136 121 6 11 96 1 66 51 76 81 26 71), ключевыми сидами которых будут числа 15, 43, 71 и тд. Учитывая, что модуль у нас значительно больше 16, результат откровенно плохой, его в принципе на листочке можно было расшифровать. По хорошему повторения должны начаться почти у самого модуля, то есть если m = 128, то примерно 120 первых чисел должны быть уникальными. Ну и последовательность конечно же не должна повторяться, это вообще ужас. Так случилось из за плохих магических констант. Если честно, понятия не имею, откуда эти 45 и 21. Никогда не встречал. Почему бы не взять наши православные a = 19381, c = любое нечётное и не простое > 9 из приписки к госту 34.10-2018 (или Кузнечику, не помню)? Просто в таком виде, когда у нас длина ключа равна длине сообщения всякие там конгуэнтные датчики вообще не нужны. Можно просто заксорить исходное сообщение и ключ и всё. Это будет полностью неломаемый криптостойкий шифр. Просто одной операцией ^ двух массивов)) Ну и не хочу конечно показаться совсем душным скуфидоном, но это вроде как не скремблирование) В скремблировании выходной поток должен быть равномерный (50% нулей, 50% единичек), ну и скремблирование вроде как только аппаратное бывает, и в основном в аудиосокрытии имеет смысл, если не изменяет память
@@ShaksUa Про скреблирование объяснить не могу, но тут говорят, что не это. А вообще это просто шифрование заменой символа на ксор этого символа и ключа из сгенерированного массива, а так как ключи повторяются, то получается, что много символов заксорены одним и тем же числом. Зная паттерн изменения числа можно просто перебором найти такие входные данные, чтобы выходное сообщение получилось читаемым. Чем больше сообщение,тем больше повторов, а далее уже аналитически можно будет попробовать дешифровать. Стоило бы взять другие константы "Почему бы не взять наши православные a = 19381, c = любое нечётное и не простое > 9 из приписки к госту 34.10-2018 (или Кузнечику, не помню)"
функция char2num не бросит исключение если передать в него "123", и не только "123", любую последовательность из charset. Нужно проверять длину строки перед поиском.
Ну тут дешифровка громко сказано, так как чарсет известен и магические константы известны. Остаётся подобрать базу. Что элементарно. Перебираешь числа по порядку в цикле, подставляешь в функцию и печатаешь результат. Ищешь осмысленное сообщение )
XOR шифрование? Серьезно? 😂 Попробуй через свой скрамбл прогнать зашифрованное сообщение как message и расшифрованное в качестве keyArray и получишь свой ключ шифрования. Ну для фана - норм ))), реального применения этого алгоритма нет. Есть старая задача. Открытый канал передачи данных между А и Б, А должен передать сеансовый ключ Б, по которому они потом шифруют все данные. Так вот А отправляет сообщение с замком, Б вешает свой замок и отправляет А, А снимает свой замок и отправляет Б, Б снимает свой замок и вуаля получает сообщение. Оно сработает с xor (ом), только на 2-ой передаче у меня уже будет ключ Б, а на 4 ой все ключи и расшифрованные сообщения.
Алсо, после этого он ещё говорит, что софт-скиллы не так уж и важны. Не так пошутил -- всё, досвидонья, хрена тебе лысого, а не доступ к видосикам по архитектуре. Пресловутый отрицательный отбор по-принципу лояльности. Качайте софт-скиллы, пацаны, вы матерям ещё нужны, так сказать
Сообщение, которое нужно расшифровать:
ПъълIMыaEcm5аямBVqqNдьoа(9djЪеyoinmv)высCщ7ЫяkmpаFхaLтs7aтЧB)шфвУяkЫяzЩfпGлNУqАцльjЩq
Хорошый урок для начинающих, спасибо.вдохновился и решил попробовать сделать свой шифратор, делал в первый раз и конечно с помощью ИИ. Работал на гугл аппс скрипт без библиотек, но gpt мне постоянно предлогал ими пользоваться.
Так к чему я, вот мой шифр, в нем обычный текст, не чего заумного. Если вы реально крутые и декодируете, то я оформлю ваши все занятия. Ваш шифр не получается взломать.
DXhek76Лч3жйЬкЬЫувж7 76КлйЬЫеенш6жЬ 6ъьщ.
Классно, побольше бы такого интерактива ) если кто не хочет сидеть с ручкой и листочком, можно просто от 0 до 128 сделать перебор seed и получить все seed`ы
В идеале) потом можно еще посолить полученный шифр, из рандомной последовательности символов, а в конце шифрованной строки, зашифровать еще методику посола)
Кто не смог дешифровать - верная последовательность линейного конгруэнтного датчика начинает зацикливаться всего лишь на 12 числах (136 121 6 11 96 1 66 51 76 81 26 71), ключевыми сидами которых будут числа 15, 43, 71 и тд. Учитывая, что модуль у нас значительно больше 16, результат откровенно плохой, его в принципе на листочке можно было расшифровать.
По хорошему повторения должны начаться почти у самого модуля, то есть если m = 128, то примерно 120 первых чисел должны быть уникальными. Ну и последовательность конечно же не должна повторяться, это вообще ужас. Так случилось из за плохих магических констант. Если честно, понятия не имею, откуда эти 45 и 21. Никогда не встречал. Почему бы не взять наши православные a = 19381, c = любое нечётное и не простое > 9 из приписки к госту 34.10-2018 (или Кузнечику, не помню)? Просто в таком виде, когда у нас длина ключа равна длине сообщения всякие там конгуэнтные датчики вообще не нужны. Можно просто заксорить исходное сообщение и ключ и всё. Это будет полностью неломаемый криптостойкий шифр. Просто одной операцией ^ двух массивов))
Ну и не хочу конечно показаться совсем душным скуфидоном, но это вроде как не скремблирование) В скремблировании выходной поток должен быть равномерный (50% нулей, 50% единичек), ну и скремблирование вроде как только аппаратное бывает, и в основном в аудиосокрытии имеет смысл, если не изменяет память
переведите кто-то, тут на милордском
@@ShaksUa Про скреблирование объяснить не могу, но тут говорят, что не это.
А вообще это просто шифрование заменой символа на ксор этого символа и ключа из сгенерированного массива, а так как ключи повторяются, то получается, что много символов заксорены одним и тем же числом. Зная паттерн изменения числа можно просто перебором найти такие входные данные, чтобы выходное сообщение получилось читаемым. Чем больше сообщение,тем больше повторов, а далее уже аналитически можно будет попробовать дешифровать. Стоило бы взять другие константы "Почему бы не взять наши православные a = 19381, c = любое нечётное и не простое > 9 из приписки к госту 34.10-2018 (или Кузнечику, не помню)"
функция char2num не бросит исключение если передать в него "123", и не только "123", любую последовательность из charset. Нужно проверять длину строки перед поиском.
Можешь посоветовать литературу по криптографии?
what name the the program where create code?
Было бы интересно видео о дешифровке этого сообщения, самому искать решение мне конечно же лень 😇
Ну по сути повторяешь код, вбрасываешь эту фразу и на месте шифрованного сообщения теперь исходная фраза. Хочу видео про взлом. Спасибо
@@Aleksei12595 Взлом возможен только через атаку на генератор ключа. ибо "одноразовый блокнот" обладает абсолютной криптостойкостью.
не тормози, брутфорсни
Ну тут дешифровка громко сказано, так как чарсет известен и магические константы известны. Остаётся подобрать базу. Что элементарно. Перебираешь числа по порядку в цикле, подставляешь в функцию и печатаешь результат. Ищешь осмысленное сообщение )
15:50 я так и не понял чему равена переменная index
Гугли метод map(), где второй параметр index это порядковый номер массива.
В char2num правильно будет еще сделать split: charset.split('').indexOf(char)
Иначе число 12 или набор символов qwerty будут успешно искаться
XOR шифрование? Серьезно?
😂
Попробуй через свой скрамбл прогнать зашифрованное сообщение как message и расшифрованное в качестве keyArray и получишь свой ключ шифрования.
Ну для фана - норм ))), реального применения этого алгоритма нет.
Есть старая задача. Открытый канал передачи данных между А и Б, А должен передать сеансовый ключ Б, по которому они потом шифруют все данные. Так вот А отправляет сообщение с замком, Б вешает свой замок и отправляет А, А снимает свой замок и отправляет Б, Б снимает свой замок и вуаля получает сообщение. Оно сработает с xor (ом), только на 2-ой передаче у меня уже будет ключ Б, а на 4 ой все ключи и расшифрованные сообщения.
👍
сам код читать, что массу иероглифов из матрицы)
А зачем во время кодинга себя показывать и при этом рассказывать что происходит в коде?
Это как шахматы в уме или что?
31. Тот случай, когда Соер тебя в телеге забанил
Алсо, после этого он ещё говорит, что софт-скиллы не так уж и важны. Не так пошутил -- всё, досвидонья, хрена тебе лысого, а не доступ к видосикам по архитектуре. Пресловутый отрицательный отбор по-принципу лояльности. Качайте софт-скиллы, пацаны, вы матерям ещё нужны, так сказать
Он любит поныть о своей исключительности, а если кто-то с этим не согласен он очень обижается)
@@johnstrayk5208 ну, как и все мы, в принципе
@@maximevtahov2360 уточните для полноты картины, мы это кто.
Ща бы взрослому дядьке обижаться))
Как говорится, 40 лет - ума нет 🤡 🤡 🤡
Отписка, дизлайк - минус спонсор)))
Кто-нибудь взломал??? У меня пока не получается🙃, время час ночи, я спать💤.
Клоун 🤡
@S0ER неплохо, если бы вы проверяли код не с помощью console.log, а писали бы unit тесты, тем самым показывая хороший пример всем)))
Если писать юнит-тесты каждый раз, когда нужно что-то отладить, можно к концу файла с кодом уже состариться
А зачем тогда жить, если не покрывать свой код тестами? 😄