Я разработал собственные методы шифрования, аутетификации. Принципы - которые легли в основу особо защищённых зашифрованных блоков. Эти алгоритмы я реализовал во многих программах, вот одна из них: http://ykolchurin.narod.ru/Poti.html Так-же легли в основу драйвера БД и т.д... За 10 лет существования - алгоритмы не менялись. Хорошо себя зарекомендовали в различном ПО - и имеют реализацию в виде DLL. Однако - хотелось-бы, не раскрывая алгоритмов (с помощью той-же DLL), сделать данные алгоритмы криптографии неким стандартом, чтобы многие крумные организации брали за основу эти методы - как эффективные, быстрые и безопасные. Как это можно сделать? Где опеблиовать их описание?
Безопасность в наше время - всё чаще становится больной темой практически всех организаций. И для прогаммистов всегда стоит компромис между: производительностью и бьезопасностью. Я же хочу преложить бескомпромисное решение, базовые алгоритмы на основе которых можно по основным принципам их прменения строить системы если и не Абсолютной стойкости - то как минимум очень приближенные к Абсолютно-стойким сестемам, которые в настойщий момент существуют в основном теоретически!
Юрий пишет: Однако - хотелось-бы, не раскрывая алгоритмов (с помощью той-же DLL), сделать данные алгоритмы криптографии неким стандартом, чтобы многие крумные организации брали за основу эти методы - как эффективные, быстрые и безопасные. Как это можно сделать?
Никак. На слово вам никто не поверит. Криптостойкость алгоритмов оценивается, исходя из их анализа, а для этого описание алгоритма должно быть дано в явном виде.
Юрий пишет: Однако - хотелось-бы, не раскрывая алгоритмов (с помощью той-же DLL), сделать данные алгоритмы криптографии неким стандартом, чтобы многие крумные организации брали за основу эти методы - как эффективные, быстрые и безопасные. Как это можно сделать?
Никак. На слово вам никто не поверит. Криптостойкость алгоритмов оценивается, исходя из их анализа, а для этого описание алгоритма должно быть дано в явном виде.
Но вы же понимаете - раскрой я алгоритмы - их сможет использовать каждый, без каких-либо ограничений и даже пытаться выдать за свои. Как быть в таком случае? Сегдня я раскрою их, а завтра их кто-нить запатентует. Я естественно их патентовать не буду - во первых, они будут не свободны, а во вторых это дорого и себя не окупит. Что можно сделать в таком случае?
а у вас лицензия есть? на разработку алгоритмов шифрования? может все таки криптопреобразования?
Код
В Российской Федерации коммерческая деятельность, связанная с использованием криптографических средств, подлежит обязательному лицензированию. С 22 января 2008 года действует Постановление Правительства РФ от 29 декабря 2007 N 957 «Об утверждении положений о лицензировании отдельных видов деятельности, связанных с шифровальными (криптографическими) средствами», которым приняты Положения о лицензировании деятельности по:
* распространению шифровальных (криптографических) средств
* техническому обслуживанию шифровальных (криптографических) средств
* предоставлению услуг в области шифрования информации
* разработке, производству шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных и телекоммуникационных систем
Следует отметить, что приложения к данному Постановлению содержат жёсткие требования к лицу-соискателю лицензии, включая его образование, квалификацию, стаж, требования к помещению, охране, информационной и эксплуатационной безопасности при разработке и реализации средств. К примеру, требуется «наличие в штате у соискателя … следующего квалифицированного персонала: руководитель и (или) лицо, уполномоченное руководить работами по лицензируемой деятельности, имеющие высшее профессиональное образование и (или) профессиональную подготовку в области информационной безопасности, а также стаж работы в этой области не менее 5 лет; инженерно-технические работники, имеющие высшее профессиональное образование или прошедшие переподготовку … в области информационной безопасности с получением специализации, необходимой для работы с шифровальными (криптографическими) средствами».
В настоящее время действует также Приказ ФСБ России от 9 февраля 2005 г. N 66 «Об утверждении положения о разработке, производстве, реализации и эксплуатации шифровальных (криптографических) средств защиты информации (положение пкз-2005)»[2], который определяет порядок разработки и эксплуатации криптографических средств.
В частности, согласно приказу, средства криптографии реализуются «юридическим лицом или индивидуальным предпринимателем, имеющим право на осуществление данного вида деятельности, связанного с шифровальными (криптографическими) средствами … вместе с правилами пользования ими, согласованными с ФСБ России».
Ранее был издан Указ Президента РФ от 3 апреля 1995 N 334 «О мерах по соблюдению законности в области разработки, производства, реализации и эксплуатации шифровальных средств, а также предоставления услуг в области шифрования информации», постановивший «Запретить использование государственными организациями и предприятиями в информационно-телекоммуникационных системах шифровальных средств, включая криптографические средства обеспечения подлинности информации (электронная подпись), и защищенных технических средств хранения, обработки и передачи информации, не имеющих сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации, а также размещение государственных заказов на предприятиях, в организациях, использующих указанные технические и шифровальные средства, не имеющие сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации» [3].
Относительно юридических лиц и предпринимателей, желающих разрабатывать либо реализовывать криптосистемы, существуют п. 5―11 ст. 17 Федерального Закона от 08.08.2001 N 128-ФЗ «О лицензировании отдельных видов деятельности»
«
5) деятельность по распространению шифровальных (криптографических) средств;
6) деятельность по техническому обслуживанию шифровальных (криптографических) средств;
7) предоставление услуг в области шифрования информации;
8) разработка, производство шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных систем, телекоммуникационных систем;
10) деятельность по разработке и (или) производству средств защиты конфиденциальной информации;
11) деятельность по технической защите конфиденциальной информации;
0per пишет: а у вас лицензия есть? на разработку алгоритмов шифрования? может все таки криптопреобразования?
Код
В Российской Федерации коммерческая деятельность, связанная с использованием криптографических средств, подлежит обязательному лицензированию. С 22 января 2008 года действует Постановление Правительства РФ от 29 декабря 2007 N 957 «Об утверждении положений о лицензировании отдельных видов деятельности, связанных с шифровальными (криптографическими) средствами», которым приняты Положения о лицензировании деятельности по:
* распространению шифровальных (криптографических) средств
* техническому обслуживанию шифровальных (криптографических) средств
* предоставлению услуг в области шифрования информации
* разработке, производству шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных и телекоммуникационных систем
Следует отметить, что приложения к данному Постановлению содержат жёсткие требования к лицу-соискателю лицензии, включая его образование, квалификацию, стаж, требования к помещению, охране, информационной и эксплуатационной безопасности при разработке и реализации средств. К примеру, требуется «наличие в штате у соискателя … следующего квалифицированного персонала: руководитель и (или) лицо, уполномоченное руководить работами по лицензируемой деятельности, имеющие высшее профессиональное образование и (или) профессиональную подготовку в области информационной безопасности, а также стаж работы в этой области не менее 5 лет; инженерно-технические работники, имеющие высшее профессиональное образование или прошедшие переподготовку … в области информационной безопасности с получением специализации, необходимой для работы с шифровальными (криптографическими) средствами».
В настоящее время действует также Приказ ФСБ России от 9 февраля 2005 г. N 66 «Об утверждении положения о разработке, производстве, реализации и эксплуатации шифровальных (криптографических) средств защиты информации (положение пкз-2005)»[2], который определяет порядок разработки и эксплуатации криптографических средств.
В частности, согласно приказу, средства криптографии реализуются «юридическим лицом или индивидуальным предпринимателем, имеющим право на осуществление данного вида деятельности, связанного с шифровальными (криптографическими) средствами … вместе с правилами пользования ими, согласованными с ФСБ России».
Ранее был издан Указ Президента РФ от 3 апреля 1995 N 334 «О мерах по соблюдению законности в области разработки, производства, реализации и эксплуатации шифровальных средств, а также предоставления услуг в области шифрования информации», постановивший «Запретить использование государственными организациями и предприятиями в информационно-телекоммуникационных системах шифровальных средств, включая криптографические средства обеспечения подлинности информации (электронная подпись), и защищенных технических средств хранения, обработки и передачи информации, не имеющих сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации, а также размещение государственных заказов на предприятиях, в организациях, использующих указанные технические и шифровальные средства, не имеющие сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации» [3].
Относительно юридических лиц и предпринимателей, желающих разрабатывать либо реализовывать криптосистемы, существуют п. 5―11 ст. 17 Федерального Закона от 08.08.2001 N 128-ФЗ «О лицензировании отдельных видов деятельности»
«
5) деятельность по распространению шифровальных (криптографических) средств;
6) деятельность по техническому обслуживанию шифровальных (криптографических) средств;
7) предоставление услуг в области шифрования информации;
8) разработка, производство шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных систем, телекоммуникационных систем;
10) деятельность по разработке и (или) производству средств защиты конфиденциальной информации;
11) деятельность по технической защите конфиденциальной информации;
Re: Разработал драйвер баз данных, что дальше???
Анонимус
Guest Блин, неужели кому-нибудь IDA сложно в руки взять и не лить из пустого в порожнее?
Убер алгоритмы из PR9X.dll:
Gpsch_u - это я так понял и есть генератор случайных числел. И мы там видим: f(a,b) = (9a+7) mod b. Линейный конгруэнтный метод, первое же что по ссылке написано: "...применяется в простых случаях и не обладает криптографической стойкостью...".
Shifr_u - убер шифрование, две строки на входе и что-то вроде ключа на выходе:
1) Строки посимвольно суммируются по длинне первой строки + при каждой итерации соответствующий символ второй строки заменяется на число с соответствующим индексом из A = {x = gpch(x, 256), x = 0..255}.
2) Все символы второй строки суммируются, к ним добавляется занчение какой-то линейной функции от длинны этой строки.
3) От предыдущей суммы берется два раза (видимо для надежности) gpch(x, 256(255 во втором случае)), значения обоих вызовов складываются.
4) Суммированые значения посимвольно добавляются к первой строке.
5) Суммированая строка как-то конвертируется в определенный формат кратный 8 байтам при помощи комманд fpu, думаю это delphi загонятся, сам автор такого бы не написал. Финиш.
NShifr_u - по-моему тоже самое что и Shifr_u, только суммирование везде на разность заменено.
Остальные *Shifr* - особо ни вникал, по-моему просто обертки для Shifr/NShifr вызывающие их по нескольку раз и ничего принципиально интересного не делающие.
Точка входа из tj7reader.exe в убер-шифрование находится в TJ7ReadMas[fvmass.dll], передается сам пароль и какой-то константный фарш длинной FD байт, созданием которого процедура по большей части и занимается, как она его делает разбираться за бесплатно просто лень.
PS: Стоит отметить хорошее знание дискретной математики(или на чем там еще основаны его алгоритмы...), в особенности символики. Если кто заметил, то линейный конгруэнтный метод - функция высших порядков и для генерации последовательности псевдослучайных чисел рекурсивно вызывает сама себя же в качестве аргумента, чего я, по-моему, так нигде и не увидел.
9 ноя 09, 08:11 [7899530] Ответить | Цитировать Сообщить модератору
Это и есть принципиально новый криптоалгоритм, который перевернет мировую криптографию?
Re: Разработал драйвер баз данных, что дальше???
Анонимус
Guest Блин, неужели кому-нибудь IDA сложно в руки взять и не лить из пустого в порожнее?
Убер алгоритмы из PR9X.dll:
Gpsch_u - это я так понял и есть генератор случайных числел. И мы там видим: f(a,b) = (9a+7) mod b. Линейный конгруэнтный метод, первое же что по ссылке написано: "...применяется в простых случаях и не обладает криптографической стойкостью...".
Shifr_u - убер шифрование, две строки на входе и что-то вроде ключа на выходе:
1) Строки посимвольно суммируются по длинне первой строки + при каждой итерации соответствующий символ второй строки заменяется на число с соответствующим индексом из A = {x = gpch(x, 256), x = 0..255}.
2) Все символы второй строки суммируются, к ним добавляется занчение какой-то линейной функции от длинны этой строки.
3) От предыдущей суммы берется два раза (видимо для надежности) gpch(x, 256(255 во втором случае)), значения обоих вызовов складываются.
4) Суммированые значения посимвольно добавляются к первой строке.
5) Суммированая строка как-то конвертируется в определенный формат кратный 8 байтам при помощи комманд fpu, думаю это delphi загонятся, сам автор такого бы не написал. Финиш.
NShifr_u - по-моему тоже самое что и Shifr_u, только суммирование везде на разность заменено.
Остальные *Shifr* - особо ни вникал, по-моему просто обертки для Shifr/NShifr вызывающие их по нескольку раз и ничего принципиально интересного не делающие.
Точка входа из tj7reader.exe в убер-шифрование находится в TJ7ReadMas[fvmass.dll], передается сам пароль и какой-то константный фарш длинной FD байт, созданием которого процедура по большей части и занимается, как она его делает разбираться за бесплатно просто лень.
PS: Стоит отметить хорошее знание дискретной математики(или на чем там еще основаны его алгоритмы...), в особенности символики. Если кто заметил, то линейный конгруэнтный метод - функция высших порядков и для генерации последовательности псевдослучайных чисел рекурсивно вызывает сама себя же в качестве аргумента, чего я, по-моему, так нигде и не увидел.
9 ноя 09, 08:11 [7899530] Ответить | Цитировать Сообщить модератору
Это и есть принципиально новый криптоалгоритм, который перевернет мировую криптографию?
да - это он... новое слово в мировой криптографии.
К тексту она добавляет 1810 байт. ВИ? Не много? Давай сразу 10000000 байт, чтоб уж жесть защиту сделать.
Для АЕS Достаточно ВИ в 16 байт.
Чем-то похожа на "идею" Андрейчикова. Тот тоже добавлял к файлу псевдослучайную последовательность.
Последовательность
Код
(9a+7) mod b
не криптостойкая. Думаю, твой алгоритм легко взломают.
О новизне вообще не приходится говорить. Во времена Второй Мировой в Германии использовали машину Лоренца (Тунец), которая работала по тому же принципу (использование ГПСЧ и наложение гаммы на текст). И была успешно зломана, на первых компах.
П.s.: Так как полного описания нету, если упростить получим: 1.берем генератор xi=(9а+7) mod b 2.герерируем (простой функцией rand) 2 случайных числа а1 и б1, и с помощь их и формулы п.1 получаем ряд чисел х1,х2,х3,х4...хн. 3.берем открытый текст определенной длины (например 64 байт) т1,т2,т3,...тн. Складываем по модую 2 или простой подставновкой или сложенеием по модую 256 или .... неважно как... получаем зашифрованный текст з1,з2,з3,з4...зн. 4. записываем в выходной файл (64+2 байта) а1,б1,з1,з2,з3,з4...зн. 5.если не достигли конца текста идем к п.2.
Так вот такой шифр взомают за раз. И его придумали как минимум до 1942года.
Oleg1986 Petrov, На самом деле - шифр действительно не ломаем - и не из-за того что он сверх-сложный и т.д... А потому что я представил методы Усиления Шифрования, позволяющие использовать слабый шифр таким образом, чтобы его взлом был невозможет Теоретически. Как это реализуется на практике: 1) Использование блоков факсированной длинны, частично заполненых мусором в котором растворена шифрованная Информация. 2) Полное отсутствие избыточности даже после первого прохода алгоритма декодера: необходимость выполнения полного цикла декодировки - для принятия решения о правильности кода. 3) Рандомизация - использовние генератора случайных чисел в купе с генератором псевдо-случайных чилел! 4) Использование любого участка пароля для кодирования всего один раз - независимо от длины сообщения и длины пароля!(полное отсутствие цикличности)
Эти пункты я выполняю при кодировании. Более того, мне удалось добиться неуязвимости к известным методам Криптоанализа. Даже полный перебор паролей - будет проблематичек - так как метод проверки пароля, является вероятностным.
1) Использование блоков факсированной длинны, частично заполненых мусором в котором растворена шифрованная Информация. Хорошо, доупстим текст: "открытый текст", мусор "3н3меа343см32аукпаву3", результат:"открытый текст3н3меа343см32аукпаву3" криптостойкий?
Тоесть всякий мусор в сообщении никоим образом не может говорить о криптостойкости. Да, как элемент защиты иногда используется, но не как основа шифра.
2) Полное отсутствие избыточности даже после первого прохода алгоритма
Если половина сообщения случайне данные, а вторая - наложенне на текст выходы ГПСЧ, то избыточности на первый взгляд не будет.
Опять же можно привести массу шифров с малой избыточностью, которые абсолютно не криптостойкие.
3) Рандомизация - использовние генератора случайных чисел в купе с генератором псевдо-случайных чилел!
?) И как ты получаешь случайные числа? функцией рнд?)
Все "случайные" числа полученные на компе будут псевдослучайными, кроме тех которые получаны каким аппаратным генератором, например от радиактивного распада.
Поэтому фраза я использую случайные и псевдослучайные числа - бред.
4) Использование любого участка пароля для кодирования всего один раз - независимо от длины сообщения и длины пароля!(полное отсутствие цикличности) Тут туманное описание, не совсем понятно как это реализовано.
Если пофантазировать, тогда например пароль "авпа", берем букву "а" и шифруем скажем первые 20 блоков, далее "в" для следующих. Опять же о даже тени криптостойкости это не говорит.
П.s.:
Код
Gpsch_u - это я так понял и есть генератор случайных числел. И мы там видим: f(a,b) = (9a+7) mod b. Линейный конгруэнтный метод, первое же что по ссылке написано: "...применяется в простых случаях и не обладает криптографической стойкостью...".
Возьмем х0=9(оно же а), b=256 (как у тебя в описании), тогда №номер элемента и значение
От предыдущей суммы берется два раза (видимо для надежности) gpch(x, 256(255 во втором случае))
То же самое будет и для b=255)))))
И как итог:
Код
Однако - хотелось-бы, не раскрывая алгоритмов , сделать данные алгоритмы криптографии неким стандартом, чтобы многие крумные организации брали за основу эти методы - как эффективные, быстрые и безопасные. Как это можно сделать? Где опеблиовать их описание?
Можешь напечатать их на бумаге и раздавать у метро, все равно никто их в здравом уме не будет использовать.
Oleg1986 Petrov, По пункту №1: Есть несколько нюансов - текст растворяется в мусоре - хакер не будет знать даже самого расположения текста внутри мусора и длины текста (собщения)!!!
По пункту №2: Я не гоорю что только из-за пункта №2 система стойка - только при выполнении всех пунктов безопасности, система является криптостойкой, однобокая защита никогда не была надёжной. Мои алгоритмы как раз и объединяют в себе все методы для защиты от любых атак!
По пункту №3: ГПСЧ, да ещё и тупо взят из книжки - нужен не для секретности. Секретность алгоритмов не должна влиять на стойкость - поэтому мы исходим из принципа Достаточности! Что нам даёт это маленький, простенький алгоритм: он позволяет символ транспортировать 254 раза без попадания символа самого в себя, создавая псевдо-случайную последовательность! Это позволяет нам трансформировать символы один или n-раз!!!
По пункту №4: А вот ты и не угадал. Для достижения секретности: - Каждый символ пароля должен использоваться только один раз. - Длина пароля должна быть больше длины шифруемого сообщения. - Каждый следующий блок должен шифроваться с новым паролем! А как-же нам этого достичь??? У нас под руками есть 4-ре инструмента: шифруемый текст, Пароль, ГПСЧ (который мы можем вызывать сколь-угодно раз для каждого символа), а так-же функция Random! При этом частично Random мы тоже можем прогонять через ГПСЧ и комбинировать имеющиеся прелести. Теперь когда мы видим что инструментов у нас полно мы должны достич все вышеперечисленные условия - независимо от длины Пароля и Текста! Для этого нам необходим целый ряд преобразований для трансформации пароля, для трансформации пароля по фиксированным и переменным правилам.
Что существует в Protection Of The Information: - Длина переменная и не зависит от длин пароля которую ввёл пользователь! - Длина пароля всегда больше длины шифрумого сообщения с учётом системной информации. Это исключает даже теоретическую возможность вычислить код - даже при уязвимом алгоритме, так как у вас будет n-количество вариантов, для современных ПК, n-будет стремиться к бесконечности! - В каждом текущем блоке сохраняются правила трансформации пароля (генерации нового кода), для следующего блока! то есть каждый блок шифруется своим кодом и напрямую вычислить один код по другому или по паролю пользователя - невозможно. - Возможность двойного наложения кода (Персональный код)! Пароль который ввёл пользователь конечно хорошо, но вдруг он окажется ненадёжным? Тогда программа введёт свой собственный код - переменой длинны около 250 символов по составу символов с кодом от №0 до №255. Никто и никогда не подберёт такой код!
Другими словами я пытаюсь вам показать что алгоритмы шифрования не обязательно должы быть супер-пупер сложными - они должны быть достаточными - главное особый метод приенения алгоритмов, который бы позволял достич безопасности при любом раскладе и даже нехождение уязвимости или математическое доказательство уязвимости алгоритма - не позволит взломать шифв из-за особого применения алгоритма достаточно в данной ситуации для 100% защиты! Я реализовал бытрые и простые базовые алгоритмы (хотя в качестве базовых могли быть и Гостовские и т.д...), а дальше использовал алгоритм Усиления Криптографии!
Представь: Представь у тебя фиксированная длина, случайных символов: хххххххххх Тебе надо записать, уууу! Что мы делаем, мы вписываем в случайную позицию: ххуууухххх. Потом шифруем уууу под паролем хххххх - по какому-либо алгоритму: Затем строку ххzzzzхххх - то есть нашь случайный текст и шифрованый текст по случайному паролу, шифруем паролем пользователя и получаем единую гамму: ssssssssss - ты никогдв её не расшифрцешь даже если алгоритм будет детский а+б=с - при достаточно сложном пароле! Десткий алгоритм будет неломаем!!!
А теперь представь алгоритм проверки пароля, когда вместо уууу сам пароль, и тогда длину пароля нам сохранять ненадо мы можем её взять из работающего алгоритма из того что придёт на вход....
Юрий, вы где то вообще учились? при алгоритме а+б=с расшифровка а=с-б и чего вы в текст не мешайте на результат это не повлияет... или вы таки надеетесь, что ваш алгоритм в дллке никто не проанализирует?
0per пишет: Юрий, вы где то вообще учились? при алгоритме а+б=с расшифровка а=с-б и чего вы в текст не мешайте на результат это не повлияет... или вы таки надеетесь, что ваш алгоритм в дллке никто не проанализирует?
Нельзя найти уязвимость там - где её нет!!! Анализ ничего не даст - в этом то и суть! Если вы столнётесь с таким алгоритмом - вы будете знать что даже пытаться взломать его - просто пустая трата времени!