salauskirjoitusohjelma

Tarvisin ohjelman joka muuttaa syötetyn tekstin salakirjoitukseksi seuraavasti
Vokaalit:
A -> 9, E -> 8, ... , Ö -> 1
Konsonantit:
B -> C, C -> D, ... , Z -> B

sen pitäisi myös osata muuttaa salattu kirjoitus takaisin. Osaisiko joku auttaa aloittelijaa???
6831
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Kotitehtävät tehdään itse eikä niitä teetetä muilla.

Äänestä

Tämä ei ole nyt ratkaisu ongelmaasi, kun en jaksa nyt miettiä =) mutta tässä olis simppeli ja toki helppo murtaa myös, heh!

Invertoi ASCII merkistöjen koodien bitit nurinpäin.

char a = 65; // muistaakseni A merkki

char b =~a;

nyt bitit muuttujassa b on invertoitu (1011 = 0100) ja merkki on siansaksaa =)

Käännös onnistuu takaisin kun bitit taas invertoidaan takaisin...

a =~b;

Bittejä voi myös jatokäsitellä omilla medoteilla eteenpäin....

Äänestä

että kyseinen ohjelma toimii salakirjoituksena. Kuka tahansa lukiolaisnörtin alku avaa tuon viidessätoista minuutissa.

Äänestä

(Viestissä olevat sekavat numerot ja kirjaimet näkyvät oikein jos kopioit ja liität viestin kokonaisuudessaan WordPadiin)

Eräs kenties vanhimmista konsteista salata kirjoitusta on se, että jokin teksti:

=====
"Minä olen onnellinen nörtti"
=====

Ja jos avainsana olisi "terve" niin avainsanaa verrattaisiin koodattavaan tekstiin seuraavasti:

=====
"Minä olen onnellinen nörtti"
"terv eter veterveter veterv"
=====

Käännetään salakirjoitukseksi siten, että jokainen kirjainpari (M-T, I-E...) käännetään numeroiksi seuraavasti:

====

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö


ja numeroina kirjoitus näyttäisi tältä:

"Minä olen onnellinen nörtti"
"13,9,14,28_15,12,5,14_15,14,14,5,12,12,9,14,5,14_14,29,18,20,20,9"

Koodisana eli "terve" näyttäisi numeroina taasen tältä:

"terve"
"20,5,18,22,5"

====

Nyt ideana on laskea salattavan kirjoituksen ja salasanan välinen ero ja tämän eron avulla saamme luotua varsinaisen salakirjoituksen. Luonnollisestikkin salakirjoitus myös puretaan samalla tavalla kuin kirjoitetaankin, mutta käännetyssä järjestyksessä.

Laskuerotus tapahtuu seuraavasti:

====

"Minä olen onnellinen nörtti"
"13,9,14,28_15,12,5,14_15,14,14,5,12,12,9,14,5,14_14,29,18,20,20,9"

"terve"
"20,5,18,22,5"

13(M)-20(t)= 22(V) // eli, kun M kirjaimen kohdalta lähdettiin takaperin laskemaan 20 kirjainta pois ja saavuttiin kirjaimeen A niin laskua jatkettiin aakkosten loppupäästä Ö.

Jos laskutapa vaikuttaa sekavalta niin tutkailkaa tätä kokonaista koodattua kirjoitusta "Minä olen onnellinen nörtti":

"Minä olen onnellinen nörtti" ja numeroiden alapuolella "terve"
"13,9,14,28_15,12,5,14_15,14,14,5,12,12,9,14,5,14_14,29,18,20,20,9"
"20,5,18,22_5,20,5,18_22,5,20,5,18,22,5,20,5,18_22,5,20,5,18,22"

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö

====

Eli varsinaisesti salakirjoituksen kirjaimet saataisiin näin:

13 - 20 = 22 (koska jos A on 1 ja B on 2 ja aakkosten alussa [koska lasku on vähennyslaskua] jatketaan lasekmista aakkosten lopusta)

9 - 5 = 4
14 - 18 = 25
28 - 22 = 6

"MINÄ" koodattuna "VDYF"

Taitanette huomata, että kuinka käännöstyö tapahtuu? Oikeastaan olisi mielenkiintoista rakentaa tällaiseen salausmenetelmään perustuva koodaaja joka kaiken lisäksi vielä arpoisi kännössanan valitun kielen seasta. Ei kellään sattuisi olemaan innostusta moiseen hommaan, itse kun olen aika laiska?

Äänestä

...vastauksista, vaikka niistä ei mulle ollutkaan hyötyä, mutta ehkä jollekki muulle. Taidan olla liian pienissä kengissä vielä tässä hommassa.

Äänestä

ihan yksinkertaisesti pistät tekstin taulukkoon ja luet sen for-silmukassa läpi niin että vaihdat halutut kirjaimet toisiksi!

esim.

taulu[25]={"tekstiääää..."};

for(i=0;i

Äänestä

Kommentoi aloitusta


jukkis kirjoitti:

Tarvisin ohjelman joka muuttaa syötetyn tekstin salakirjoitukseksi seuraavasti
Vokaalit:
A -> 9, E -> 8, ... , Ö -> 1
Konsonantit:
B -> C, C -> D, ... , Z -> B

sen pitäisi myös osata muuttaa salattu kirjoitus takaisin. Osaisiko joku auttaa aloittelijaa???

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu