Encrypt & Decrypt Weekend Project

download Encrypt & Decrypt Weekend Project

of 13

Transcript of Encrypt & Decrypt Weekend Project

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    1/13

    ENCRYPT &

    DECRYPT

    WEEKEND PROJECTSIRURI DE CARACTERE

    By Team AK

    Strinu Narcis

    -Vaduva Gabriel

    -Marcu Vlad

    -Dima Cosmin

    -Butaru Florin

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    2/13

    A fost odata…(sau n-afost)

     Acum mult timp, doua guverne a doua tari

    aveau un plan secret pe care trebuiau

    sa il trimita intre ele si sa il discute fara ca alte tari

    sa afle despre ce este vorba

     Au incercat prin diverse metode, dar

    tot apareau scurgeri de informatii

    !ntr-o "i, o ec#ipa de informaticieni inteligenti $foarte%&

    s-au gandit sa code"e cumva te'tul informatiei

    incat doar stiind un anumit cod de alterare

    sa poti sa descifre"i informatia

    Si iata cum au procedat(

    S-au gandit sa ia fiecare litera in parte, sa ii ia codul de caracter 

    sa il altere"e prin operatii matematice cu un master code, sa inlocuiasca

    caracterul respectiv din te't si sa salve"e sirul de caractere sub forma criptata

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    3/13

    Sirul de caractere criptat:

    Puterea dezlantuita (sau decriptata?)Cum se calculea"a master-code)

     Au stabilit ca master-code sa fie calculat ca

    produsul dintre $*+&din lungimea sirului de caractere,

    daca este par,

    sau + 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 cifre selectat de utili"ator

    si litera . sau N in functie de comparatia valorii numerice

    a master-code-ului cu / 0.o"itiv + Negativ1

    2a fiecare cod de caracter se aduna $valoarea absoluta a

    mastercode&3$semn mastercode&

    si se scade usercode daca semn mastercode a fost po"itiv

    sau se aduna usercode

    daca semn mastercode a fost negativ

    Hmmm…

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    4/13

    Si astfel s-au #otarat si s-au pregatit sa scrie

    programul

    .rima data au stabilit #eaderele si au declarat

    obiectele fisier $fstream& % si apoi au plecat la

    bar

    Dimineata urmatoare, ma#muri cum erau,

    dupa multa cafea si Coca Cola, au declarat

    functia principala int main{} si au reali"at

    codul pentru citirea din fisier a sirului de

    caractere initial, linie cu linie%!ata ce a iesit(

    #include#include#includefstream fin("date.txt", ios::in);fstream fout("decripted.txt",ios::out);

    int main(){char s[!!!!;char linex[!!;int len;s[!$!;%hile(&fin.eof()){  fin.getline(linex, ');  strcat(s, "n");

      strcat(s, linex);*

    *

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    5/13

    int reallen$strlen(s);int mastercode;len$strlen(s)+;char ocale[$"aeiou-/01";char 2pos$strp3r4(s, ocale);

    int ocal5pos$s+pos;

    !n continuare, au stabilit po"itia primei vocale in

    conte'tul sirului de caractere initial%e#un fel de

    po"itie, caci au #otarat ca programul sa devina

    putin mai abstract

    “Unde-I vocala?! Unde-i vocala?!!”

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    6/13

    4rmatorul pas a fost sa stabileasca prima

    parte din master-code

    if(reallen67$$!){mastercode$reallen8';

    *else{

    mastercode$(92reallen)8';*mastercode$mastercode2ocal5pos;

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    7/13

    4n astfel de cod ar avea urmatoarea

    forma(

    *5N67 sau *5.67

    *5 8 user code, selectat de utili"ator 

    N + . 8 Negativ + .o"itiv

    67 8 Master code, calculat in pasul

    anterior 

    Cumva trebuiau sa faca codul de descifrare mai

    compact%si totusi sa fie eficient din punct de

    vedere al securitatii

     Au stabilit ca in loc de semn pentru prima parte dinmastercode, sa puna inainte de codul de securitate

    primar sa puna literele N si ., e'act ca in planul

    initial

     Au mai adaugat la planul initial si un cod de

    utili"ator, caci altfel decriptarea ar fi fost prea

    simpla si munca lor ar fi fost inutila Acest cod de

    utili"ator era adaugat la inceputul master-cod-ului

    final, c#iar inainte de caracterul pentru semn 9oateaceste po"itionari sunt folosite doar pentru

    utili"area ulterioara a codului ca intreg

    int user5code;coutuser5code;

    char signx;if(mastercode

    { signx$;mastercode$mastercode2(+);

    *else{

    signx$;*

    char master5final[7!;char usrnr[', mcode[;itoa(user5code, usrnr, !);itoa(mastercode, mcode, !);strcat(master5final, usrnr);int s4$strlen(master5final);master5final[s4$signx;strcat(master5final, mcode);

    printf("=astercode: 6sn", master5final);

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    8/13

    Mai trebuiau sa altere"e fiecare

    caracter din sir dupa regula aleasa si

    salvarea noului sir intr-un fisier te't%

    bine bine%si afisarea pe ecranfor(int i$!;i

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    9/13

    Nici o problemaInversam procesul

    #include#include#includefstream fin("date.tt"! iosin$fstream fout("decri%ted.tt"! iosout$ int main({

    char s&')$char line&*)$+hile(,fin.eof({

    fin.getline(line! $strcat(s! "/n"$strcat(s! line$

    }int reallen0strlen(s$char code&1)$cout

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    10/13

    Si s-au dus baietii nostrii la guvern sa isi pre"inte creatia

     Au lasat apoi proiectul, urmand sa fie contactati daca guvernul va

    alege proiectul lor pentru criptarea informatiei

    .este "ile% Au primit un mail de la guvern in care scria(

    Contactati-ne dupa ce veti decoda acest sir de caractere codat

    cu aplicatia voastra Codul de decodare nu vi-l vom da, va

    trebui sa il aflati voi

    Succes;

    9e't(

    =6=6hshsh=6drsldr=i9rtmsdshB3B2?@?

    =hnCh6Chos=lnChmtl=h6Chos=l---

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    11/13

    Au cautatD.

    -au stresatD

    -AE TT FA32GTD

    G AE AHIAT 2EI

    797'

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    12/13

    Fericiti ca au gasit codul, s-au grabit sa decode"e te'tul ca sa poata afla

    mesa

  • 8/17/2019 Encrypt & Decrypt Weekend Project

    13/13

    T?J J32