Каквато и да е причината ви да искате да създадете програма за криптиране, създаването й може да бъде забавно и много предизвикателно. Въпреки това може да е трудно да разберете как го правите, ако ви е за първи път. Тази статия обхваща общата идея и основните стъпки, които трябва да предприемете, за да създадете функционална и реалистична програма за криптиране.
Стъпки
Част 1 от 2: Създаване на метод за шифроване

Стъпка 1. Проектирайте алгоритъма
Общият алгоритъм е гръбнакът на всички методи за криптиране. RSA използва математически свойства на големи прости числа за бързо и безопасно криптиране на лични данни. Биткойн използва версия на RSA, за да защити безопасно плащанията и да гарантира, че изпращачът действително иска да изпраща биткойни на друг потребител. Трябва да направите проучване на различни видове алгоритми за криптиране, като криптиране на частен и публичен ключ. Трябва да се отбележи, че нито едно криптиране, ако планирате да извлечете данните, не е нечупливо. Шифроването може само да обезкуражи случайното подслушване и да забави сериозните атаки. Препоръчва се да научите какво е двоично, това ще направи създаването на вашия алгоритъм много по -лесно и по -подходящо за криптиране на данни.

Стъпка 2. Тествайте алгоритъма си
След като смятате, че имате добър алгоритъм, трябва да опитате да шифровате много кратко съобщение на ръка. Това трябва да отнеме повече от няколко минути за добри алгоритми за криптиране. Добро правило е, че ако можете да шифровате съобщението в главата си, то това не е безопасно за сериозно криптиране. Ако окончателното съобщение изглежда по някакъв начин подобно на оригиналното съобщение, това може да не е безопасно.

Стъпка 3. Помислете за декриптиране
Трябва да има начин упълномощените страни да получат достъп до данни, шифровани по вашия алгоритъм. Трябва да сте сигурни, че можете лесно да декодирате данните, ако знаете ключа, и да затруднявате нападателите случайно да се натъкнат на ключа чрез опит и грешка.
- Ако изобщо не искате данните да бъдат извлечени, помислете вместо това да създадете алгоритъм за хеширане. Алгоритъмът за хеширане приема вход и създава еднопосочна стойност въз основа на този вход. Възможно е да се премине от източник на вход към хеширана стойност, но в идеалния случай е невъзможно да се върнете към входния източник от хешираната стойност. Това е особено жизнеспособно за защита с парола. Когато създавате акаунт на уебсайт с парола, етичен уебсайтовете ще хешират вашата парола, преди да я съхраняват. Това има много предимства, като например забавяне на нападателите да пробият паролата ви. Ако обаче забравите паролата, ще бъдете принудени да създадете нова.

Стъпка 4. Проектирайте псевдокода
Това би трябвало да бъде сравнително лесно, след като създадете и тествате алгоритъма си, за да докажете, че работи. Псевдокодът трябва да се чете като прост и поучителен английски, като е достатъчно четим за нормален човек да го разбира и достатъчно поучителен, за да може програмистът лесно да внедри алгоритъма в език като C, Java и т.н.
Част 2 от 2: Публикуване на алгоритъма

Стъпка 1. Споделете алгоритъма си с други ентусиасти за криптиране на данни
Това ще ви позволи да откриете възможни капани във вашето криптиране и да получите обратна връзка за сигурността и жизнеспособността на алгоритъма. Ако вашият алгоритъм е толкова сложен, че никой не може да го разбере, тогава никой няма да го използва. Но същото важи и ако алгоритъмът е толкова лесен, че всеки може да декодира съобщение с минимални усилия.

Стъпка 2. Публикувайте предизвикателство във форум
Има форуми, посветени на решаването и декодирането на данни, опитайте да публикувате кратко съобщение, което сте шифровали, заедно с подсказки за използвания алгоритъм. Ако се чувствате уверени, можете дори да им дадете своя алгоритъм и да видите колко време отнема на другите да го пробият чрез груба сила.
Съвети
- Започнете с научаване как работят други популярни алгоритми за криптиране. RSA е уникален и широко използван в реалния свят за криптиране на данни.
- Създаването на добър алгоритъм за криптиране никога не е лесно, особено ако ви е за първи път. Започнете с идея и я надградете. Ако забележите недостатък, може да е по -лесно да започнете отначало, вместо да се опитвате да го поправите.
Предупреждения
- Алгоритъмът за криптиране трябва да работи на битово ниво на информация. Избягвайте просто да създавате шифър, който работи само с промяна на буквите в съобщението до нещо малко по -различно. Те винаги са несигурни.
- Освен ако нямате диплома по теория на информацията или сигурност, вероятно не трябва да използвате криптирането си, за да защитите вашите пароли или друга лична информация.
- Никое криптиране не е перфектно. Ако планирате да извлечете данните, които шифровате, само това създава дупка във вашето криптиране. Дори когато не искате да извличате данните, те все още могат, поне теоретично, да бъдат пропукани и открити.