|
|
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Можете подсказать алгоритм шифрования? Под перечисленные ниже требования конечно подходять известные RSA и т.п., но вижу проблему в том, что пара ключей должна генерироваться не сама по себе, а так, что открытый ключ вводит пользователь (типа пароля)... В общем, требования и контекст такие: 1) Нужно, чтобы РАСШИФРОВКА производилась с использованием введенного ключа (например, пароля пользователя); 2) Чтобы зная алгоритм шифровки и расшифровки, но не зная ключа (пароля) нельзя было бы расшифровать. Сказать по-другому: расшифровать должно быть очень трудо- и ресурсоемко... 3) Шифруем текстовые строки; 4) Зашифрованная строка желательно не должна содержать всяких нулевых символов и т.п. - причина в том, что строки храняться в текстовом поле в MS SQL, и если в них будут нули, то это затруднит работу с ними... (может это и не существенно... не пробовал пока); 5) Можно тыкнуть на какой-нить сторонний компонент/библиотеку (тока чтоб бесплатная), но можно и указать на сам алгоритм, а я уж реализую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 15:32:42 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
для пароля пользователя береться 300000 хеш. а дальше хоть XOR. без знания хеш хер вы что определите. а он трудоемко береться 4 8 15 16 23 42 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 15:56:38 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
авторно вижу проблему в том, что пара ключей должна генерироваться не сама по себе, а так, что открытый ключ вводит пользователь (типа пароля)...если я Вас правильно понял, то эта проблема давно решена. ключ пользователя зашифрован с паролем, пользователь вводит не сам 4096-битный ключ, а пароль для доступа к своему ключу. а потом уже расшифрованный ключ используется для расшифровки данных. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 16:55:20 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Kulavert В общем, требования и контекст такие: 1) Нужно, чтобы РАСШИФРОВКА производилась с использованием введенного ключа (например, пароля пользователя); Если нет хранилища ключей - то так и происходит. Пароль - преобразуется в ключ. В простейшем случае это детерминистическая шумящая функция (как вариант SHA или MD5). 2) Чтобы зная алгоритм шифровки и расшифровки, но не зная ключа (пароля) нельзя было бы расшифровать. Сказать по-другому: расшифровать должно быть очень трудо- и ресурсоемко... 1)Расшифровывать зная ключ трудоёмко (сложность порядка N) 2)Расшифровывать не зная ключ, всегда трудоёмко (сложность астрономически растёт с длиной ключа). При этом мы априори "знаем" что хотим получить в результате (текстовый файл, катринка, прочий структурированный файл. 3)Расшифровывать не зная содержимого файла еще более сложно чем пункт (2). 4) Зашифрованная строка желательно не должна содержать всяких нулевых символов и т.п. - причина в том, что строки храняться в текстовом поле в MS SQL, и если в них будут нули, то это затруднит работу с ними... (может это и не существенно... не пробовал пока); Вообще никаких проблем. Перед обработкой прогоняешь строку через любой алгоритм сжатия (тот-же Zip например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 17:12:19 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Aklin Jдля пароля пользователя береться 300000 хеш. а дальше хоть XOR. без знания хеш хер вы что определите. а он трудоемко береться 4 8 15 16 23 42 Вроде программист, а туплю.. Кроме XOR ниче не понял. Можете поснить "... берется 300000 хеш" и "4 8 15 16 23 42"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 18:35:26 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Ёшесли я Вас правильно понял, то эта проблема давно решена. ключ пользователя зашифрован с паролем, пользователь вводит не сам 4096-битный ключ, а пароль для доступа к своему ключу. а потом уже расшифрованный ключ используется для расшифровки данных. Тогда получается, что мы добавляем еще одно звено шифрования - "ключ пользователя зашифрован с паролем" , и теперь мой вопрос становиться применим и к нему тоже :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 18:39:21 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
mayton Если нет хранилища ключей - то так и происходит. Пароль - преобразуется в ключ.... А как к этому ключу составить пару?... В RSA и т.п. ключ не произвольный а генерируется одновременно со своей парой. mayton 1)Расшифровывать зная ключ трудоёмко (сложность порядка N) 2)Расшифровывать не зная ключ, всегда трудоёмко (сложность астрономически растёт с длиной ключа). При этом мы априори "знаем" что хотим получить в результате (текстовый файл, катринка, прочий структурированный файл. 3)Расшифровывать не зная содержимого файла еще более сложно чем пункт (2). Да, справедливо для шифрования с открытым ключом, но у меня в том-то и вопрос: в известных мне принципах генерации ключей нет возможности взять один из них произвольно... mayton Вообще никаких проблем. Перед обработкой прогоняешь строку через любой алгоритм сжатия (тот-же Zip например. Дельный совет, можно попробовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 18:49:03 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
XOR использовать в лоб для шифрования можно, но сам такой алгоритм слаб, т.к. в независимости от ключа, он подбирается частотным анализом и очень быстро. Если основой для шифрования должен только пароль пользователя и дранения жругих ключей шифрования локально не допускается, то стоит навреное из пароля делать ключ хэшированием и криптовать симметричным 3des или AES алгоритмом. Использование последнего предпочтительно, библиотеки, его реализующие - доступны и открыты. Но если особой криптостойкости не нужно, то XOR легче всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 18:50:47 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Ggg_oldЕсли основой для шифрования должен только пароль пользователя и дранения жругих ключей шифрования локально не допускается, то стоит навреное из пароля делать ключ хэшированием и криптовать симметричным 3des или AES алгоритмом. Использование последнего предпочтительно, библиотеки, его реализующие - доступны и открыты. Но если особой криптостойкости не нужно, то XOR легче всего. Про XOR конечно знаю - не подходит из-за слабости. Про AES: т.е. можно из произвольного пароля получить пару ключей? Где можно почитать, подскажите (википедию не предлагать :))? Может кто и ссылку на компоненты/библиотеки для AES подкинет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 06:21:26 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Ggg_oldXOR использовать в лоб для шифрования можно, но сам такой алгоритм слаб, т.к. в независимости от ключа Даже если длина ключа больше шифруемого текста ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 08:52:56 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
KulavertAklin Jдля пароля пользователя береться 300000 хеш. а дальше хоть XOR. без знания хеш хер вы что определите. а он трудоемко береться 4 8 15 16 23 42 Вроде программист, а туплю.. Кроме XOR ниче не понял. Можете поснить "... берется 300000 хеш" и "4 8 15 16 23 42"? rar в свое время брал 300000 хеш от пароля. в те времена эта операция занимала достаточно времени, что бы за несколько миллиардов вечностей не взломать рар. сейчас не знаю сколько, но рар по прежнему не взломан (если правильно зашифрован). 4 8 15 16 23 42 - lost from abc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 10:21:13 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
хотите реально непосильную задачу ? берется текст, в начало дописывается пароль. от него берется полином жегалкина (вообще говоря охренено сложная операция). и результат на выход. восстановить без пароля нереально. 4 8 15 16 23 42 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 10:22:57 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Aklin Jхотите реально непосильную задачу ? ... (вообще говоря охренено сложная операция)... восстановить без пароля нереально. А с паролем реально? :) Можете подкинуть ссылочку на внятное объяснение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 17:20:20 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Aklin Jхотите реально непосильную задачу ? берется текст, в начало дописывается пароль. от него берется полином жегалкина (вообще говоря охренено сложная операция). и результат на выход. восстановить без пароля нереально. 4 8 15 16 23 42 Как это? Китайская коробочка? Пароль, а внутри пароль? Или речь идёт о "другом" пароле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 17:24:31 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
здравствуйте! подскажите пожалуйста, как расшифровать скрытый текст вот в этом п щ и г п л к М я д й к я ж ъ Щ Ж з ъ л ж з ё ю Ж л ь ь л с з Я З з е в ж я ё Г К й я я ъ ж м К Л м ж щ щ в щ Л Х ч з л и ч ц Ь Щ щ щ й з щ л В Ж ж ю ъ щ д з Ч ъ ъ я ж з щ ё и если можно, то объясните, каким макаром производится расшифровка. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2009, 03:30:59 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
KulavertДоброго времени суток! В общем, требования и контекст такие: 1) Нужно, чтобы РАСШИФРОВКА производилась с использованием введенного ключа (например, пароля пользователя); 2) Чтобы зная алгоритм шифровки и расшифровки, но не зная ключа (пароля) нельзя было бы расшифровать. Сказать по-другому: расшифровать должно быть очень трудо- и ресурсоемко... 3) Шифруем текстовые строки; 4) Зашифрованная строка желательно не должна содержать всяких нулевых символов и т.п. - причина в том, что строки храняться в текстовом поле в MS SQL, и если в них будут нули, то это затруднит работу с ними... (может это и не существенно... не пробовал пока); 5) Можно тыкнуть на какой-нить сторонний компонент/библиотеку (тока чтоб бесплатная), но можно и указать на сам алгоритм, а я уж реализую... Не понимаю, зачем нужно в данном контексте использовать ассиметричное шифрование. Логичнее использовать симметричное шифрование. Тогда: 1. От введенного пароля вычисляется хеш ( как ранее советовали, много sha или md5), затем используются des, 3des, gost и т.д. по выбору. 2. Трудоемкость гарантируется п.1 3. Структура шифруемой информации не имеет значения. 4. Зашифрованные данные можно хранить в виде hex дампа или использовать base64 и пр. системы кодирования двоичных данных в текст. 5. Тыкнуть можно, но проще самому поискать в гугле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2009, 05:33:00 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Автор сбежал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2009, 10:58:55 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
adventoи если можно, то объясните, каким макаром производится расшифровка. Заранее спасибо!Единого метода не существует. Обычно исходят из предположения, что за каждым символом скрыт текст национального алфавита. Тоесть нужно хотя-бы знать на каком языке мы ищем расшифровку. Далее, исходя из статистики букв делаем предположения. Причём, чем длинне текст, тем лучше. Этот метод описан неоднократно в художественных произведениях Конан-Дойля и Эдгара По. Если шифр класса "решётка", то направления поиска следующей буквы может быть не в декартовом, а в произвольном порядке. На этом всё. Более сложные методы - только "за деньги". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2009, 12:04:12 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
mayton спасибо. Ну, я так понял, что вначале надо знать каким методом его надо расшифровать, но прикол в том, что этого я не знаю (не указано). Это одно из моих заданий (учусь на программиста), и по ходу я прошел по самым первым и элементарным методам, но самое интересное то, что есть как зашифровать текст, а не расшифровать. Типа я сам должен придумать алгоритм расшифровки. Поэтому прошу вас помочь, как легче в этом разобраться. какие есть первые азы, для того чтобы уловить саму суть расшифровки. и как создать этот алгоритм. Уверен, что мир не без добрых людей. Вот те методы что я прошел: 1.Шифры перестановки 2.Применение магических квадратов 3.Шифр перестановки "скитала" 4.Шифры простой замены 5.Полибианский квадрат 6.Система шифрования Цезаря 7.Шифрующие таблицы Трисемуса 8.Биграммный шифр Плейфейра 9.Система омофонов P.S. Надеюсь на вашу помощь. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2009, 02:32:38 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
2 advento То, что ты перечислил имеет скорее историко-познавательный интерес. В промышленности эти шифры нигде не используются. Про "систему омофонов" я не слыхал. Может быть она и имеет какое-то интересное применение. Советую тебе пойти таким путём: 1) Чисто из любопытства ознакомься с шифром Виженнера. При некоторых условиях (бесконечный сложный ключ), этот шифр является теоретически невзламываемым. Его очень легко запрограммировать. 2) Многие студенты делают курсовые по алгоритму DES или 3DES. Предлагаю также поискать в сети описание и готовые исходники реализации DES. Несмотря на то, что он считается морально устаревшим, его можно изучать для того, чтобы понять как работают современные автоматы шифрования. 3) Советую тебе скачать книгу "Практическая Криптография". Брюс Шнайер. В ней - полезная информация и исходники. 4) Ты должен овладеть терминологией. Это признак хорошего тона. Принцип Кирхгоффа. Энтропия. Блочный шифр, поточный. Режимы CBC, ECB, OFB, CTR. Функции хеширования. и.т.д. Всё есть в вышеуказанной книге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2009, 10:37:29 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
mayton за информацию еще раз спасибо. Очень признателен. Буду учить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2009, 15:19:01 |
|
||
|
Нужен алгоритм шифрования с парными ключами
|
|||
|---|---|---|---|
|
#18+
Использовать DPAPI (Data Protection API) + IsolatedStorage - да и вся любовь. Все давно придумано и продумано. Даже если чужая прога или просто та же но на другом компе попробует влезть в защищенное хранилище - получит по рогам. Если тупо скопировать на другой комп или в другое место - получит фигу при открытии. Не говоря уже про человека. Но по большому счету все это такая шняга. Если продукт имеет хорошую цену, чтобы выгодно было ломать - просто купят за деньги банально юзера. "Человеческий фактор" вскрывает любые защитные системы на раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2009, 19:00:14 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35970369&tid=1344496]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
246ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 586ms |

| 0 / 0 |
