Криптиране
15 отговора
719 прегледа
Криптиране
Само някои да не ми каже, че не съм чел преди да питам!
Четох ама, не намерих много-много това което искам да рабера
Става въпрос за криптиране на данни и записването им на файл,
В много теми се споменава по малко за това, но не ми се открива цялостната катрина.
Аз, от моята гледна точка на навлизащ, разглеждам криптирането в няколко аспекта:
1- Да обработиш информацията така, че на Юзера да не му говори нищо
2- Да я обработиш така, че кракера да не може да ти открие и разгадае алгоритъмчето без много пот
3- Записаната информация да не е съвсем пред погледа на юзера (въпреки че това не е съвсем в областта на криптирането):
За точка 1 (самото алгоритъмче), да речем че всеки може да прояви въображение и да омаже едно число или Стринг до неузнаваемост,
но за мене голямата мистерия е т.2:
- къде и как ще го скриеш това алгоритъмче че да не ти го гепне кракера?
Различните готови алгоритми за които се говори тук-таме във форума, предлагат ли такава защита, и ако да, при положение че са толкова известни, не са ли добре познати на кракерите за кракване
И още, има ли такива дето да мога да ги ползвам без да $$$$$$$ цакам
А и в карайна сметка все някъде в програмата ще трябва да разкодираш всичко за да сравниш верността на криптираните данни
Не очаквам сега някой да седне да ми изнася цялостна лекция по теория на криптирането,
но бих се радвал да ме насочите по правия път и ако може да ми разясните най-общите понятия
А най-много се надявам все някой да знае къде мога да нямеря добре систематизирана информация по темата, защото от четене по форумите нищо не мога да сглобя
Щото по форумите обикноженно дискусиите текът така:
- как да криптирам еди кво си?
- ми може да си го измислиш сам, ама по-добре си го купи готово, ама да знаеш, че пак ще те кракнат
Само че, аз не мога да си го купя, а и да можех като не зная какво ми трябва...
Предварително благодаря
ПС:
Мисля, че ако погледнете сериозно на вапросите ми, без много да ми се карате, би могло да се получи адна много полезна за всички начинаещи тема с която да се гордее форума.

Четох ама, не намерих много-много това което искам да рабера
Става въпрос за криптиране на данни и записването им на файл,
В много теми се споменава по малко за това, но не ми се открива цялостната катрина.
Аз, от моята гледна точка на навлизащ, разглеждам криптирането в няколко аспекта:
1- Да обработиш информацията така, че на Юзера да не му говори нищо
2- Да я обработиш така, че кракера да не може да ти открие и разгадае алгоритъмчето без много пот
3- Записаната информация да не е съвсем пред погледа на юзера (въпреки че това не е съвсем в областта на криптирането):
За точка 1 (самото алгоритъмче), да речем че всеки може да прояви въображение и да омаже едно число или Стринг до неузнаваемост,
но за мене голямата мистерия е т.2:
- къде и как ще го скриеш това алгоритъмче че да не ти го гепне кракера?
Различните готови алгоритми за които се говори тук-таме във форума, предлагат ли такава защита, и ако да, при положение че са толкова известни, не са ли добре познати на кракерите за кракване
И още, има ли такива дето да мога да ги ползвам без да $$$$$$$ цакам
А и в карайна сметка все някъде в програмата ще трябва да разкодираш всичко за да сравниш верността на криптираните данни
Не очаквам сега някой да седне да ми изнася цялостна лекция по теория на криптирането,
но бих се радвал да ме насочите по правия път и ако може да ми разясните най-общите понятия
А най-много се надявам все някой да знае къде мога да нямеря добре систематизирана информация по темата, защото от четене по форумите нищо не мога да сглобя
Щото по форумите обикноженно дискусиите текът така:
- как да криптирам еди кво си?
- ми може да си го измислиш сам, ама по-добре си го купи готово, ама да знаеш, че пак ще те кракнат
Само че, аз не мога да си го купя, а и да можех като не зная какво ми трябва...
Предварително благодаря
ПС:
Мисля, че ако погледнете сериозно на вапросите ми, без много да ми се карате, би могло да се получи адна много полезна за всички начинаещи тема с която да се гордее форума.
Re: Криптиране
> Само някои да не ми каже, че не съм чел преди да питам!
Може ли аз?
Малко ти е объркано питането, та е добре да внесеш яснота по някои въпроси. Най-фундаменталния е какво точно искаш да защитиш чрез криптиране? Говориш за криптиране на информация и данни, след което говориш за кракери и разбиване на алгоритми. Информация ли искаш да защитаваш или програмен код? Защото криптираната информация се атакува от криптоаналитици, а програмния код - от кракери.
> - къде и как ще го скриеш това алгоритъмче че да не ти го гепне кракера?
Ако ще базираш защитата си на таен алгоритъм, по-добре забрави. Добрия криптоалгоритъм разчита само на ключа за защита на данните, а не на опазване в тайна на начина на работа.
> Не очаквам сега някой да седне да ми изнася цялостна лекция по теория на криптирането ...
Правилно, трябва сам да се запознаеш в детайли с материята. Има доста добри книги по въпроса, една от които е "Приложна криптография" (Applied Cryptography, Second Edition by Bruce Schneier). Добра книга също е и "Защита на информацията в компютрите и мрежите" на Русин Петров.
Mixy
Може ли аз?
Малко ти е объркано питането, та е добре да внесеш яснота по някои въпроси. Най-фундаменталния е какво точно искаш да защитиш чрез криптиране? Говориш за криптиране на информация и данни, след което говориш за кракери и разбиване на алгоритми. Информация ли искаш да защитаваш или програмен код? Защото криптираната информация се атакува от криптоаналитици, а програмния код - от кракери.
> - къде и как ще го скриеш това алгоритъмче че да не ти го гепне кракера?
Ако ще базираш защитата си на таен алгоритъм, по-добре забрави. Добрия криптоалгоритъм разчита само на ключа за защита на данните, а не на опазване в тайна на начина на работа.
> Не очаквам сега някой да седне да ми изнася цялостна лекция по теория на криптирането ...
Правилно, трябва сам да се запознаеш в детайли с материята. Има доста добри книги по въпроса, една от които е "Приложна криптография" (Applied Cryptography, Second Edition by Bruce Schneier). Добра книга също е и "Защита на информацията в компютрите и мрежите" на Русин Петров.
Mixy
Re: Криптиране
Еми работата на криптоаналитиците и кракерите не е ли свързана.
Конкретния случай е такъв:
Правя си един ключ, които съдържа малко инфо за компютъра и малко инфо за самата програмата. При запускане програмата си чете ключа за да разбере дали е лицензирана и ако да, то кои опции са лицензирани.
Така че:
Искам да защитя информация не по-голяма от няколко байта
Ако има бърз, лесен и надежден начин моля кажете, обаче аз се съмнявам.
Ще ви кажа какво съм направил и какви са ми притесненията, които пораждат този постинт:
направил съм си аз едно алгоритъмче за омазване на този ключ(един вид криптиране), въпреки че не твърдя че е неразбиваем, все пак мисля че, работи задоволително.
1- Разгадаване на криптираня ключ. Това до колкото разбирам, от теб, е работа на криптоаналитика, от който не ме е толкова страх защото, все пак той първо трябва да разбере какво кодирам, че чак после да рабере как го правя. Не е ли така?
2- тук са ми притесненията от кракера, чиято работа доколкото разбирам е да ми разбие кода.
Защото той, влезе ли ми веднъж в кода, което предполагам не е толкова трудно като се има предвид че сигурно кракерите са повече от тези които пишат програмите, той ще може лесно да види, кое от къде го взимам и как го обработвам за да получа накрая криптирания ключ.
3- къде да скрия криптирания ключ? Засега изобщо не го крия, като разчитам на това че, додато не ми влезнат в кода, криптирания ключ няма да им е от никаква полза
И според мене при всички положения нещата опират до защита на код, защото ако не си защитя кода, ще ми разгадаят алгоритъмчето, колкото и да е гениално то, или най-малкото ще ми го сменят!
(тук се сещам за така неречените чек-суми, как се действа с тях, някое линкче поне? )
Ако не съм прав, моля кажете:
Какво би трябвало да представлява единтолкова извратен алгоритъм, че да не могат да го разгадаят дори когато кода им е пред очите
Моля, простете, нито съм краквал нито съм декриптвал квото и да е досега, ако греша в концепциите, имайте милост

Конкретния случай е такъв:
Правя си един ключ, които съдържа малко инфо за компютъра и малко инфо за самата програмата. При запускане програмата си чете ключа за да разбере дали е лицензирана и ако да, то кои опции са лицензирани.
Така че:
Искам да защитя информация не по-голяма от няколко байта
Ако има бърз, лесен и надежден начин моля кажете, обаче аз се съмнявам.
Ще ви кажа какво съм направил и какви са ми притесненията, които пораждат този постинт:
направил съм си аз едно алгоритъмче за омазване на този ключ(един вид криптиране), въпреки че не твърдя че е неразбиваем, все пак мисля че, работи задоволително.
1- Разгадаване на криптираня ключ. Това до колкото разбирам, от теб, е работа на криптоаналитика, от който не ме е толкова страх защото, все пак той първо трябва да разбере какво кодирам, че чак после да рабере как го правя. Не е ли така?
2- тук са ми притесненията от кракера, чиято работа доколкото разбирам е да ми разбие кода.
Защото той, влезе ли ми веднъж в кода, което предполагам не е толкова трудно като се има предвид че сигурно кракерите са повече от тези които пишат програмите, той ще може лесно да види, кое от къде го взимам и как го обработвам за да получа накрая криптирания ключ.
3- къде да скрия криптирания ключ? Засега изобщо не го крия, като разчитам на това че, додато не ми влезнат в кода, криптирания ключ няма да им е от никаква полза
И според мене при всички положения нещата опират до защита на код, защото ако не си защитя кода, ще ми разгадаят алгоритъмчето, колкото и да е гениално то, или най-малкото ще ми го сменят!
(тук се сещам за така неречените чек-суми, как се действа с тях, някое линкче поне? )
Ако не съм прав, моля кажете:
Какво би трябвало да представлява единтолкова извратен алгоритъм, че да не могат да го разгадаят дори когато кода им е пред очите
Моля, простете, нито съм краквал нито съм декриптвал квото и да е досега, ако греша в концепциите, имайте милост
PKI
>Какво би трябвало да представлява единтолкова извратен алгоритъм, че да не могат да го разгадаят дори когато кода им е пред очите
Ами за тази цел са алгоритмите с публичен и частен ключ. От това, което говореше до момента, оставам с впечатлението, че ти използваш симетрични ключове (т.е. криптираш и декриптираш с един и същи ключ). Така ли е? От там ти идва и проблема, че програмчето ти трябва да има ключа, за да декриптира информацията, но ако хакера/кракера/криптоаналитика/баба Гинка или който и да е злонамерен тип го намери, той може да го ползва и да си направи нови данни.
Несиметричните алгоритми избягват този проблем, тъй като те си имат два ключа - публичен и частен. Частния си го знаеш само ти и той не напуска никога офиса ти. При нелицензирана програма клиентът ти се обажда по телефона и ти продиктура некриптираната информация за компютъра си. Ти я криптираш с частния си ключ и му я пращаш обратно. После програмата ти я декриптира с публичния ти ключ и проверява дали е лицензирана и т.н.
Пример за публични ключове е RSA алгоритъма. Потърси си някоя реализация в Google - има доста.
А относно притесненията ти за алгоритъма - да, те могат да го разберат, но за да го разбият са нужни огромно количество изчислителни ресурси, което в общия случай не си струва и няма да стане никак бързо.
Ще ти дам само един много прост пример, който помня от лекциите по криптография. Би ли могъл лесно да пресметнеш колко е 123 на степен 123? Смята се лесно. А сега вземи да сметнеш корен 123-ти от 12345678901234567890 :)
Ами за тази цел са алгоритмите с публичен и частен ключ. От това, което говореше до момента, оставам с впечатлението, че ти използваш симетрични ключове (т.е. криптираш и декриптираш с един и същи ключ). Така ли е? От там ти идва и проблема, че програмчето ти трябва да има ключа, за да декриптира информацията, но ако хакера/кракера/криптоаналитика/баба Гинка или който и да е злонамерен тип го намери, той може да го ползва и да си направи нови данни.
Несиметричните алгоритми избягват този проблем, тъй като те си имат два ключа - публичен и частен. Частния си го знаеш само ти и той не напуска никога офиса ти. При нелицензирана програма клиентът ти се обажда по телефона и ти продиктура некриптираната информация за компютъра си. Ти я криптираш с частния си ключ и му я пращаш обратно. После програмата ти я декриптира с публичния ти ключ и проверява дали е лицензирана и т.н.
Пример за публични ключове е RSA алгоритъма. Потърси си някоя реализация в Google - има доста.
А относно притесненията ти за алгоритъма - да, те могат да го разберат, но за да го разбият са нужни огромно количество изчислителни ресурси, което в общия случай не си струва и няма да стане никак бързо.
Ще ти дам само един много прост пример, който помня от лекциите по криптография. Би ли могъл лесно да пресметнеш колко е 123 на степен 123? Смята се лесно. А сега вземи да сметнеш корен 123-ти от 12345678901234567890 :)
Re: Криптиране
Най лошото в тези случаи на защита е, използването на IF условието...
Т.е.
if Something then
.....
Та какъвто и алгоритъм да използваш, каквото и криптиране да използваш, той кракера като види джъмпа, ще го прескочи и .... та тъй...
не е въпроса какъв е алгоритъма на криптиране, а как е той използван в програмата ти...
Акъл точно няма да ти дам как да го направиш... но насоки - ето няколко от тях
1. Никакви джамове които изкачат и реват - вашето копие не е лицензирано
те кракерите само това чакат, прихващат ги, и ти разказват играта на програмката
2. Ключа никога не го прави малък - 5-10-32-64 байта.
3. Ключа да бъде също криптиран, или самоекспандващ се.
4. Прави проверката за лицензирането не на едно място, а поне на 7-8, и то по различна логика.
5. Никога не се издавай, че си открил че софтуера е нелицензиран. След като си го направил, изчакай поне няколко секунди, най-добре при следващо стартиране, и тогава му кажи, ако ще казваш. През това време, твоята програма ще е извъртяла няколко милиона операции, дори празни да са, така че кракера ще се чуди от къде му е дошло
6. Никога не проверявай още при стартирането - лесно се хваща. Забивай проверяващия код някъде вътре в програмата, например в някоя функция която не се извиква често, и тогава отпушвай или запушвай възможности, и то след време.
7. Сменяй версиите на програмата ти често. Например на няколко месеца. Променяй ги. Това изнервя кракерите. Особенно ако и логиката си сменяш по кодирането.
8. Не обявявай никога промяна на версията. Изработи си вътрешен механизъм за това. Например за мои програми има десетки ключове и кракове. Докато не се усетих. Обявих за последна версия например 2.54, това седи на сайта ми, с дата на производство 2001 година. Хората я свалят, изтеглят краковете за нея - ама ядец. От тогава до сега има поне 20 модификации на програмата.
И т.н. и т.н.
Та идеята ми е че не е толкова важно КАКВО използваш, а много по-важно е КАК го използваш

Т.е.
if Something then
.....
Та какъвто и алгоритъм да използваш, каквото и криптиране да използваш, той кракера като види джъмпа, ще го прескочи и .... та тъй...
не е въпроса какъв е алгоритъма на криптиране, а как е той използван в програмата ти...
Акъл точно няма да ти дам как да го направиш... но насоки - ето няколко от тях
1. Никакви джамове които изкачат и реват - вашето копие не е лицензирано
те кракерите само това чакат, прихващат ги, и ти разказват играта на програмката
2. Ключа никога не го прави малък - 5-10-32-64 байта.
3. Ключа да бъде също криптиран, или самоекспандващ се.
4. Прави проверката за лицензирането не на едно място, а поне на 7-8, и то по различна логика.
5. Никога не се издавай, че си открил че софтуера е нелицензиран. След като си го направил, изчакай поне няколко секунди, най-добре при следващо стартиране, и тогава му кажи, ако ще казваш. През това време, твоята програма ще е извъртяла няколко милиона операции, дори празни да са, така че кракера ще се чуди от къде му е дошло
6. Никога не проверявай още при стартирането - лесно се хваща. Забивай проверяващия код някъде вътре в програмата, например в някоя функция която не се извиква често, и тогава отпушвай или запушвай възможности, и то след време.
7. Сменяй версиите на програмата ти често. Например на няколко месеца. Променяй ги. Това изнервя кракерите. Особенно ако и логиката си сменяш по кодирането.
8. Не обявявай никога промяна на версията. Изработи си вътрешен механизъм за това. Например за мои програми има десетки ключове и кракове. Докато не се усетих. Обявих за последна версия например 2.54, това седи на сайта ми, с дата на производство 2001 година. Хората я свалят, изтеглят краковете за нея - ама ядец. От тогава до сега има поне 20 модификации на програмата.
И т.н. и т.н.
Та идеята ми е че не е толкова важно КАКВО използваш, а много по-важно е КАК го използваш
Re: Криптиране
Е това вече е нещо!
ИвКо, благодаря за това мнение, което ми оправда опасенията, но и ми даде насоки за противодействие.
Точно това ме притесняваше най-много:
Кои са слабите места на кода и как да ги избегна?
Засега имам няколко глупави въпросчета :
- Аз хубаво няма да ползвам if...then, ама какво да ползвам все пак, 'case' ли?
- Удачно ли е да използвам таймер със случаен интервал за реализиране на изчакването преди съобщението?
Ако някой може да сподели още know-how по въпроса, ще се радвам
А сега малко и за криптографията.
Всъщност не знам дали ползвам публичен или частен ключ, аз правя следното:
Генерирам случайно число с функцията Random, некриптираната информация я омешвам така, че да не прилича на нищо и изпълнявам разни матеметически операции м/у нейни части и части на случайното число(на което му викам криптиране), след което разпарчетосвам случайното число и го набутвам сред другата, вече криптирана информация. Това ми представлява ключа, който програмата ползва за проверка и който ми се дава по телефона.
А активиращият ключ, който им давам за активиране е базиран отново на случайни числа и на този който те ми дават, и той служи единствено за да каже един вид- "да".
След това като искам да разкриптирам, изпълнявам обратната операция.
Сега разбирате ли, защо най-много ме притеснява сигурността на кода? Защото само оттам могат да ме гепнат (или поне така си мисля)
А иначе, според вас, това което правя удачно ли е, намирате ли слаби места
ИвКо, благодаря за това мнение, което ми оправда опасенията, но и ми даде насоки за противодействие.
Точно това ме притесняваше най-много:
Кои са слабите места на кода и как да ги избегна?
Засега имам няколко глупави въпросчета :
- Аз хубаво няма да ползвам if...then, ама какво да ползвам все пак, 'case' ли?
- Удачно ли е да използвам таймер със случаен интервал за реализиране на изчакването преди съобщението?
Ако някой може да сподели още know-how по въпроса, ще се радвам
А сега малко и за криптографията.
Всъщност не знам дали ползвам публичен или частен ключ, аз правя следното:
Генерирам случайно число с функцията Random, некриптираната информация я омешвам така, че да не прилича на нищо и изпълнявам разни матеметически операции м/у нейни части и части на случайното число(на което му викам криптиране), след което разпарчетосвам случайното число и го набутвам сред другата, вече криптирана информация. Това ми представлява ключа, който програмата ползва за проверка и който ми се дава по телефона.
А активиращият ключ, който им давам за активиране е базиран отново на случайни числа и на този който те ми дават, и той служи единствено за да каже един вид- "да".
След това като искам да разкриптирам, изпълнявам обратната операция.
Сега разбирате ли, защо най-много ме притеснява сигурността на кода? Защото само оттам могат да ме гепнат (или поне така си мисля)
А иначе, според вас, това което правя удачно ли е, намирате ли слаби места
Re: Криптиране
Това което имах в предвид за if...then, бе да не използваш никога проверка, независимо каква, дали е if, дали е case за директно проверяване.
Например да не използваш функция която ти връща истина/лъжа Регистрирана_Ли_Е като например
if Регистрирана_Ли_Е then, а самата проверка за това дали е регистриран продукта да е разнесен на различни места, някой от които задължително да са в значещ код. Например може да направиш следното: правиш частична проверка, записваш резултата например от разкодирането на първите 5 символа в променлива. Програмата си работи, стига до функция ЕдиКояСи, там разкодираш други 8 символа, запазваш ги в друга променлива, продъжава си работа. Откриваш същевременно някога си нова нишка, която прави каквото си прави (многонишковите програмки още повече затрудняват дебъгването, особенно ако не нишката не е синхронизирана с основния процес). Събираш, изваждаш там какво си изваждаш, местиш битове наляво и надясно и така... По някое време логиката ти трябва да включва и "събиране на всички твои променливи които имат информация за регистрацията" и да извършиш каквото е необходимо. Таймера се следи много лесно. изключително лесно. И така...
Но всичко зависи за какъв пазар, какви клиенти е насочен продукта ти. Може да бъдеш сигурен, че всичко това което до сега съм изброил, се ПРЕСКАЧА. Все някой умник ще го хакне... Може да го затрудни, но ще го направи ако му се занимава... Ако продукта е сериозен, и е насочен към корпоративни, сериозни клиенти, тях това не ги плаши - те не плащат за регистрация на продукта ти, а за неговата ПОСЛЕДВАЩА потдръжка... Хората искат нещо дето е наречено Support. Ако нещо не е наред, ако нещо не знаят, да ти звъннат, ти да отидеш до тях и проблема да се реши... Хората искат да знаят, че това което използват не е някаква еднодневка, а продукт в който могат да вложат и те ресурси - обучение на хора, обвързване... Та така относно КРИПТИРАНЕТО
Например да не използваш функция която ти връща истина/лъжа Регистрирана_Ли_Е като например
if Регистрирана_Ли_Е then, а самата проверка за това дали е регистриран продукта да е разнесен на различни места, някой от които задължително да са в значещ код. Например може да направиш следното: правиш частична проверка, записваш резултата например от разкодирането на първите 5 символа в променлива. Програмата си работи, стига до функция ЕдиКояСи, там разкодираш други 8 символа, запазваш ги в друга променлива, продъжава си работа. Откриваш същевременно някога си нова нишка, която прави каквото си прави (многонишковите програмки още повече затрудняват дебъгването, особенно ако не нишката не е синхронизирана с основния процес). Събираш, изваждаш там какво си изваждаш, местиш битове наляво и надясно и така... По някое време логиката ти трябва да включва и "събиране на всички твои променливи които имат информация за регистрацията" и да извършиш каквото е необходимо. Таймера се следи много лесно. изключително лесно. И така...
Но всичко зависи за какъв пазар, какви клиенти е насочен продукта ти. Може да бъдеш сигурен, че всичко това което до сега съм изброил, се ПРЕСКАЧА. Все някой умник ще го хакне... Може да го затрудни, но ще го направи ако му се занимава... Ако продукта е сериозен, и е насочен към корпоративни, сериозни клиенти, тях това не ги плаши - те не плащат за регистрация на продукта ти, а за неговата ПОСЛЕДВАЩА потдръжка... Хората искат нещо дето е наречено Support. Ако нещо не е наред, ако нещо не знаят, да ти звъннат, ти да отидеш до тях и проблема да се реши... Хората искат да знаят, че това което използват не е някаква еднодневка, а продукт в който могат да вложат и те ресурси - обучение на хора, обвързване... Та така относно КРИПТИРАНЕТО
Re: Криптиране
А и да не се мъчиш..
потърси в Google следния стринг "Delphi Encryption Compendium" Това е набор от компоненти за криптиране и декриптиране, сега не мога да си спомня точния линк до оригиналния сайт, свободен е, не се плаща, сорсовете ги има, използвам ги повече от 4-5 години. Бяха за Делфи 3, но си работят без проблем и с Делфи 7 (то алгоритмите май не са се изменили кой знае колко от тогава
).
Това което включва е:
40 Ciphers (IDEA, Blowfish, Twofish, DES, Square ...)
23 Hashs (MD4/5, SHA/1, RipeMD, Havel, Tiger ...)
5 Checksums (CRC32, CRC16-CCITT, CRC16-Standard ...)
6 Textformats (MIME Base 64, XX/UU Coding, RFC1760 Six Word ...)
2 Randoms (LFSR Linear Feedback Shift Register with variable Period upto 2^2032-1 ...)
with Ciphers can be encrypt in Modes CTS/ CBC/ CFB/ OFB/ ECB
Ciphers supports Message Authentication Codes in CBC-MAC/ CFB-MAC/ CTS-MAC
fast Implementation (i.e. Blowfish > 8Mb/sec, MD4 > 27Mb/sec) Internet RFC2289/RFC1760/RFC2444 One Time Password Routines as Component
Върши работа...
Този линк открих, не е оригинален, но като за начало става
[линк]
потърси в Google следния стринг "Delphi Encryption Compendium" Това е набор от компоненти за криптиране и декриптиране, сега не мога да си спомня точния линк до оригиналния сайт, свободен е, не се плаща, сорсовете ги има, използвам ги повече от 4-5 години. Бяха за Делфи 3, но си работят без проблем и с Делфи 7 (то алгоритмите май не са се изменили кой знае колко от тогава
Това което включва е:
40 Ciphers (IDEA, Blowfish, Twofish, DES, Square ...)
23 Hashs (MD4/5, SHA/1, RipeMD, Havel, Tiger ...)
5 Checksums (CRC32, CRC16-CCITT, CRC16-Standard ...)
6 Textformats (MIME Base 64, XX/UU Coding, RFC1760 Six Word ...)
2 Randoms (LFSR Linear Feedback Shift Register with variable Period upto 2^2032-1 ...)
with Ciphers can be encrypt in Modes CTS/ CBC/ CFB/ OFB/ ECB
Ciphers supports Message Authentication Codes in CBC-MAC/ CFB-MAC/ CTS-MAC
fast Implementation (i.e. Blowfish > 8Mb/sec, MD4 > 27Mb/sec) Internet RFC2289/RFC1760/RFC2444 One Time Password Routines as Component
Върши работа...
Този линк открих, не е оригинален, но като за начало става
[линк]
Re: Криптиране
Да споделя нещо важно което научих от едно кракерче:
Имало за Делфи, някакъв дизасемблер(маи така се викаше), който ти разкомпилирвал exe-то и ти вадил кода все едно гледаш сорса.
Та всякакви гениални защити били безсмислени при това положение.
Противодействието било да пакетираш exe-то, при това 2 пъти, като първия път след като го пакетираш, трябвало да влезеш с някой hex-едитор и да изтриеш нещо в header-a
Абе това за пакетирането го говоря наизуст, защото още не съм се захванал да проуча вапроса по-конкретно.
Ако някой може да добави нещо по вапроса, ще се радвам
Имало за Делфи, някакъв дизасемблер(маи така се викаше), който ти разкомпилирвал exe-то и ти вадил кода все едно гледаш сорса.
Та всякакви гениални защити били безсмислени при това положение.
Противодействието било да пакетираш exe-то, при това 2 пъти, като първия път след като го пакетираш, трябвало да влезеш с някой hex-едитор и да изтриеш нещо в header-a
Абе това за пакетирането го говоря наизуст, защото още не съм се захванал да проуча вапроса по-конкретно.
Ако някой може да добави нещо по вапроса, ще се радвам
Re: Криптиране
Има разни такива играчки, но те ти дават кода в асемблер (в най-добрия случай).... пак ще се повторя май... Всяко нещо което е правено от човек, може да бъде разгадано от друг човек... ако ще и 1000 пъти да пакетираш и разпакетираш...
Един малко неделикатен въпрос? Ти случайно да не си замислил някаква нова революционна програмка? или ще създаваш компоненти за защита? щото ако не е така насочи усилията си към основната функционалност на приложението, към основния код, а нещата за защитата са лесни. В края на краищата, ако програмата ти е изключително гениална, което не го подлагам на съмнение, и ще има огромен интерес от страна на кракери/хакери и др. такива, мисля че си заслужава да си платиш за някакво наистина професионално решение - то такива много... Иначе се получава това което един мой учител казваше - с трици маймуни не се ловят..
Re: Криптиране
Не, бе, човек!
Нито програмата е гениална, нито е за адски огромна аудитория.
Програмата е написана одавна и си работи добре, така че няма нужда да се концентрирам над разните и опции.
Просто задачката ми е такава, и тъй като аз съм перфекционист искам да я направя по най-добрия начин.
Като имам време, що да не си блъскам главата.
А и вапроса не е в това дали ще продадем 10 000 или 5 000 бройки.
Тази програма се прави за много тясна аудитория, ако я кракнат лесно няма да има кой да я купува и целия труд ще остане на вятъра.
Трябва им само веднъж да я кракнат и ще ни го [тййт], предполагам че ще се пробват само ваднъж, без много да се стараят, и смятам да не им помагаме.
И аз съм фен на openSource, обаче понякога трябва и заплата да се взима
Нито програмата е гениална, нито е за адски огромна аудитория.
Програмата е написана одавна и си работи добре, така че няма нужда да се концентрирам над разните и опции.
Просто задачката ми е такава, и тъй като аз съм перфекционист искам да я направя по най-добрия начин.
Като имам време, що да не си блъскам главата.
А и вапроса не е в това дали ще продадем 10 000 или 5 000 бройки.
Тази програма се прави за много тясна аудитория, ако я кракнат лесно няма да има кой да я купува и целия труд ще остане на вятъра.
Трябва им само веднъж да я кракнат и ще ни го [тййт], предполагам че ще се пробват само ваднъж, без много да се стараят, и смятам да не им помагаме.
И аз съм фен на openSource, обаче понякога трябва и заплата да се взима
Re: Криптиране
Може би най-добрата защита е част от кода ти да бъде изнесен - т.е. програмата ти да се обръща към някакъв сървър, върху който ти само можеш да имаш достъп, и част от кода ти да се изпълнява там... но едва ли е възможно.... 
Re: Криптиране
Хората вече го казаха- ако програмата вече работи, и потребителите са доволни, за какво да ти я кракват? Нали утре ще искат някоя промяна, и пак ще дойдат при тебе. Или , да предположим, ще я дадат на някой да я кракне. Ми той ще трябва да краква всяка следваща версия, ще му омръзне. Ще иска да му плащат. Ми то си е по- лесно да плащат на тебе, да си я поддържаш; това са си нормални бизнес- отношения.
Навсякъде, където съм ходил, хората не могат да копират файлове както трябва, да не говорим за кракване. Спи си спокойно :)
Пък ако много ти се е приискало- купи нещо направено от специалисти в областта, това е по- сигурно и по- лесно.
Навсякъде, където съм ходил, хората не могат да копират файлове както трябва, да не говорим за кракване. Спи си спокойно :)
Пък ако много ти се е приискало- купи нещо направено от специалисти в областта, това е по- сигурно и по- лесно.
Re: Криптиране
Moga da ti pratia mnogo polezna informacia za kriptiraneto. Pishimi na wacker_1987@abv.bg