gvg |
Отправлено: 08.12.2006, 17:37 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
Ну, коли человеку надо... |
|
L.u.M. |
Отправлено: 09.12.2006, 17:43 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
Спасибо, но хотелось бы получиться ссылку на готовые библиотеки или скрипты, в которых самому мало нужно дописывать, дабы опыта в шифровании у меня нет... =) |
|
L.u.M. |
Отправлено: 13.12.2006, 20:56 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
Вопрос еще актуален! |
|
Romikgy |
Отправлено: 14.12.2006, 11:23 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
А в чем вопрос ?
Что еще нужно? |
|
exp |
Отправлено: 15.12.2006, 12:50 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Народ, не надо выдумывать. Тем более, что это, если разобраться, не программистское дело. Мало придумать, что с чем xor-ить. надо доказать, что твой метод обладает единственностью отображения по заданному ключу, или наоборот для шифрования подходит единственный ключ. Поэтому, пока не будете свободно плавать в линейной алгебре, множествах, группах и иже с ними, ИСПОЛЬЗУЙТЕ СТАНДАРТНЫЕ АЛГОРИТМЫ.
Здесь было высказано мнение, что недолго ломануть алгоритм, если использовать короткие ключи. ЧУШЬ СОБАЧЬЯ!!! Короткий ключь дополняется до полного — это раз. Замена ОДНОГО БИТА!!!! в ключе изменит ВЕСЬ!!!! объём зашифрованных данных — это два.
Вы можете знать метод шифрования и во весь голос об этом орать на каждом квадратном сантиметре окна, но без информации о пароле вы не прочтёте переданное сообщение.
Я не призываю выключить мозг — особо упорные, прошу, ковыряйте, ломайте... — я просто хочу сказать, что без глубокого понимания, соваться не стоит.
В качестве альтернативы могу предложить алгоритм Rijndael (Рэндейл). Ибо исходники, прикрученные к небольшому интерфейсу а приаттаченом архиве.
Та троих за самокат сдавали
Отредактировано exp — 15.12.2006, 12:52
|
|
L.u.M. |
Отправлено: 15.12.2006, 22:36 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
QUOTE | А в чем вопрос ?
Что еще нужно? |
Вопрос в том, что с методом шифрования еще не определился. Что посоветуете? =)
Меня, впринципе, устраивает PGP... но смогу-ли перевести код с Дельфи на Билдер?! ...
exp, интересный метод. =)
У меня по нему пара вопросов: я так понимаю, что расшифрованные файлы нужно будет удалять? =)
У Вас есть "чистые" исходники, т.е. не приатаченные к проекту? Или такие можно использовать? |
|
exp |
Отправлено: 16.12.2006, 11:22 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Этот метод на данный момент является стандартом шифрования в США. AES, так его разтак.
QUOTE | я так понимаю, что расшифрованные файлы нужно будет удалять |
Загружай в память не выкладывая в файл — тут проблем нет.
Чистые исходники в архиве. Прикрутка к проекту заключалась файле rijndael_for_cpp.h. Чуток изменил определения функций под C++.
Исходный код принадлежит авторам алгоритма Rijndael.
Отредактировано exp — 16.12.2006, 11:26
|
|
L.u.M. |
Отправлено: 16.12.2006, 17:12 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
Спасибо за исходнички! =)
QUOTE | Загружай в память не выкладывая в файл — тут проблем нет.
| А как это сделать? Причем у меня в программе идет создание файлов текстовых... |
|
exp |
Отправлено: 20.12.2006, 16:37 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Что "это".
Для начала напиши, что же ты хочешь получить. Как я понял, оставлять файлы в твоём случае нельзя, чтобы их содерживое нельзя было просмотреть. Так?
|
|
L.u.M. |
Отправлено: 22.12.2006, 18:55 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
Именно.
Т.е. пользователь создает файл текстовый, сохраняет его и файл шифруется. Как быть с незашифрованным? Удалять его и стирать из корзины или переписывать его содержимое на что-нибудь посторонее, или вовсе снести весь текст из него? |
|
exp |
Отправлено: 23.12.2006, 10:39 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Ну ты даёшь!
Текстовый редактор можно сделать и в своей программулине. Кидаешь мемо и никаких проблем. Шифруешь введённый текст и сливаешь результат шифрования в файл. Все дела.
В том исходнике, который ты скачал, есть шифрование текста.
С другой стороны, если пишешь шифратор, закинь на форму чекбокс "Удалить файлы после шифрования". Если галка стоит — удаляй. DeleteFile
|
|
L.u.M. |
Отправлено: 23.12.2006, 17:04 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
Ты меня не понял! =)
Вот создали мы текстовый файл, нажали сохранить — вылезла форма, куда мы вводим пароль, после чего создается зашифрованный файл.
Что делать с текстовым? Удалять его в корзину, а потом и из нее или просто затереть его содержимое??? |
|
exp |
Отправлено: 24.12.2006, 11:18 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Нет. Это ты меня не понял.
QUOTE |
Вот создали мы текстовый файл, нажали сохранить — вылезла форма
|
Раз вылезает НАША форма, значит приложение, в которов создан текстовый файл — НАШЕ. А раз наше, то нет необходимости СОЗДАВАТЬ файл.
|
|
L.u.M. |
Отправлено: 24.12.2006, 13:16 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
QUOTE | Нет. Это ты меня не понял. |
Да, действительно.
QUOTE | Раз вылезает НАША форма, значит приложение, в которов создан текстовый файл — НАШЕ. А раз наше, то нет необходимости СОЗДАВАТЬ файл. |
1) Програмно нужно создавать файлы. Это я делаю с помощью SaveDialog и SaveToFile.
2) Созданный файл шифруем в программе при нажатии на "Сохранить.
3) После этого создается зашифрованный файл ***.txt.rijndael.
Но тут возникает вопрос: что мы делаем с файлом, созданным в первом пункте? Тоже самое(создается обычный текстовый файл) при нажатии на Дешифровать! |
|
exp |
Отправлено: 25.12.2006, 00:29 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Отлично. Я тебя понял.
Я предлагаю тебе отказаться от сохранения незашифрованного файла.
Ты предлагаешь так : сначала написать текст, потом сохранить, потом зашифровать, потом сохранить.
А я хочу, чтобы ты сделал так: написать текст, зашифровать, слить в файл. Никакого промежуточного файла — никаких промежуточных проблем.
Чуток лирики...
Рэндейл работает с блоком байтов. В тех исходниках используется блок размером 16 байт.
Текст — последовательность байт. Очевидно, ты будешь использовать компонент Мемо (или его наследник) для ввода текста. Текст в меме — это AnsiString, который легко можно поделить на блоки размером в 16 байт. Поэтому твои действия выглядят так:
Label нах:
1) выделил 16 байт
2) скормил их алгоритму
3) получил из алгоритма зашифрованные данные
4) Слил в файл. РУЧКАМИ!!!!! FileWrite, FileRead, FileCreate, FileOpen
5) Пошёл нах, пока не дошёл до конца строки ) // Бех обид. юмор, нах.
Всёёё!! алгоритм проще паренной репы. и никаких промежуточных файлов.
|
|
L.u.M. |
Отправлено: 25.12.2006, 23:07 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
Гы! =) Вся фишка в том, что я использую СтрингГрид и Мемо, но весь текст я при сохранении сохраняю как строку, разделенную одним символом. Так что здесь, по идеи, проблем не должно быть!
Вся проблема в том, что я не знаю как сохранять по 16 байт, а в алгоритме такого я тоже не нашел. Или плохо искал? =) |
|
exp |
Отправлено: 26.12.2006, 10:35 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
CODE |
char MassivIs16tiBait[16]="bla-bla-bla-bla."; // На самом деле от из 17, но это не важно. Запишем мы только 16 байт
int hFile = FileOpen("MoiFail.txt",fmOpenErite);
if(hFile!=-1)
{
FileWrite(hFile,(char*)&MassivIs16tiBait,16);
// Последний параметр указывает, сколько байт начиная с адреса &MassivIs16tiBait будут записаны будут записаны в файл
FileClose(hFile); // Не забывай закрыть файл
}
|
Прочти про функции FileRead,FileWrite,FileOpen,FileCreate и откажись от использования методов сохранения, встроенных в компонент.
QUOTE |
Или плохо искал? =)
|
Угу.. плохо. посмотри код на обработку существующего файла.
|
|
L.u.M. |
Отправлено: 09.01.2007, 12:13 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 28
|
Спасибо за ответ!
Немного не понял: файл не будет создаваться(расшифрованный), все данные будут загружаться прямо в программу?
Получается, что придется убирать дополнение названия файла для шифруемого файла?
Я ,конечно, извиняюсь, но не мог бы ты приатачить проект с реализованным тобой методом, а то я никак не разберусь со своими вопросами...
Спасибо! |
|
Romikgy |
Отправлено: 09.01.2007, 13:46 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
QUOTE (L.u.M. @ 09.01.2007, 11:13) | Спасибо за ответ!
Немного не понял: файл не будет создаваться(расшифрованный), все данные будут загружаться прямо в программу?
Получается, что придется убирать дополнение названия файла для шифруемого файла?
Я ,конечно, извиняюсь, но не мог бы ты приатачить проект с реализованным тобой методом, а то я никак не разберусь со своими вопросами...
Спасибо! |
воть есть правда на дельфи , но работает
http://forum.vingrad.ru/index.php?showtopi...ndpost&p=814655 |
|
Boyko |
Отправлено: 09.01.2007, 15:49 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 88
|
Сделай самое простое (похоже EXP):
1. Открываешь файл decrypted.txt как двоичный (незашифрованный).
2. Открываешь файл encrypted.bin как двоичный (новенкий, зашифрованный).
цикл:
3. Читаешь блок (8 или 16) из decrypted.txt.
4. Шифрование блока.
5. Пишешь блок в encrypted.bin.
конец цикла
6. Пишешь что-нибудь, напр. 'Z' в decrypted.txt (от началa до конца)
7. Удаляешь decrypted.txt.
8. Где ключ? Ответственость твоя...
Отредактировано Boyko — 09.01.2007, 16:24 |
|