Откуда все взяли многократное разворачивание ключа ??? Как практически во всех известных шифрах, ключ разворачивается ОДИН раз перед началом шифрования (кстати самый быстрый известный алгоритм разворачивания) !!!
LazyCat Шифр потоковый? Если да, то повторное использование одного и того же ключа для шифрования разных данных недопустимо. Т.е. каждую запись в БД нужно шифровать своим ключом. Отсюда и необходимость разворачивать его при каждом обращении.
Всем ВНИМАТЕЛЬНО читать первый пост и не разводить флейм !!! Это раз. Сами себе и ответили !!! Для этого существуют специальные шифры(например SEAL, ESP, LEVIATHAN) или используют блочные шифры(глупо использовать шифр не по назначению). Не надо все валить в одну кучу ! Это два. Кстати, даже в этом случае криптостойкость не снижается
LazyCat в случае использования одного и того же ключа для шифрования двух различных наборов данных поточным шифром криптостойкость не снижается? =) Что касается "валить все в кучу"... каждый сам решает что использовать. товарищь решил потоковый шифр заюзать в БД.. его право. Это удобнее, в конце концов, т.к. нет проблем с дополнением данных до длины границы блока.
flankerx Учите матчасть !!! Там Вы найдете принципы построения блочных и потоковых шифров(и их области применения) а также особенности разворачивания ключа и формируемой гаммы. В данном случае Вы даже не спросили шифрование производится одним и тем же куском гаммы или разными. Если использовать БД как один массив то можно использовать поточный шифр и при этом все записи будут шифроваться различными участками гаммы, но это глупо, т.к. мы лишаемся возможности произвольного доступа к разным записям. Поэтому гораздо удобнее использовать один из упомянутых мной шифров. Я ведь не призываю использовать RSA для поточного кодирования - всему свое место !!!
LazyCat Спасибо, у меня с матчастью все в полном порядке =) В частности, я знаю что использовать один и тот же ключ потокового шифра несколько раз - это очень неправильно. Но вы почему-то утверждаете что такое использование стойкость системы не снижает. Вот я и задал уточняющий вопрос (на который, кстати, Вы не ответили). Про шифрование БД "как массива" - смешно. Реально развеселили =) Посмотрел, кстати, ZC4. Поделка, конечно, забавная, но более того. Предполагаю что придумывался он для чего-то очень-очень спецификеского, т.к. как криптоалгоритм общего назначения он крайне слаб -- стойкости к атаке с подобранным ОТ не наблюдается. А то что он зависит от всего потока данных существенно сужает область его применения
flankerx А ведь не знаете, что потоковый шифр используется для шифрования потоковых данных, иначе бы не приводили обратных примеров. Внимательно прочитайте все предыдущие посты и, может быть, все поймете. Это я привел как пример глупого применения и мне грустно, что Вы не умеете слушать собеседника. Наконец-то !!! Но это неуважение - участвовать в обсуждении темы и не удосужиться до сих пор ознакомиться с предметом обсуждения !!! Читайте первый пост. Конкретный пример, если не трудно ??? Это было подробно рассмотрено в предыдущих постах !!! Кстати, область применения это нисколько не снижает, а упрощает реализацию. И большая просьба, не будьте голословными. Бесполезные споры не по существу читать никому не интересно !!!
1. Хм, а что такое потоковые данные? =) И кто сказал что потоковый шифр используется для шифрования потоковых данных? У нас документ Word или PDF - это потоковые данные? 2. Читай-не читай, а Вы на прямой вопрос не ответили =) 3.Ф-ция шифрования: Код (Text): uchar encrypt_char(uchar x) { uchar y; y = x ^ xor; propogate_machine(x); return y; } Ф-ция изменения внутренненго состояния: Код (Text): void propogate_machine(uchar x) { xor += state[x]; swap_byte(&state[x], &state[xor]); xor = state[x] + state[xor]; } Шифруем последовательность нулевых байт. На момент шифрования первого байта нам нейзвестны xor и state[]. Первый байт гаммы - это значение g0=xor (до каких-либо swap'ов). Второй байт гаммы - это g1=state[0]+state[g0+state[0]] Третий - g2=state[g1]+state[g1+state[g1]] (имеется в виду значение состояния state на начальный момент времени, после "разворачивания" ключа) и т.д. Думается мне, что такая система (при достаточном кол-ве уравнений) может быть решена намного быстрее, чем перебор всех ключей (при адекватном размере ключа, коненчно). Это - прямое следствие звучавшего здесь замечения по поводу S[S+S[j]] в RC4 и обычного S+S[j] в ZC4, на которое Вы так и не удосужились конструктивно ответить.
1. Если Вы рассматриваете документ Word, PDF либо какой-нибудь еще файл целиком, как единое целое, то это потоковые данные. Если Вы рассматриваете БД как единый файл для передачи, например по каналам связи, то это тоже потоковые данные. Если Вы рассматриваете БД как совокупность независимых записей, т.е. блоков, то это не потоковые данные и использовать здесь поточный шифр глупо, хотя и возможно (но медленно) 2. Как я уже отмечал, из-за недостаточной глубины знаний Вы путаете смену ключа и введение вектора инициализации при использовании потокового шифра, т.к. при передаче по открытым каналам связи Вы не имеете возможности передавать получателю еще и новый ключ, да это и небезопасно ! Ключом является IV+постоянная часть ключа. Это классика и ее можно использовать совместно с ZC4, хотя введение random bytes гораздо удобнее, исли Вас смущает передача пакетов с одинаковыми данными. 3. Ознакомьтесь, пожалуйста, с методикой взлома WEP (RC4) и Вы поймете абсурдность этого высказывания. Хотя у Вас опять дальше слов дело не пошло !!! Человек, который это спрашивал, благоразумно последовал моему совету, попробовал предположение на практике и убедился, что от этого криптостойкость падает(появляется корреляция в выходных данных). Чего и Вам советую.
у нас какой-то разговор глухого со слепым. я вам про одно, вы мне про "потоковые данные" (определения, кстати, я так и не увидел). Я вам про ключи, вы мне про IV. Знаю я как использовать IV, не переживайте. Мы тут не "смену ключа" обсуждали, а выполнение процедуры "разворачивания" ключа, которая также необходима если IV меняется. Не надо строить из себя идиота. Solo это правда? =) P.S> Интересно, это особенность всех "аффтаров" — не отвечать на задаваемые вопросы, а лишь "гнуть пальцы"???
Я Вам про это с самого начала говорил Какое определение Вы от меня ждете. Понятнее чем объяснил я уже рассказать не смогу А вот тут Вы не захотели рассказать про Вашу динамическую смену ключей(хотя я подозреваю что Вы про открытые каналы связи не знаете да и с историей криптографии малознакомы: что и для чего создавалось) !!! В Ваших постах по-русски именно это и написано !!! Кроме того, про IV Вы начали говорить после моего уточнения. Начинали с хамства и продолжаете в том же духе ? Лучше бы взяли учебник по модульной математике и внимательно его почитали прежде чем чушь писать. То что при программировании получается автоматически при приведении типов, в математических формулах требует четкого описания, например: g1=(state[0]+state[(g0+state[0]) mod 256]) mod 256 а это означает, например: (3+5)mod256=(83+85)mod256=(73+95)mod256=.... со всеми вытекающими последствиями А самому слабо проверить !!! P.S. Больше азы я объяснять не буду, а насчет "гнуть пальцы" я думаю все уже всё поняли. Прежде чем других обвинять в неотвечании на вопросы научитесь их грамотно и корректно задавать !!!
LazyCat мальчик, остынь -) Все давно и так всё поняли. Для этого даже топик читать не надо, досточно на счеткич постов посмотреть
Стоп, стоп. Я никаким советам не следовал. Думаю уместно будет отступить на пару шагов в сторону от дискуссии и обратить внимание на то, что я не собираюсь тратить свое время на изучение криптоалгоритмов, опубликованых "на заборе". При всем уважении в Васму, он не является местом тусовки криптографов. Если бы этот алгоритм появился на каком-нибудь Евро/Рус/крипте или автор смог заранее убедить публику в том, что на его криптоалгоритм стоит обратить внимание (например, опубликовав свое авторитетное имя или приведя ряд публикаций, можно с отзывами), то тогда можно и посмотреть более детально. А так, я только высказал свое личное мнение, которое возникло при беглом взгляде - очень похоже, что при атаке по известным ТО и ТШ вскрытие алгоритма сведется к решению системы линейных уравнений. На этом я для себя поставил точку и дальше учавствовать в дискуссии не собирался... Вся история создания и взлома криптоалгоритмов показывает, что серьезные вещи за пять минут не ломаются, но если алгоритм не взломан за 5 минут, еще не значит, что его можно эксплуатировать. Наиболее уверенные в своих криптоалгоритмах, обычно назначают премии за их слом. Только так можно стимулировать незаинтересованных людей в исследовании своего детища
Solo Вы абсолютно правы, т.к. писалось вспешке. Правильнее так: (3+5)mod256=(0x83+0x85)mod256=... Извините, я хорошо о Вас подумал. Очень хорошо, что в отличие от flankerx, Вы при отсутствии желания что-либо проверять либо говорить непроверенные глупости, просто перестали флеймить !!! Хотя, если следовать Вашей логике, мнение Вашего неавторитетного имени неважно. Во-первых, где Вы увидели линейность ? Во-вторых, система то и не получается. В третьих, Вы подтасовываете понятия. Атака по известному ТО производится только на этапе поиска уязвимостей алгоритма либо при работе с "черным ящиком"(шифрующим устройством) в целях получения шифрующей гаммы для дальнейшего вычисления ключа. На практике такое не встречается - криптоаналитик имеет только ciphertext и алгоритм, полученные из открытых каналов связи(именно это сказано в ПЕРВОМ посте) и как раз его задачей является получить ТО и по возможности ключ. Но Вы с flankerx ставите телегу впереди лошади. Обидно за такое отношение к беседе, тем более что делается это умышленно !!! Я ни одним словом не призывал кого-нибудь ломать этот алгоритм, а тем более его не расхваливал. Я просто подарил его людям, но они, как Вы правильно заметили, оказались слишком "незаинтересованными".
Есть более сильное утверждение: (83+85)=(73+95) и "модульная математика" тут никаким боком не лежала Вот это новость!!! Это утверждение однозначно говорит о том, что Вы не имеете ни малейшего понятия о том, чем и зачем занимается криптоаналитик. Пример - атака на алгоритмы серии А5 - в начале сеанса связи там передается заранее известная последовательность, которая шифруется на сгенерированном ключе. Т.е. на некотором участке известны и ТО, и ТШ. Успех атаки приводит к тому, что весь последующий разговор вскрывается. Масса других примеров - передача форматированных документов, у которых в заголовке присутствует стандартная шапка. Кроме того, пересмотрите позиционирование алгоритма - он НИКАКИМ образом не является самосинхронизирующимся! Еще один ликбез: в криптографии "подарки людям" не принято принимать Есть только один критерий надежности алгоритма - испытание временем и специалистами. Все что не прошло этих испытаний к эксплуатации непригодно (нерекомендуемо).
Solo С Вами разговор закончен. Вы сами поставили точку. Ваше деление людей на авторитеты и быдло для меня неприемлемо и дальнейшего общения с Вами не будет, тем более, что я со своим неавторитетным именем, убедить Вас в чем-либо не смогу (хотя бы во внимательном прочтении темы разговора) !!!
Ya tolko seichas nabriol na etot davno zabroshenniy topic, vot reshil napisat. Ne nado liudei pinat za cipher design. Luchshe ih na defectoscopy.com otpravliaite testirovat shifr kak sleduyet. U menia tut polniy arsenal. Vsio ot LC/DC, Slide i Related-key do Guess-and-Determine i Algebraic attacks. Ya potratil mnogo vremeni pitayas ukrepit RC4 chtobi on perestal zavalivat moi testi s uzhasayuschei beznadiozhnostyu. Uskoriat yego bespolezno voobsche, yego nado ukrepliat. Ya podrobno na ZC4 ne smotrel, no veroyatnost 1-2^-64 chto on yeschio slabeye chem RC4 dazhe. Yesli on i pravda krepche, to author - geniy i pinat yego ne nado. Ya dobavil ZC4 v spiski na testirovaniye v svobodnoye vremia, srazu posle GOST. PS: Mi tut s odnim priyatelem sdelali hardware cipher/hash yeschio kruche - iz CRC. Da da. Imenno iz CRC. CRC-32, CRC-16, CRC-8 dazhe. I ne pinaite. Krutoi algorithm poluchilsa i v 500 logic gates pomeschayetsa celikom dlia 64-bit blokov. Vot bumagu pishem, kartinki risuyem...
После таких вопиюще неграмотных удтверждений смотреть сам шифр даже не хочется. Однозначно на свалку, как и любые другие работы этого автора. Если автор не знает от каких атак следует защищаться, то разве он может создать что-либо безопасное?
Eto sovershenno verno. No umeya lomat shifri, pover mne, ih delat taaaaaaaaak trudno, prosto koshmar! Iz etogo nevozmozhno vibratsa i ostanovitsa na chiom-to - vsio vremia nahodish noviy sposob slomat ispravlennoye, i idei ochen bistro zakanchivayutsa. A horoshiye idei mogut bit u kogo ugodno, poetomu nachinayesh hvatatsa za liubuyu solominku. Tak chto dazhe yesli cipher polniy musor, vsio ravno yest shans chto iz nego mozhno chto-to poleznoye dostat i sdelat iz etogo konfetku. Tak chto ya bi ne pinal takih avtorov, a posilal bi ih ko mne na podrobnoye testirovaniye shifra. I im pomosch, i mne, i vam vsem menshe bespokoistva.