Hvordan lage en krypteringsalgoritme: 6 trinn (med bilder)

Innholdsfortegnelse:

Hvordan lage en krypteringsalgoritme: 6 trinn (med bilder)
Hvordan lage en krypteringsalgoritme: 6 trinn (med bilder)

Video: Hvordan lage en krypteringsalgoritme: 6 trinn (med bilder)

Video: Hvordan lage en krypteringsalgoritme: 6 trinn (med bilder)
Video: Virtualization Explained 2024, Mars
Anonim

Uansett årsak til at du vil lage et krypteringsprogram, kan det være morsomt og utfordrende å lage et. Imidlertid kan det være vanskelig å finne ut hvordan du gjør det hvis det er første gang. Denne artikkelen dekker den generelle ideen og de grunnleggende trinnene du må ta for å lage et funksjonelt og realistisk krypteringsprogram.

Trinn

Del 1 av 2: Opprette krypteringsmetoden

Lag en krypteringsalgoritme Trinn 1
Lag en krypteringsalgoritme Trinn 1

Trinn 1. Design algoritmen

En generell algoritme er ryggraden i alle krypteringsmetoder. RSA bruker matematiske egenskaper for store primtall for raskt og trygt å kryptere private data. Bitcoin bruker en versjon av RSA for å trygt sikre betalinger og sikre at avsenderen faktisk ønsker å sende bitcoins til en annen bruker. Du bør forske på forskjellige typer krypteringsalgoritmer, som privat og offentlig nøkkelkryptering. Det skal bemerkes at ingen kryptering, hvis du planlegger å hente dataene, er uknuselig. Kryptering kan bare motvirke tilfeldig snoking og forsinke alvorlige angrep. Det anbefales at du lærer hva binært er, det vil gjøre å lage algoritmen mye enklere og mer relevant for datakryptering.

Lag en krypteringsalgoritme Trinn 2
Lag en krypteringsalgoritme Trinn 2

Trinn 2. Test algoritmen din

Når du tror du har en god algoritme, bør du prøve å kryptere en veldig kort melding for hånd. Dette bør ta mer enn noen få minutter for gode krypteringsalgoritmer. En god tommelfingerregel er at hvis du kan kryptere meldingen i hodet ditt, er det ikke trygt for alvorlig kryptering. Hvis den endelige meldingen på noen måte ligner den opprinnelige meldingen, er det kanskje ikke trygt.

Lag en krypteringsalgoritme Trinn 3
Lag en krypteringsalgoritme Trinn 3

Trinn 3. Vurder dekryptering

Det må være en måte for autoriserte parter å få tilgang til data som er kryptert av algoritmen din. Du bør sørge for at du enkelt kan dekode dataene hvis du kjenner nøkkelen, og gjøre det vanskelig for angripere å tilfeldigvis snuble over nøkkelen gjennom prøving og feiling.

Hvis du ikke vil at dataene skal hentes i det hele tatt, bør du vurdere å opprette en hashing -algoritme i stedet. En hashing-algoritme tar en inngang og oppretter en enveisverdi basert på denne inngangen. Det er mulig å gå fra kildeinngang til en hash -verdi, men det er ideelt umulig å gå tilbake til kildeinngangen fra hash -verdien. Dette er spesielt levedyktig for passordbeskyttelse. Når du oppretter en konto på et nettsted med et passord, etisk nettsteder vil hash -passordet ditt før du lagrer det. Dette har mange fordeler, som å forsinke angripere fra å sprekke passordet ditt. Men hvis du glemmer passordet, blir du tvunget til å opprette et nytt.

Lag en krypteringsalgoritme Trinn 4
Lag en krypteringsalgoritme Trinn 4

Trinn 4. Utkast til pseudokoden

Dette bør være relativt enkelt når du har opprettet og testet algoritmen for å bevise at den fungerer. Pseudokoden skal lese som enkel og lærerik engelsk, være lesbar nok til at en normal person kan forstå, og lærerik nok til at en programmerer enkelt kan implementere algoritmen til et språk som C, Java, etc.

Del 2 av 2: Publiser algoritmen

Lag en krypteringsalgoritme Trinn 5
Lag en krypteringsalgoritme Trinn 5

Trinn 1. Del algoritmen med andre datakrypteringsentusiaster

Dette lar deg oppdage mulige falldører i krypteringen din, og få tilbakemelding om algoritmens sikkerhet og levedyktighet. Hvis algoritmen din er så kompleks at ingen kan forstå den, vil ingen bruke den. Men det samme gjelder hvis algoritmen er så enkel at alle kan dekode en melding med minimal innsats.

Lag en krypteringsalgoritme Trinn 6
Lag en krypteringsalgoritme Trinn 6

Trinn 2. Legg ut en utfordring på et forum

Det er fora dedikert til å løse og dekode data. Prøv å publisere en kort melding du krypterte sammen med tips om algoritmen som ble brukt. Hvis du føler deg trygg, kan du til og med gi dem algoritmen din og se hvor lang tid det tar for andre å knekke den gjennom brutal kraft.

Tips

  • Start med å lære hvordan andre populære krypteringsalgoritmer fungerer. RSA er unikt og mye brukt i den virkelige verden for datakryptering.
  • Det er aldri lett å lage en god krypteringsalgoritme, spesielt hvis det er første gang. Start med en idé, og bygg videre på den. Hvis du merker en feil, kan det være lettere å starte helt på nytt i stedet for å prøve å fikse feilen.

Advarsler

  • En krypteringsalgoritme bør fungere på bitnivået av informasjon. Unngå å lage en chiffer som bare fungerer med å endre bokstaver i en melding til noe litt annerledes. Disse er alltid usikre.
  • Med mindre du har en grad i informasjonsteori eller sikkerhet, bør du sannsynligvis ikke bruke krypteringen din for å sikre passord eller annen privat informasjon.
  • Ingen kryptering er perfekt. Hvis du planlegger å hente dataene du krypterer, skaper dette alene et hull i krypteringen. Selv når du ikke vil hente dataene, kan det fortsatt være, i det minste teoretisk, sprukket og oppdaget.

Anbefalt: