Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

Шифровани файла   Найти похожие ветки 

 
Shamansky   (2005-01-01 20:47) [0]

Люди, подскажите как можно закодировать данные и записать их в файл, а потом расшифровать, данные типа String.


 
Cheguevara   (2005-01-01 21:03) [1]

Я хоть и не сильно спец, но может смогу помочь.Такой принцип я вычитал в какйто статье, уже не помню на каком сайте.

Вот кусок из той статьи:

Добрый дядюшка Borland предоставил нам несколько занятных функций для работы со строками, о которых не все знают. Сосредоточены они в модуле StrUtils.pas. Такие функции, как RightStr, LeftStr совмещают известные нам стандартные команды Copy и Delete: так, LeftStr возвращает значение левой части строки до указанной вами позиции (что вытворяет RightStr, догадайтесь сами), а функция ReverseString и вовсе делает зеркальное отображение данной строки: 321 вместо 123. Используем ее в особенности, чтобы осложнить жизнь хитрому дешифровщику.

Алгоритм шифрования будет прост, как Win 3.1: с помощью команды Ord получим числовой код данного символа. НО! Для дешифровки нужен пароль, который (я надеюсь) будете знать только вы. Каждый символ пароля будет декодирован в числовое значение, и алгебраическая сумма всех этих чисел будет прибавлена к имеющемуся значению зашифрованного знака в тексте. И так - для каждой буквы шифруемого документа, между которыми добавятся пробелы, иначе декодер примет множество символов, записанных в цифровом виде, за одно большое многозначное число и ничего не переведет. А затем результат будет записан навыворот командой ReverseString.

Когда же настанет пора декодировать информацию, обработанные "чистые" цифровые значения переведутся в символьные командой Chr. Без пароля такой цикл взломать достаточно сложно, даже зная алгоритм, если только вы не гуру криптографии или титан алгебры (я-то надеюсь, что вы, конечно же, усовершенствуете мое скромное творение: это - лишь заготовка).

Единственный значительный недостаток - размер зашифрованного файла увеличивается по сравнению с исходным в 3 раза. Но для того и архиваторы придумали :).
Теперь, когда алгоритм намертво засел в голове, реализуем соответствующую программу


 
KilkennyCat ©   (2005-01-01 22:48) [2]

чушь.


 
Cheguevara   (2005-01-01 22:54) [3]

Блин, написалбы чтонить полезнае лучшей, чем заниматься копрофагией


 
palva ©   (2005-01-01 23:38) [4]

Если вы же и будете расшифровывать, то можно использовать довольно простой алгоритм RC4. Ключ 256 байтов. Если шифрование используется для переписки с заранее неопределенным кругом лиц, с которыми вы не можете встретиться и обменяться ключами, то используйте программу PGP (GPG) или всевоможные dll к ней, которые несложно найти. Для этой программы сущестует инфрастуктура обмена ключами.


 
programania ©   (2005-01-02 00:14) [5]

Зашифровать файл так что никто не поймет
нетрудно и без алгоритмов, dll и дополнительных программ,
используя замену, перестановку и добавление
случайных чисел. Для этого можно прибавлять
к байтам файла байты пароля и случайной функции random(256)
и потом еще переставить байты местами тоже случайно.
Проблема как затруднить подбор пароля перебором,
потому что если пароль 1..6 знаков, то никакие PGP не помогут.
Другая проблема как убедится в стойкости программы:
можно применять самые хитрые и проверенные
алгоритмы, но это ничего не гарантирует,
есть много простых способов их обойти, о которых
автор шифрования никогда не догадается.


 
R.D.I. ©   (2005-01-02 00:37) [6]

Расслабьтесь :)
http://delphibase.endimus.ru/?action=viewtopic&topic=strcode


 
PZ   (2005-01-02 08:09) [7]

Есть библиотека AKD. Там среди множества разных функций есть и функции для криптования строк.
homepage : www.akhome.da.ru


 
KilkennyCat ©   (2005-01-02 20:53) [8]


> Блин, написалбы чтонить полезнае лучшей, чем заниматься
> копрофагией


что полезное? я криптографией уже четыре года занимаюсь. Хотите, чтобы я сюда пару книжек запостил? А вот что лучше - копрофагия, или рассуждения об алгоритмах шифрования - это мне решать. Я же просто высказал свое мнение о статье - ерунда. Прочитайте теорию, поймете - почему.


 
KilkennyCat ©   (2005-01-02 20:53) [9]


> Блин, написалбы чтонить полезнае лучшей, чем заниматься
> копрофагией


что полезное? я криптографией уже четыре года занимаюсь. Хотите, чтобы я сюда пару книжек запостил? А вот что лучше - копрофагия, или рассуждения об алгоритмах шифрования - это мне решать. Я же просто высказал свое мнение о статье - ерунда. Прочитайте теорию, поймете - почему.


 
GanibalLector ©   (2005-01-03 01:44) [10]

2 KilkennyCat
>Прочитайте теорию, поймете - почему
А ссылочку можно???
З.Ы.Интересно,однако...


 
GanibalLector ©   (2005-01-03 01:48) [11]

2 KilkennyCat
и еще...А как Вы относитесь к этому :
http://delphimaster.net/view/15-1104612996/


 
KilkennyCat ©   (2005-01-03 09:06) [12]


> GanibalLector ©   (03.01.05 01:44) [10]

К сожалению, в бумажном виде книги... для начала могу посоветовать А. Щербаков, А. Домашев, "Прикладная криптография", книжка хороша тем, что не сильно заумно, но достаточно описана теория, и ориентирована как раз на программирование, с описанием CryptoAPI.

В последнее время полюбил бумажные вещи... удобно ехать в метро :)


> GanibalLector ©   (03.01.05 01:48) [11]

ну, про это я слышал... так же, как и про то, что доказана теорема Ферма :) Однако, не видно следующих сообщений, с описанием доказательств. Но даже если информация правдива, то думаю, в криптографии принцип "снаряд-броня" наиболее действенен. Кстати, когда появились компьютеры, так же бытовало мнение, что шифровальщики лишатся работы, типа, компьютеры смогут тупым перебором все расшифровать :)

Лично я для себя сделал вывод, что самое главне в шифровании, это не абсолютная защита (которая просто невозможна), а возможность узнать, что шифр взломан. Ведь самое ужасное, когда злоумышленник успешно извлекает информацию, а никто об этом не знает. Реализацию этого мы пытались делать аппаратно, и вероятно, получилось очень хорошо, так как в ФАПСИ зарубили нас на корню...

P.S.
Ну и самое "смешное" на последок:
Согласно нашему законодательству, разработка, проектирование, изготовление и т.д. криптографических фенечек - лицензируется.


 
palva ©   (2005-01-03 15:14) [13]

> Реализацию этого мы пытались делать аппаратно, и вероятно, получилось очень хорошо

Типа, у вас теперь есть аппарат, который включит сирену в тот момент, когда дядя в бункере сломает ваш код? Круто...


 
roobee ©   (2005-01-03 16:22) [14]

самый простой способ

есть строка str
открываем файл of byte
в цикле
от 1 до конца строки
  берем текущий символ из строки
  делаем xor $XX где XX наш код
  пишем результат в файл
закрываем файл

при открытии файла
  все тоже самое, только результат пишем в расшифрованный файл

byte  и ХХ можно соответсвенно изменять


 
KilkennyCat ©   (2005-01-03 18:14) [15]


> roobee ©   (03.01.05 16:22) [14]

таким способом была зашифрована база данных одной известной программки. Дешифрация у меня (непроффесионала) заняла два часа, из которых половина - написание дешифровщика-обрабочика базы.


> palva ©   (03.01.05 15:14) [13]

не совсем так, но с подобным эффектом.


 
GanibalLector ©   (2005-01-03 18:19) [16]

2 KilkennyCat
> могу посоветовать А. Щербаков, А. Домашев, "Прикладная криптография"

Спасибо!!!Увижу,куплю...
З.Ы.А какого она хоть года ???


 
KilkennyCat ©   (2005-01-03 18:20) [17]

свежая, 2003-го.



Страницы: 1 вся ветка

Текущий архив: 2005.01.16;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.049 c
1-1104079743
Dmitry
2004-12-26 19:49
2005.01.16
Как округлить число вверх до первого, которое делится на 5.


8-1097373757
Klopan
2004-10-10 06:02
2005.01.16
Индикатор уровня


4-1101412703
dimonka
2004-11-25 22:58
2005.01.16
Загрузка имен файлов в Combobox


1-1104141949
Vyacheslav
2004-12-27 13:05
2005.01.16
Как определить тип операционной системы ???


1-1104166345
ПоГибель
2004-12-27 19:52
2005.01.16
Делфи 8