Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 1694
Heisann - jeg har ikke vært her på en stund, men nå tar jeg turen innom, for jeg vet at mange her er glad i Python, at mange er enda gladere i små konkurranser, og jeg vil derfor invitere til en vennskapelig og uhøytidelig kodekamp.

Detaljene finner dere på bloggen: http://blog.kjempekjekt.com/2015/08/...mp-kryptering/

Oppgaven er ganske enkel, men jeg gleder meg likevel til å se hvordan den løses. Tar du utfordringen?
Kryptografi er et spennende tema, men dette kan (nesten) ikkje kalles kryptografi.

For det første så begrenser du mulighetene veldig for hva du kan kryptere med denne cipheren, ved å definere ditt eget charset på 30 tegn. Hadde du der i mot bruk 32 tegn så kunne man brukt base32 før kryptering, og etter dekryptering. Og bruk av addisjon for å kryptere teksten med nøkkelen kompliserer oppgaven samtidig som cipheren ikkje er sikrere av den grunn. Sist men ikkje minst så må nøklene være like lang som teksten som skal [de]krypteres

Hvorfor ikkje lage en oppgave med standard grunnleggende krypterings cipher som opererer som en block cipher og XOR'er teksten med nøkkelen. Dropp ditt eget charset og bruk allerede eksisterende ascii. Bonus opppgaver kan være som å implementere f.eks base64 (de/en)coding av ciphertekst og block cipher operasjons modus. En slik oppgave vil ikkje være stort vanskeligere enn den du har laget, men vil være en mye mer realistisk krypterings cipher.

For å løse problemet med at klarteksten ikkje kan deles på block cipher størrelsen uten å gi et decimaler, så kan man bruke zero-padding på enden. Selv om dette avslører enden av nøkkelen, men man kan uansett ikkje anse en slik cipher for å være sikker.

EDIT: Du kan bruke OTP som passord i en slik cipher å.
Sist endret av 0xFF; 4. august 2015 kl. 00:29.
Sitat av 0xFF Vis innlegg
Hvorfor ikkje lage en oppgave med standard grunnleggende krypterings cipher som opererer som en block cipher og XOR'er teksten med nøkkelen. Dropp ditt eget charset og bruk allerede eksisterende ascii. Bonus opppgaver kan være som å implementere f.eks base64 (de/en)coding av ciphertekst og block cipher operasjons modus. En slik oppgave vil ikkje være stort vanskeligere enn den du har laget, men vil være en mye mer realistisk krypterings cipher.
Vis hele sitatet...
Sannsynligvis fordi dette er gjort tusen ganger før og kan dermed Googles uten problemer. Her er litt av utfordringen å følge spesifikasjonen som er gitt.

Hvis du ønsker å løse praktiske krypto-oppgaver som krever programmering så anbefaler jeg Matasano Crypto Challenges. De inkluderer alt du nevner allerede i første batch med oppgaver.
Sist endret av Dyret; 4. august 2015 kl. 00:57.
codeslinger
tormaroe's Avatar
Trådstarter
I stedet for å lære deg praktisk kryptering gir denne oppgaven et lite innblikk i en viktig historisk teknikk. Og gitt at nøkkelen holdes hemmelig, brukes kun en gang, og er random, gir denne krypteringen **perfekt sikkerhet** - så den er interessant, bare ikke så veldig praktisk for de fleste formål

Helt greit å ikke synes at oppgaven er så spennende though, OxFF. Bruk tiden din på å kode det du vil, no problem.
▼ ... over en uke senere ... ▼
codeslinger
tormaroe's Avatar
Trådstarter
Takk til alle som bidro til kodekampen! En full gjennomgang av alle løsningene finnes her: http://blog.kjempekjekt.com/2015/08/...ng-resultater/

En ny kodekamp legges også ut i dag - denne gangen skal oppgaven løses i F#.