1 / 13

Encrypt & Decrypt Weekend project Siruri de caractere

By Team AK Strinu Narcis - Vaduva Gabriel - Marcu Vlad - Dima Cosmin - Butaru Florin. Encrypt & Decrypt Weekend project Siruri de caractere. A fost odata …( sau n-a fost ) . Acum mult timp , doua guverne a doua tari aveau un plan secret pe care trebuiau

trynt
Télécharger la présentation

Encrypt & Decrypt Weekend project Siruri de caractere

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. By Team AK StrinuNarcis -Vaduva Gabriel -MarcuVlad -DimaCosmin -Butaru Florin Encrypt & Decrypt Weekend projectSiruri de caractere

  2. A fostodata…(sau n-a fost) Acummulttimp, douaguverne a douatari aveau un plan secret pe care trebuiau sailtrimitaintreelesisaildiscutefara ca altetari saafledespreceestevorba. Au incercatprin diverse metode, dar tot apareauscurgeri de informatii. Intr-o zi, o echipa de informaticieniinteligenti (foarte…) s-au ganditsacodezecumvatextulinformatiei incatdoarstiind un anumit cod de alterare sapotisadescifreziinformatia Si iata cum au procedat: S-au ganditsaiafiecarelitera in parte, sa ii iacodul de caracter sailalterezeprinoperatiimatematice cu un master code, sainlocuiasca caracterulrespectiv din text sisasalvezesirul de caractere sub forma criptata.

  3. Sirul de caracterecriptat: Putereadezlantuita (saudecriptata?) Cum se calculeaza master-code? Au stabilit ca master-code sa fie calculat ca produsul dintre (1/4)din lungimea sirului de caractere, daca este par, sau 3/4 din lungimea sirului de caractere, daca nu este par, si prima aparitie in sirul de caractere a unei vocale. Apoi, inainte de valoarea numerica a Master-code-ului se va adauga un numar de 3 cifre selectat de utilizator si litera P sau N in functie de comparatia valorii numerice a master-code-ului cu 0 [Pozitiv / Negativ]. La fiecare cod de caracter se aduna (valoarea absoluta a mastercode)*(semn mastercode) si se scade usercode daca semn mastercode a fost pozitiv sau se aduna usercode daca semn mastercode a fost negativ. Hmmm…

  4. #include<iostream.h> #include<fstream.h> #include<string.h> fstream fin("date.txt", ios::in); fstream fout("decripted.txt", ios::out); int main(){ char s[10000]; char linex[500]; int len; s[0]=0; while(!fin.eof()){ fin.getline(linex, 499); strcat(s, "\n"); strcat(s, linex); } } Si astfel s-au hotaratsi s-au pregatitsascrieprogramul. Prima data au stabilitheaderelesi au declaratobiectelefisier (fstream) … siapoi au plecat la bar. Dimineataurmatoare, mahmuri cum erau, dupamultacafeasi Coca Cola, au declaratfunctiaprincipalaintmain{} siau realizatcodulpentrucitirea din fisier a sirului de caractere initial, linie cu linie…Iatace a iesit:

  5. In continuare, au stabilitpozitiaprimeivocale in contextulsirului de caractere initial…eh..un fel de pozitie, caci au hotarat ca programulsadevinaputinmai abstract. int reallen=strlen(s); int mastercode; len=strlen(s)-1; char vocale[]="aeiouAEIOU"; char *pos=strpbrk(s, vocale); int vocal_pos=s-pos; “Unde-I vocala?! Unde-ivocala?!!”

  6. Urmatorul pas a fostsastabileasca prima parte din master-code • if(reallen%2==0){ • mastercode=reallen/4; • } • else • { • mastercode=(3*reallen)/4; • } • mastercode=mastercode*vocal_pos;

  7. int user_code; cout<<"Usercode: "; cin>>user_code; char signx; if(mastercode<0) { signx='N'; mastercode=mastercode*(-1); } else { signx='P'; } char master_final[20]; char usrnr[4], mcode[15]; itoa(user_code, usrnr, 10); itoa(mastercode, mcode, 10); strcat(master_final, usrnr); int sk=strlen(master_final); master_final[sk]=signx; strcat(master_final, mcode); printf("Mastercode: %s\n", master_final); Cumvatrebuiausafacacodul de descifraremai compact…sitotusisa fie eficient din punct de vedere al securitatii. Au stabilit ca in loc de semnpentru prima parte din mastercode, sapunainainte de codul de securitateprimarsapunaliterele N si P, exact ca in planul initial. Au maiadaugat la planul initial si un cod de utilizator, cacialtfeldecriptareaarfifostpreasimplasimuncalorarfifostinutila. Acest cod de utilizator era adaugat la inceputul master-cod-ului final, chiarinainte de caracterulpentrusemn. Toateacestepozitionarisuntfolositedoarpentruutilizareaulterioara a codului ca intreg. Un astfel de cod araveaurmatoarea forma: 123N78sau123P78 123 – user code, selectat de utilizator N / P – Negativ / Pozitiv 78 – Master code, calculat in pasul anterior

  8. Mai trebuiausaalterezefiecarecaracter din sir duparegulaaleasasisalvareanoului sir intr-un fisier text…binebine…siafisareapeecran. for(int i=0;i<=len;i++){ if(signx=='N'){ s[i]=s[i]+(-mastercode)+user_code; } else { s[i]=s[i]+mastercode-user_code; } } printf("%s\n", s); fout.write(s, strlen(s)); system("pause"); Eh..sigata, au zisei… Dar au uitatceva: de criptat au reusitsacriptezetextul, dardecriptarea?

  9. Nici o problemaInversamprocesul

  10. Si s-au dusbaietiinostrii la guvernsaisiprezintecreatia. Au lasatapoiproiectul, urmandsa fie contactatidacaguvernulvaalegeproiectullorpentrucriptareainformatiei. Peste 3 zile…. Au primit un mail de la guvern in care scria: Contactati-ne dupacevetidecodaacest sir de caracterecodat cu aplicatiavoastra. Codul de decodare nu vi-l vomda, vatrebuisailaflativoi. Succes! Text: C`b`bhshsh`bdrsldr`i+rtmsdshBNMBDCH@SH O`hnqhbqhos`lnqhmtl`hbqhos`l---

  11. Au cautat…. S-au stresat… S-au tot gandit… SI AU AFLAT CODUL: 123N124

  12. Fericiti ca au gasitcodul, s-au grabitsadecodezetextul ca sapoataaflamesajulatat de important trimischiar de la guvern… Si iatace au aflat: Daca cititi acest mesaj, sunteti CONCEDIATI! Pai ori criptam ori numai criptam...

  13. THE END

More Related