Paano Lumikha ng isang Encryption Algorithm: 6 Hakbang (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Lumikha ng isang Encryption Algorithm: 6 Hakbang (na may Mga Larawan)
Paano Lumikha ng isang Encryption Algorithm: 6 Hakbang (na may Mga Larawan)

Video: Paano Lumikha ng isang Encryption Algorithm: 6 Hakbang (na may Mga Larawan)

Video: Paano Lumikha ng isang Encryption Algorithm: 6 Hakbang (na may Mga Larawan)
Video: Create your own LAB with EVE-NG step by step 2024, Marso
Anonim

Anuman ang iyong dahilan ay para sa pagnanais na lumikha ng isang programa ng pag-encrypt, ang paglikha ng isa ay maaaring maging masaya at napaka-hamon. Gayunpaman, maaaring maging matigas upang malaman kung paano mo ito gagawin kung ito ang iyong unang pagkakataon. Saklaw ng artikulong ito ang pangkalahatang ideya at ang mga pangunahing hakbang na kakailanganin mong gawin upang lumikha ng isang functional at makatotohanang programa ng pag-encrypt.

Mga hakbang

Bahagi 1 ng 2: Paglikha ng Paraan ng Pag-encrypt

Lumikha ng isang Encryption Algorithm Hakbang 1
Lumikha ng isang Encryption Algorithm Hakbang 1

Hakbang 1. Idisenyo ang algorithm

Ang isang pangkalahatang algorithm ay ang gulugod ng lahat ng mga pamamaraan ng pag-encrypt. Gumagamit ang RSA ng mga matematikal na katangian ng malalaking pangunahing numero upang mabilis at ligtas na naka-encrypt ang pribadong data. Gumagamit ang Bitcoin ng isang bersyon ng RSA upang ligtas na ma-secure ang mga pagbabayad at matiyak na ang nagpadala ay talagang nais na magpadala ng mga bitcoin sa ibang gumagamit. Dapat kang magsaliksik sa iba't ibang mga uri ng mga encrypt algorithm, tulad ng pribado at pampublikong key na pag-encrypt. Dapat pansinin na walang pag-encrypt, kung balak mong kunin ang data, ay hindi masisira. Maaari lamang mapahina ng pag-encrypt ang kaswal na pag-snoop, at maantala ang mga seryosong pag-atake. Inirerekumenda na malaman mo kung ano ang binary, gagawing mas madali ang paglikha ng iyong algorithm at higit na nauugnay sa pag-encrypt ng data.

Lumikha ng isang Encryption Algorithm Hakbang 2
Lumikha ng isang Encryption Algorithm Hakbang 2

Hakbang 2. Subukan ang iyong algorithm

Kapag naisip mo na mayroon kang isang mahusay na algorithm, dapat mong subukang mag-encrypt ng isang napakaikling mensahe sa pamamagitan ng kamay. Dapat itong tumagal nang higit sa ilang minuto para sa mahusay na mga algorithm ng pag-encrypt. Ang isang mahusay na panuntunan sa hinlalaki ay iyon, kung maaari mong i-encrypt ang mensahe sa iyong ulo, kung gayon hindi ito ligtas para sa seryosong pag-encrypt. Kung ang panghuling mensahe ay mukhang magkatulad, sa anumang paraan, sa orihinal na mensahe, maaaring hindi ito ligtas.

Lumikha ng isang Encryption Algorithm Hakbang 3
Lumikha ng isang Encryption Algorithm Hakbang 3

Hakbang 3. Isaalang-alang ang decryption

Kailangang magkaroon ng isang paraan para sa mga awtorisadong partido upang ma-access ang data na naka-encrypt ng iyong algorithm. Dapat mong tiyakin na madali mong mai-decode ang data kung alam mo ang susi, at gawin itong mahirap para sa mga umaatake na aksidenteng madapa ang susi sa pamamagitan ng pagsubok at error.

Kung hindi mo nais na makuha muli ang data, isaalang-alang na sa halip na lumikha ng isang hashing algorithm. Ang isang hashing algorithm ay tumatagal ng isang input at lumilikha ng isang one-way na halaga batay sa input na ito. Posibleng pumunta mula sa mapagkukunan ng input sa isang hashed na halaga, ngunit perpektong imposibleng bumalik sa mapagkukunan na input mula sa hashed na halaga. Partikular na ito ay nabubuhay para sa proteksyon ng password. Kapag lumikha ka ng isang account sa isang website na may isang password, etikal mga website ay hash ang iyong password bago iimbak ito. Maraming pakinabang ito, tulad ng pagpapabagal sa mga umaatake mula sa pag-crack ng iyong password. Gayunpaman, kung nakalimutan mo ang password, mapipilitan kang lumikha ng bago.

Lumikha ng isang Encryption Algorithm Hakbang 4
Lumikha ng isang Encryption Algorithm Hakbang 4

Hakbang 4. I-draft ang pseudocode

Ito ay dapat na medyo madali sa sandaling nalikha at nasubukan ang iyong algorithm upang patunayan na ito ay gumagana. Ang pseudocode ay dapat basahin tulad ng simple at nakapagtuturo na Ingles, sapat na nababasa para maunawaan ng isang normal na tao, at sapat na nagtuturo para sa isang programmer na madaling ipatupad ang algorithm sa isang wika tulad ng C, Java, atbp.

Bahagi 2 ng 2: I-publish ang Algorithm

Lumikha ng isang Encryption Algorithm Hakbang 5
Lumikha ng isang Encryption Algorithm Hakbang 5

Hakbang 1. Ibahagi ang iyong algorithm sa iba pang mga mahilig sa pag-encrypt ng data

Papayagan ka nitong tuklasin ang mga posibleng trapoor sa iyong pag-encrypt, at makakuha ng puna sa seguridad at kakayahang mabuhay ng algorithm. Kung ang iyong algorithm ay napakahirap na walang nakakaintindi nito, walang sinuman ang gagamit nito. Ngunit ang parehong napupunta para sa kung ang algorithm ay napakadali na ang sinuman ay maaaring decode ng isang mensahe na may kaunting pagsisikap.

Lumikha ng isang Encryption Algorithm Hakbang 6
Lumikha ng isang Encryption Algorithm Hakbang 6

Hakbang 2. Mag-post ng isang hamon sa isang forum

Mayroong mga forum na nakatuon sa paglutas at pag-decode ng data, subukang i-publish ang isang maikling mensahe na na-encrypt mo kasama ang mga pahiwatig tungkol sa ginamit na algorithm. Kung nagtitiwala ka, maaari mo ring ibigay sa kanila ang iyong algorithm at makita kung gaano katagal bago ma-crack ito ng iba sa pamamagitan ng malupit na puwersa.

Mga Tip

  • Magsimula sa pag-aaral kung paano gumagana ang iba pang mga tanyag na algorithm ng pag-encrypt. Ang RSA ay natatangi at malawakang ginagamit sa totoong mundo para sa pag-encrypt ng data.
  • Ang paglikha ng isang mahusay na algorithm ng pag-encrypt ay hindi madali, lalo na kung ito ang iyong unang pagkakataon. Magsimula sa isang ideya, at bumuo dito. Kung napansin mo ang isang pagkukulang, maaaring mas madali upang magsimula nang ganap sa halip na subukang i-patch ang pagkakamali.

Mga babala

  • Ang isang algorithm na naka-encrypt ay dapat na gumana sa antas ng kaunting impormasyon. Iwasan ang simpleng paglikha ng isang cipher na gagana lamang sa pagbabago ng mga titik sa isang mensahe sa isang bagay na bahagyang naiiba. Ang mga ito ay palaging walang katiyakan.
  • Maliban kung mayroon kang degree sa teorya ng impormasyon o seguridad, marahil ay hindi mo dapat gamitin ang iyong pag-encrypt upang ma-secure ang iyong mga password o ibang pribadong impormasyon.
  • Walang perpektong pag-encrypt. Kung balak mong kunin ang data na na-encrypt mo, nag-iisa itong lumilikha ng isang butas sa iyong pag-encrypt. Kahit na kung ayaw mong kunin ang data, maaari pa rin itong, kahit papaano sa teoretikal, basag at matuklasan.

Inirerekumendang: