Kad ir kokia būtų jūsų priežastis sukurti šifravimo programą, jos sukūrimas gali būti įdomus ir labai sudėtingas. Tačiau gali būti sunku suprasti, kaip tai padaryti, jei tai yra pirmas kartas. Šiame straipsnyje aptariama bendra idėja ir pagrindiniai veiksmai, kurių reikia imtis norint sukurti funkcionalią ir tikrovišką šifravimo programą.
Žingsniai
1 dalis iš 2: Šifravimo metodo kūrimas
Žingsnis 1. Sukurkite algoritmą
Bendras algoritmas yra visų šifravimo metodų pagrindas. RSA naudoja didelių pirminių skaičių matematines savybes, kad greitai ir saugiai užšifruotų privačius duomenis. „Bitcoin“naudoja RSA versiją, kad galėtų saugiai apsaugoti mokėjimus ir užtikrinti, kad siuntėjas iš tikrųjų nori siųsti bitkoinus kitam vartotojui. Turėtumėte ištirti įvairių tipų šifravimo algoritmus, pvz., Privataus ir viešojo rakto šifravimą. Reikėtų pažymėti, kad joks šifravimas, jei planuojate atkurti duomenis, yra nepalaužiamas. Šifravimas gali tik atgrasyti nuo atsitiktinio šnipinėjimo ir atidėti rimtas atakas. Rekomenduojama sužinoti, kas yra dvejetainė, tai palengvins jūsų algoritmo kūrimą ir bus labiau susijęs su duomenų šifravimu.
Žingsnis 2. Išbandykite savo algoritmą
Kai manote, kad turite gerą algoritmą, turėtumėte pabandyti užšifruoti labai trumpą pranešimą ranka. Tai turėtų užtrukti ilgiau nei kelias minutes, kol bus gauti geri šifravimo algoritmai. Gera taisyklė yra ta, kad jei galite užšifruoti pranešimą savo galvoje, tai nėra saugu rimtai šifruoti. Jei galutinis pranešimas bet kokiu atveju atrodo panašus į pradinį pranešimą, jis gali būti nesaugus.
Žingsnis 3. Apsvarstykite iššifravimą
Įgaliotosios šalys turi turėti būdą pasiekti duomenis, užšifruotus jūsų algoritmu. Turėtumėte įsitikinti, kad žinote raktą, kad galėtumėte lengvai iššifruoti duomenis, ir užpuolikams sunku atsitiktinai užklysti į raktą per bandymus ir klaidas.
Jei nenorite, kad duomenys būtų atkurti, apsvarstykite galimybę sukurti maišos algoritmą. Maišos algoritmas įveda įvestį ir pagal šią įvestį sukuria vienpusę vertę. Galima pereiti nuo šaltinio įvesties prie maišos vertės, tačiau idealiai neįmanoma grįžti prie šaltinio įvesties iš maišos vertės. Tai ypač naudinga apsaugai slaptažodžiu. Kai kuriate paskyrą svetainėje naudodami slaptažodį, etiškas svetainės išsaugos jūsų slaptažodį prieš jį išsaugodami. Tai turi daug privalumų, pavyzdžiui, uždelsia užpuolikams nulaužti jūsų slaptažodį. Tačiau jei pamiršite slaptažodį, būsite priversti sukurti naują.
Žingsnis 4. Nubrėžkite pseudokodą
Tai turėtų būti gana paprasta, kai sukuriate ir išbandote savo algoritmą, kad įrodytumėte, jog jis veikia. Pseudokodas turėtų būti skaitomas kaip paprasta ir pamokanti anglų kalba, pakankamai skaitomas, kad paprastas žmogus suprastų, ir pakankamai pamokantis, kad programuotojas galėtų lengvai įdiegti algoritmą į tokią kalbą kaip C, Java ir kt.
2 dalis iš 2: paskelbkite algoritmą
1 žingsnis. Pasidalykite savo algoritmu su kitais duomenų šifravimo entuziastais
Tai leis atrasti galimus šifravimo spąstus ir gauti atsiliepimų apie algoritmo saugumą ir gyvybingumą. Jei jūsų algoritmas yra toks sudėtingas, kad niekas jo nesupranta, niekas jo nenaudos. Bet tas pats pasakytina ir apie tai, jei algoritmas yra toks lengvas, kad kiekvienas gali iššifruoti pranešimą su minimaliomis pastangomis.
Žingsnis 2. Paskelbkite iššūkį forume
Yra forumų, skirtų duomenims spręsti ir iššifruoti, pabandykite paskelbti trumpą pranešimą, kurį užšifravote, kartu su užuominomis apie naudojamą algoritmą. Jei jaučiatės įsitikinę, netgi galite pateikti jiems savo algoritmą ir pamatyti, kiek laiko užtrunka, kol kiti jį sulaužo per žiaurią jėgą.
Patarimai
- Pradėkite mokytis, kaip veikia kiti populiarūs šifravimo algoritmai. RSA yra unikalus ir plačiai naudojamas realiame pasaulyje duomenų šifravimui.
- Sukurti gerą šifravimo algoritmą niekada nėra lengva, ypač jei tai pirmas kartas. Pradėkite nuo idėjos ir remkitės ja. Jei pastebėjote trūkumą, gali būti lengviau pradėti viską iš naujo, o ne bandyti ištaisyti trūkumą.
Įspėjimai
- Šifravimo algoritmas turėtų veikti bitų informacijos lygiu. Venkite tiesiog kurti šifrą, kuris veikia tik keičiant pranešimo raides į kažką šiek tiek kitokio. Šie visada yra nesaugūs.
- Jei neturite informacijos teorijos ar saugumo laipsnio, tikriausiai neturėtumėte naudoti šifravimo savo slaptažodžiams ar kitai privačiai informacijai apsaugoti.
- Joks šifravimas nėra tobulas. Jei planuojate atkurti užšifruotus duomenis, tai vien tik sukuria šifravimo skylę. Net jei nenorite gauti duomenų, jie, bent jau teoriškai, gali būti nulaužti ir atrasti.