Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.041 c
3-1103097540
Denmin
2004-12-15 10:59
2005.01.16
Как передать значение вычисляемого поля в простое?


1-1103379997
ZenAS
2004-12-18 17:26
2005.01.16
работа с dll


1-1103889771
Cosinus
2004-12-24 15:02
2005.01.16
Проблемма с кодировкой


1-1104474929
begin...end
2004-12-31 09:35
2005.01.16
PByteArray: непонятности


1-1104224195
Vasiliy
2004-12-28 11:56
2005.01.16
Помогите нужен тулбар





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский