Ինչ էլ որ լինի ձեր պատճառը գաղտնագրման ծրագիր ստեղծելու ցանկության համար, այն ստեղծելը կարող է լինել զվարճալի և շատ դժվար: Այնուամենայնիվ, դժվար կլինի պարզել, թե ինչպես եք դա անում, եթե դա առաջին անգամն է: Այս հոդվածը ներառում է ընդհանուր գաղափարը և հիմնական քայլերը, որոնք դուք պետք է ձեռնարկեք ՝ ֆունկցիոնալ և իրատեսական ծածկագրման ծրագիր ստեղծելու համար:
Քայլեր
2 -րդ մաս 1 -ից ՝ Գաղտնագրման մեթոդի ստեղծում
Քայլ 1. Նախագծեք ալգորիթմը:
Ընդհանուր ալգորիթմը կոդավորման բոլոր մեթոդների հիմքն է: RSA- ն օգտագործում է մեծ պարզ թվերի մաթեմատիկական հատկությունները `մասնավոր տվյալների արագ և ապահով գաղտնագրման համար: Bitcoin- ն օգտագործում է RSA- ի տարբերակը `ապահովելու վճարումները և ապահովելու համար, որ ուղարկողը իրականում ցանկանում է բիթքոիններ ուղարկել մեկ այլ օգտվողի: Դուք պետք է ուսումնասիրեք գաղտնագրման ալգորիթմների տարբեր տեսակներ, օրինակ ՝ մասնավոր և հանրային բանալիների կոդավորումը: Պետք է նշել, որ ոչ մի գաղտնագրում, եթե մտադիր եք տվյալների վերականգնումը, անկոտրում չէ: Գաղտնագրումը կարող է միայն հուսահատեցնել պատահական հետախուզությունը և հետաձգել լուրջ հարձակումները: Խորհուրդ է տրվում սովորել, թե ինչ է երկուականությունը, այն կդարձնի ձեր ալգորիթմի ստեղծումը շատ ավելի հեշտ և ավելի համապատասխան տվյալների գաղտնագրման համար:
Քայլ 2. Փորձարկեք ձեր ալգորիթմը:
Երբ մտածեք, որ լավ ալգորիթմ ունեք, պետք է փորձեք ձեռքով կոդավորել շատ կարճ հաղորդագրություն: Լավ կոդավորման ալգորիթմների համար դա պետք է տևի ավելի քան մի քանի րոպե: Լավ կանոնն այն է, որ եթե դուք կարող եք ծածկագրել հաղորդագրությունը ձեր գլխում, ապա այն անվտանգ չէ լուրջ կոդավորման համար: Եթե վերջնական հաղորդագրությունը որևէ կերպ նման է սկզբնական հաղորդագրությանը, ապա այն կարող է անվտանգ չլինել:
Քայլ 3. Մտածեք վերծանման մասին:
Պետք է լինի հնարավորություն, որպեսզի լիազորված կողմերը մուտք գործեն ձեր ալգորիթմով կոդավորված տվյալներ: Դուք պետք է համոզվեք, որ կարող եք հեշտությամբ վերծանել տվյալները, եթե դուք գիտեք բանալին, և դժվարացնել հարձակվողներին պատահաբար բախվել բանալին փորձության և սխալի միջոցով:
Եթե ընդհանրապես չեք ցանկանում, որ տվյալները վերականգնման ենթակա լինեն, փոխարենը մտածեք hashing ալգորիթմի ստեղծման մասին: Հեշինգի ալգորիթմը վերցնում է մուտքագրում և ստեղծում միակողմանի արժեք ՝ հիմնված այս մուտքի վրա: Հնարավոր է սկզբնաղբյուրի մուտքագրումից անցնել խաշած արժեքի, սակայն իդեալականորեն անհնար է վերադառնալ սկզբնաղբյուրին մուտքագրված արժեքից: Սա հատկապես կենսունակ է գաղտնաբառի պաշտպանության համար: Երբ գաղտնաբառով հաշիվ եք ստեղծում կայքում, էթիկական կայքերը կպահեն ձեր գաղտնաբառը պահելուց առաջ: Սա շատ առավելություններ ունի, օրինակ ՝ հարձակվողների ուշացումը ձեր գաղտնաբառը կոտրելուց: Այնուամենայնիվ, եթե մոռանաք գաղտնաբառը, ստիպված կլինեք ստեղծել նորը:
Քայլ 4. Նախագծեք կեղծ ծածկագիրը:
Սա պետք է համեմատաբար հեշտ լինի, երբ ստեղծեք և փորձարկեք ձեր ալգորիթմը `ապացուցելու, որ այն աշխատում է: Կեղծ ծածկագիրը պետք է կարդա պարզ և ուսանելի անգլերենի պես ՝ բավականաչափ ընթեռնելի նորմալ մարդու համար, և բավական ուսանելի ՝ ծրագրավորողի համար, որպեսզի նա հեշտությամբ ներդնի ալգորիթմը այնպիսի լեզուների վրա, ինչպիսիք են C, Java և այլն:
2 -րդ մաս 2 -ից. Հրապարակեք ալգորիթմը
Քայլ 1. Կիսեք ձեր ալգորիթմը տվյալների գաղտնագրման այլ սիրահարների հետ:
Սա թույլ կտա բացահայտել ձեր գաղտնագրման հնարավոր ծուղակները և ստանալ հետադարձ կապ ալգորիթմի անվտանգության և կենսունակության վերաբերյալ: Եթե ձեր ալգորիթմն այնքան բարդ է, որ ոչ ոք չի կարող հասկանալ այն, ապա ոչ ոք չի օգտագործի այն: Բայց նույնը վերաբերում է, եթե ալգորիթմն այնքան հեշտ է, որ որևէ մեկը կարող է նվազագույն ջանքերով վերծանել հաղորդագրությունը:
Քայլ 2. Տեղադրեք մարտահրավեր ֆորումում:
Կան ֆորումներ, որոնք նվիրված են տվյալների լուծմանը և վերծանմանը, փորձեք հրապարակել ձեր կոդավորված կարճ հաղորդագրությունը և օգտագործված ալգորիթմի մասին հուշումները: Եթե ձեզ վստահ եք զգում, կարող եք նույնիսկ նրանց տալ ձեր ալգորիթմը և տեսնել, թե որքան ժամանակ է պահանջվում, որպեսզի մյուսները կոտրեն այն դաժան ուժի միջոցով:
Խորհուրդներ
- Սկսեք սովորել, թե ինչպես են աշխատում գաղտնագրման այլ հանրաճանաչ ալգորիթմներ: RSA- ն եզակի է և լայնորեն օգտագործվում է իրական աշխարհում տվյալների կոդավորման համար:
- Գաղտնագրման լավ ալգորիթմ ստեղծելը երբեք հեշտ չէ, հատկապես, եթե դա առաջին անգամն է: Սկսեք գաղափարից և կառուցեք դրա հիման վրա: Եթե նկատում եք թերություն, թերևս ավելի հեշտ կլինի ամբողջովին սկսել ՝ թերությունը կարկատելու փոխարեն:
Գուշացումներ
- Գաղտնագրման ալգորիթմը պետք է աշխատի տեղեկատվության փոքր մակարդակի վրա: Խուսափեք պարզապես ծածկագիր ստեղծելուց, որն աշխատում է միայն հաղորդագրության մեջ տառերը փոխելով մի փոքր այլ բանի վրա: Սրանք միշտ անվստահ են:
- Եթե դուք չունեք տեղեկատվության տեսության կամ անվտանգության որակավորում, հավանաբար չպետք է օգտագործեք ձեր ծածկագրումը `ձեր գաղտնաբառերը կամ այլ մասնավոր տեղեկություններ ապահովելու համար:
- Ոչ մի գաղտնագրում կատարյալ չէ: Եթե պլանավորում եք առբերել ձեր ծածկագրած տվյալները, սա միայն ձեր գաղտնագրման անցք է ստեղծում: Նույնիսկ այն ժամանակ, երբ դուք չեք ցանկանում վերականգնել տվյալները, դրանք դեռ կարող են գոնե տեսականորեն ճեղքվել և հայտնաբերվել: