Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: Пред. 1 2 3 4 5 ... 7 След.
RSS
Разработал Криптоалгоритмы.
 
А маразм все крепчал да крепчал.

Цитата

Юрий пишет:
- Длина пароля должна быть больше длины шифруемого сообщения.
- Каждый следующий блок должен шифроваться с новым паролем!
- Длина пароля всегда больше длины шифрумого сообщения
Это все называется шифром Вернама или Одноразовым шифр-блокнотом.
Но!
Шифр неуязвим если пароль используется только один раз и абсолютно случаен.
Тоесть, если нужно зашифровать 1Гб данных, нужен ключ длинов в 1Гб, который нужно где-то хранить, например на флешке и постоянно эту флешку носить с собой (хоть в душ, хоть в постель к девушке :)))))
Далее, если нужно зашифровать новый файл, нужна снова флешка на 1Гб, теперь у нас 2 флешки.
И так проходит время и в душ мы уже идемь с вязкой флешек)))))

Цитата

Юрий пишет:
Представь:
Представь у тебя фиксированная длина, случайных символов: хххххххххх
Тебе надо записать, уууу! Что мы делаем, мы вписываем в случайную позицию: ххуууухххх.
Потом шифруем уууу под паролем хххххх - по какому-либо алгоритму:
Затем строку ххzzzzхххх - то есть нашь случайный текст и шифрованый текст по случайному паролу, шифруем паролем пользователя и получаем единую гамму:
ssssssssss - ты никогдв её не расшифрцешь даже если алгоритм будет детский а+б=с - при достаточно сложном пароле! Десткий алгоритм будет неломаем!!!
Хорошо,допустим
"случайные"данные, полученные функцией рнд: хххххххххх.
Открытый текст, который нужно шифровать:уууу.
Соединяем:ххуууухххх,
шифруем и получаем:ххzzzzхххх, с помощью пароля:wwwwww;
шифруем и получаем:ssssssssss, с помощью пароля:qqqqqq;

Теперь, что мы получили:
шифртекст:ssssssssss, и пароли:wwwwww,qqqqqq;

И так проходит время, и у нас таких вот qqqqqqqqq,rrrrrrrrr,dddddddd,ssssss,jjjjj,uuuuuuu и т.д. набереться на очередную флешку к вязке...

:)

Как говорил Ленин: Учиться,Учиться и еще раз учиться.


А и в этом нету никакой новизны, все это придумали еще в первую мировую...

Если же для создания последовательности мы используем формулу xi=(ax(i-1)+b)mod c, последовательность не случайна и тогда её всегда смогут возобновить.
И того твой шифр ломаем и ему совершенно далеко до Вернама.
Изменено: Oleg1986 Petrov - 08.11.2010 20:05:48
 
Ах да, для знающих людей:
берем файл размером скажем в 3Мб шифруем его этим алгоритмом с двумя совершенно разными паролями.
Так вот полученные 2 файла будут совпадать на 0.8%))))
Другими словами полученные файлы не случайны, как заявляет автор))))

Одного этого факта достаточно чтобы отправить принципиально инновационный алгоритм в мусорку.
 
Oleg1986 Petrov, ты исковеркал сказанное мной!!!
Давай ещё раз:

Нам нужно зашифровать 4-ре символа в блок 10 символов (значит максимальная длина шифруемого текста 4 символа иначе внутренний код будет меньше текста).
Теперь мы не придумываем пароль - неет, мы берём ту самую случайную последовательность - нашь так называемый МУСОР и шифруем этим мусором наши данные уууу.
И новые полученные - зашифрованные мусором данные zzzz (а ведь ты понимаешь что это идеальный шифр - без избыточности и т.д...) Мы сгенерили случайный код большей длины чем шифруемый текст и зашифровали шифруемый текст этим случайным кодом - в результате можно с уверенностью утверждать что у нас Идеальный шифр.
Но вместо того чтобы носить флешку - к девушке в постель - мы объединяем случайным образом эти 2-ве строки!
ххzzzzхххх - то есть случайная последовательность символов и текст зашифрованный с помощью случайной последовательности символов - и объединённые по случайной позиции!!!
Это уже текст лишённый какой-либо избыточности - а теперь на полученное накладываем внешний шифр - прогоняем алгоритм шифрования ещё раз но уже с паролем пользователя - и что мы получим???

Мы получаем последовательность которую нельзя взломать независимо от алгоритма шифрования.
Допустим у нас детский алгоритм а+б=с!
и секретное слово: СЕКР.
Мы зашифруем слово с помощью пароля: 26
Генерим случайную последовательность: ХХХХХХ - каждый раз будет разной например: 789356
и шифруем нашь СЕКР с её помощью.
А потом объединяем и шифруем с помощью ведённого пользователем пароля.

Почему нельзя взломать:
1) Независимо от типа преобразования и стойкости шифрования - попросту невозможно проверить правильность введёного пароля, поэтому из данного блока мы можем получить поистине любое слово любой текст любой длины (не превышающий блок)Ю, в том числе и осмысленный - просто меняя входной ключ.
2) Внутренняя строка после снятия внешней защиты - случайна - и алгоритм будет требовать полного декодирования для хоть какого-то осмысления результата!
3) Перед применением шифрования - так сказать по небезопасному алгоритму, текст преобразуется в полностью лишённую какой-либо избыточности форму.

Что касается совпадений при шифровании файлов - вы просто не использовали раньше Protection Of The Information - вы можете шифровать одно и тоже одним и тем-же паролем и у вас никогда не совпадёт ни одного блока.
Весь файл - это случсайная последовательность символов и лишь пароль сможет стать связующим звеном между случайностью и осмысленностью. Вероятность частичных совпадений такова-же как и вероятность совпадений при генерации двух случайных последовательностей!
 
Юрий,
Я думаю, вы заинтересованы в объективной оценке криптостойкости вашего алгоритма, поэтому хочу заметить следующее. Если я правильно понял, что здесь было написано.
Вы говорите: "Теперь мы не придумываем пароль - неет, мы берём ту самую случайную последовательность - нашь так называемый МУСОР и шифруем этим мусором наши данные уууу."
1. Какой смысл тогда в этом ключе, если узнав основной ключ, элементарно можно найти и этот?
2. Каким образом при расшифровании вы отделите открытый текст от мусора? Если эти эта служебная информация также сохраняется в зашифрованном файле, то это уязвимость.
3. Такое увеличение размера шифртекста (файла) относительно исходного - очень серьезный недостаток и может поставить крест на его реальном применении. Идея смешивания открытого текста с большим кол-вом случайного мусора далеко не нова, но ее не используют.
4. Необходимость хранения двух ключей - также существенный недостаток
Изменено: AstroN-28 - 09.11.2010 08:10:23
 
Это я представил алгоритм похожий на мой PR1 - первый разработанный алгоритм (не путать с PR1p и PR2 и PR3 - они отличаются по классу защиты и в некоторых случаях назначению)
1) Смысл шифрование по паролю, узнав пароль - злоумышленик сможет расшифровать информацию - незная пароль - несможет. Для чего Мусор и т.д... Да всё гениальное просто - для надёжности - это не позволит взломать шифрованное сообщение - даже если в алгоритме будут найдены уязвимости или слабости. Такой подход уже отрезает целый класс атак на саму криптосистему. Убирает избыточность и делает любой текст/блок - понастоящему случайным - и только пароль - связующее звено.
2) Хорошо - я сохроню дополнительный байт информации - например вконце или в начале - но что это даст взломщику???? Если эта информация будет защищена общим шифром - и так-же не будет обладать избыточностью - то есть если позиция сможет быть от 0 до 255 - но так как мы знаем что у нас максимальная возможная позиция 6 - то мы будем считать так: Х-6 до тех пор пока Х>6 - а при формировании блока мы будет генерить случайную позицию от 0 до 255 и по этому же алгоритму определять куда записать. В результате что мы имеем: если пароль хоть на капелюсичку не правильный - алгоритм получит ложную позицию - считает ложные данные и расшифрует их под ложным паролем и только потом можно будет понять что что-то тут не то (для проверки пароля используются PR1p или PR2) в результате из-за полного отсутвтия оценки самой возможности проверить правильность рещзультата на программном уровне - сами мысли о попытке перебора - абсурд!
3) Согласен - поэтому шифровать весь файл по данной схеме неудастся - однако можно создать критическую информацию. Что чаще всего страдает??? Длина и сложность пароля - правильно. Это отражается на стойкости всей системы. Мы же сделает чтобы от этого стойкость не зависила - мы сгенерим свой случайный и сверх-длинный ключ - с помощью которого будем шифровать весь остальной файл по какому-либо алгоритму, а этот ключ спрячем в этот чёрный ящик - и никто никогда без пароля его не достанет! (Динамическая смена кода от блоку к блоку - это уже другой плюс программы по шифрованию, к данному методу не относится)
4) Два ключа хранить ненадо - из вышесказанного.

Этот алгоритм уже абсолютно стоек! И чем больше вы будете думать как его взломать - тем больше вы будете в этом убеждаться.

В результате, что я хочу доказать: если мы можем строить Абсолютно нейязвимые блоки - пусть даже из-за большого размера - немного - то мы можем обеспечить безопасность всего ФАЙЛА - прибавив 255 символов к нему! У Protection Of The Information заголовок около 2Кб.
 
Цитата
Юрий пишет:
Нам нужно зашифровать 4-ре символа в блок 10 символов (значит максимальная длина шифруемого текста 4 символа иначе внутренний код будет меньше текста).
Теперь мы не придумываем пароль - неет, мы берём ту самую случайную последовательность - нашь так называемый МУСОР и шифруем этим мусором наши данные уууу.
И новые полученные - зашифрованные мусором данные zzzz (а ведь ты понимаешь что это идеальный шифр - без избыточности и т.д...) Мы сгенерили случайный код большей длины чем шифруемый текст и зашифровали шифруемый текст этим случайным кодом - в результате можно с уверенностью утверждать что у нас Идеальный шифр.
Но вместо того чтобы носить флешку - к девушке в постель - мы объединяем случайным образом эти 2-ве строки!
ххzzzzхххх - то есть случайная последовательность символов и текст зашифрованный с помощью случайной последовательности символов - и объединённые по случайной позиции!!!
Это уже текст лишённый какой-либо избыточности - а теперь на полученное накладываем внешний шифр - прогоняем алгоритм шифрования ещё раз но уже с паролем пользователя - и что мы получим???
Неужели?
Если мы генерируем "случайную" строку и с помощью ее шируем текст и ту же строку дописываем в результат - противнику просто нечего будет делать, как выделить "случайную" строку и сделать обратное преобразование.
 
Цитата
Oleg1986 Petrov пишет:
Если эта информация будет защищена общим шифром - и так-же не будет обладать избыточностью - то есть если позиция сможет быть от 0 до 255 - но так как мы знаем что у нас максимальная возможная позиция 6 - то мы будем считать так: Х-6 до тех пор пока Х>6 - а при формировании блока мы будет генерить случайную позицию от 0 до 255 и по этому же алгоритму определять куда записать. В результате что мы имеем: если пароль хоть на капелюсичку не правильный - алгоритм получит ложную позицию - считает ложные данные и расшифрует их под ложным паролем и только потом можно будет понять что что-то тут не то (для проверки пароля используются PR1p или PR2) в результате из-за полного отсутвтия оценки самой возможности проверить правильность рещзультата на программном уровне - сами мысли о попытке перебора - абсурд!
Если эта информация будет защищена общим шифром - и так-же не будет обладать избыточностью - то есть если позиция сможет быть от 0 до 255 - но так как мы знаем что у нас максимальная возможная позиция 6 - то мы будем считать так: Х-6 до тех пор пока Х>6 - а при формировании блока мы будет генерить случайную позицию от 0 до 255 и по этому же алгоритму определять куда записать. В результате что мы имеем: если пароль хоть на капелюсичку не правильный - алгоритм получит ложную позицию - считает ложные данные и расшифрует их под ложным паролем и только потом можно будет понять что что-то тут не то (для проверки пароля используются PR1p или PR2) в результате из-за полного отсутвтия оценки самой возможности проверить правильность рещзультата на программном уровне - сами мысли о попытке перебора - абсурд!

На самом деле по такому принципу сохраняются два параметра позиция и длина - при этом ни то ни то не будет известно при неправильном пароле а точнее будут просто ложные сведения. вместо длины в 4-ре символа алгоритм вернёт случайную длину и случайную позицию и каждый раз разные - при каждом пароле!

На самом деле не всё так просто - этот чёрный ящик теперь сам можно использовать для генерации случайных чисел: смотрите: данные в нём случайны - при случайном/неверном пароле - результат вы не предскажите так как будет случайная длина со случайной позиции и можно скахзать стабильная в пределах блока но случайная строка. Таким образом подавая на вход случайные пароли можно геренить случайные данные!
 
Теперь когда мы имеем мощный генератор случайных данных - в лице с нашим криптоблоком, мы можем создавать такие криптоблоки - чисто для генерации случайных данных и никто никогда не повторит этот генератор если не добудит сам блок и все входящие пароли!!!
 
Понятно...

Смотри

есть строка "случайных" данных аааа, есть текст бббб шируем и соединяем аааавввв, где скажем в=а+б. далее с помощью помощью пароля пользователя ййй получаем "псевдослучайную последовательность кккккккк и шируем еще раз, получаем з1зззз2ззз, где з1=к+а, з2=к+а+б, отнимаем -(з1-з2)=б
Вуаля, мы нашли б.
В реалеьности все немного сложнее но принцип тот же...

Никакой заявленной абсолютной стойкости тут нету.

Она будет только тогда, когда мы тест ббббб шируем строкой ааааа и строку ааааа храним в тайне, ане в фале.
 
Oleg1986 Petrov,
Ну во первых: взломщику заранее неизвестна длина сообщения которая в блоке - блок ведь фиксированной длины - и мы не просто объединяем - мы генерим случайную последовательность дополняя блок до нужной фиксированной длины.
Второе - взломщику заранее неизвестна позиция текста. Другими словами если у взломщика нету пароля. ему просто неотчего оттолкнуться.
ВСЯ РЕЗУЛЬТИРУЮЩАЯ СТРОКА, шифрованный случайным паролем текст и сам случайный пароль и байтик системной информации тоже случайный - зашифрованы паролем пользователя!!!
 
ой я тебя понял - но ты учти что может быть: аааавввв, а может быть ааавввва или вввваааа или аввввааа и т.д.... взлом простейшего шифра - простейшего с=а+б, будет математически настолько сложен, по сравнению с тем как его можно взломать с базовой комплектации. Что выполнить задачу взлома - будет практически маловероятно!
 
Цитата
Юрий пишет:
Oleg1986 Petrov,  
ВСЯ РЕЗУЛЬТИРУЮЩАЯ СТРОКА, шифрованный случайным паролем текст и сам случайный пароль и байтик системной информации тоже случайный - зашифрованы паролем пользователя!!!
И что с того?))) Шируеться строкой, которая генерируется по формуле ах+б))) которые опять же не случайны....
Данные не случайны, а псевдо случайны, и при этом повторяються и имеют зависимости.
Как я уже показал...
 
Так программа по шифрованию и мои методы и пощиционируют: методы усиления криптографии!!!!
Разработать свой стойкий метод очень сложно - этим занимаются целые институты и всё равно ломают - я роешил пойти другим путём исходя из принципа Достаточности: Алгоритм криптографии - преобразования достуточные для обеспечения стойкости в купе с данными методами. Генератор псевдо Случайных чисел - это простецкий инструментик - сам алгоритм преджставляет из себя генератор действительно непредсказуемых значений!
 
Цитата
Юрий пишет:
ой я тебя понял - но ты учти что может быть: аааавввв, а может быть ааавввва или вввваааа или аввввааа и т.д.... Что выполнить задачу взлома - будет практически маловероятно!
та неужели))))
Скролько таких вариантов - авввваааа, вввваааа, аавввваа  и тд? Простым перебором потянет)
Та и ты же хранишь номер начала строки в тексте, такчто будет еще легче))))

Количество вариантов равно длине строки ааааа минус длина стороки вввв.

Домусти длина аааа 1000байт, а длина ввв 500 байт, тогда всего-то 500 вариантов)))

Чтобы увеличить это число нужно увеличить дина аа и уменьшмитьб длину бббб, но
если же строка аааа будет длины скачем 1 ГБ а текст 1кБ то твой алгоритм абсолютно не практичен. Но и даже в таком случае нужно будет перебрать всего-то 1047552 вариантов 2^20))) что опять же не много...
До стойкости 2^128 тебе как до луны))))
Так как скажем у тебя жесткий диск на компе в 500Гб, и половина его будет забита мусором, кому такое нуджно?)))
Изменено: Oleg1986 Petrov - 09.11.2010 09:40:50
 
Цитата
Oleg1986 Petrov пишет:
Цитата
Юрий пишет:
Oleg1986 Petrov,  
ВСЯ РЕЗУЛЬТИРУЮЩАЯ СТРОКА, шифрованный случайным паролем текст и сам случайный пароль и байтик системной информации тоже случайный - зашифрованы паролем пользователя!!!
И что с того?))) Шируеться строкой, которая генерируется по формуле ах+б))) которые опять же не случайны....
Данные не случайны, а псевдо случайны, и при этом повторяються и имеют зависимости.
Как я уже показал...
Ну взломайте - представьте что вы заранее не знаете пароля:
По алгоритму а+б=с
Строка: 2010
Пароль: 26
Генерим случайную последовательность: 288029
Шифруем: 2+2=4, 0+8=8, 1+8=8, 0+0=0;
Выбираем случайную позицию: 8 - преобразуем: 8-6=2
Сохраняем длину: 4/9 (можно выбрать случайно) преобразование х-5=д
получаем строку: 284880802989 - два последних символа позиция и длина - шифрем простым кодом (26):
446406064505

Взломай строку: 446406064505 - незная пароля и незная её содержания???
Напримеря я ошибся решил проверить пароль 31 первая расшифровка даст:
133275751474
И начинаю думать что моя строка начинается с 1-го символа и длиной в 4-ре символа, пробуем:
Строка: 3327
Пароль: 157514
Результат: 2852 - если ты заранее не будешь знать что было 2010 - ты никогда не догадаешься что ты расшифровал неправильно!!!
приведи пример взлома этого детского алгоритма???
 
Цитата
Юрий пишет:
Сохраняем длину: 4/9 (можно выбрать случайно) преобразование х-5=д
получаем строку: 28-4880-8029-89 - два последних символа позиция и длина - шифрем простым кодом (26):
89-26=63 -позиция и длина?

Теперь у тебя сообщение номер 2 с тем же паролем.
скажем ты случайно выбрал 11-позиция и длина, и шировал это паролем 26 11+26=37.

Теперь у тебя сообщение номер 3 с тем же паролем.
скажем ты случайно выбрал 22-позиция и длина, и шировал это паролем 26 22+26=48.

Ну а теперь 37-48 = 11 ( получили разность 11 и 22) и 89-37=52( получили разность 63 и 11) для перебора достаточно перебать вторую строку, а первую и третью мы вычислим зная разность.
 
неет... в этом то и суть что пароля ты незнаешь!!! у тебя есть шифрованный блок:
446406064505
и что у него внутри ты знаешь только из-за выкладок, а на самом деле ты ничего о нём незнаешь... Как ломать будем??? Если надо зашифровать много блоков - то первый бок должен вернутть пароль - большой и длинный для следующего а каждый следующий жолжен иметь информацию для динамической смены пароля... Но это дальше-  а тут речь о первом блоке - я зашифровал строку - простейшим алгоритмом а+б=с - фик с ним пусть ты знаешь пол строки: 20 - взломай вторую часть... если алгоритм так прост как ты его описываешь у тебя есть:
строка: 446406064505 и частично известная часть 20, всю длину ты незнаешь! но знаешь что больше 2-х :)
 
Я подвожу тебя к тому, чтобы ты признал что взломать алгоритм а+б=с - невозможно даже при частично известной зашифрованной информации!
 
Юрий,
Делать заявления об абсолютной стойкости при таком обилии потенциальных уязвимостей - абсурд.
Значительное возрастание объема шифртекста относительно исходного - это не мелочь, это проблема. Использовать его только для надежного хранения ключей - никому это не нужно.
Вспомогательный ключ в шифртексте - уязвимость. Указатель на начало открытого текста в мусоре - уязвимость.
Извините, но те доводы, которые вы приводите в качестве доказательства стойкости на уровне 3го курса универа. Попробуйте криптоанализ. То что как вы считаете, не тянет на реальную уязвимость, может значительно облегчить жизнь криптоаналитику. Вы хотя бы проверяли шифртекст на равномерное распределение?
 
Цитата
Юрий пишет:
неет... в этом то и суть что пароля ты незнаешь!!! у тебя есть шифрованный блок:
446406064505
непонимание базовых основ...

Смысл с одной строки?)

Найдут скажем 10 сообщений с одним паролем, в конце каждого сообщения будет номер начала строки.

Например
N  /  T  /  S  /  R1  /  R2
1  /  73  /  99  /    /  
2  /  44  /  70  /  -29  /  -29
3  /  29  /  55  /  -15  /  -15
4  /  73  /  99  /  44  /  44
5  /  15  /  41  /  -58  /  -58
6  /  56  /  82  /  41  /  41
7  /  86  /  112  /  30  /  30
8  /  25  /  51  /  -61  /  -61
9  /  24  /  50  /  -1  /  -1
10  /  10  /  36  /  -14  /  -14
11  /  95  /  121  /  85  /  85
12  /  4  /  30  /  -91  /  -91
13  /  60  /  86  /  56  /  56
14  /  16  /  42  /  -44  /  -44
Где N- номер сообщения.
Т- номер начала строки.
S=T+26(пароль)
R1=T1-T2;
R2=S1-S2;
И как видим R1=R2.

Если я знаю сообщение №1, я автоматически узнаю все остальные сообщения))))
Изменено: Oleg1986 Petrov - 09.11.2010 10:18:58
Страницы: Пред. 1 2 3 4 5 ... 7 След.
Читают тему