Criptare text - Soft - Arges - 2009 Nationala

Informatii generale

  • Categorie: Soft
  • Judetul: Arges

Descriere

Proiectul contine 3 programe de baza (encrypt.exe, decrypt.exe, keygen.exe). “encrypt.exe” cripteaza tot ceea ce gaseste intr-un fisier “text.txt” gasit in aceeasi folder cu programul folosind o cheie. Cheile valide se genereaza cu “keygen.exe”. Rezultatul encriptiei se gaseste in “encript.txt”. Procesul de decriptare se realizeaza similar. Pentru o decriptare corecta este nevoie a se introduce aceeasi cheie folosita initial. Programul care realizeaza decriptarea este “decript.exe”, iar rezultatul se gaseste in “text2.txt”.

Tehnologii

Visual C++ / C++

Cerinte sistem

Windows 95/XP, NET Framework v2,
256MB RAM, 1GHz CPU.

Realizatori

Chisa Razvan

  • Scoala: Colegiul National I.C. Bratianu Pitesti
  • Clasa: 12
  • Judet: Arges

Screenshots

Pentru ce mai exact ai avea nevoie de admin rights.


Am posibilitatea sa ii specific numele fisierului de iesire?

Nu vreau sa ofensez dar nu vad utilitatea acestui program. Daca nici macar nu se pot specifica numele fisierelor (asa reiese din descriere).
Si oricum un program sa faca doar atat?
Adauga-i o interfata frumoasa, si mai multe posibilitati(poate chiar mult mai multe).

Softul tau pare mai mult un proof of concept decat un produs finit.
Ai inclus o functie de criptare dezvoltata de tine pe baze cat de cat solide sau un concept propriu care sa ruleze in background?.. Totusi din descrierea foarte scurta pare mai mult ca un simplu xor.

Este posibil sa fie un simplu XOR sau poate fi ceva asemanator cu un algoritm(propriu) care l am folosit eu anul trecut in programul meu de steganografie(criptam datele inainte de a le ascunde).

1) keygen scuipa un MD5 sau SHA1 (ori alt hash) pornind de la parola introdusa de user
2) Ia o bucata de LUNGIME_HASH biti si fa XOR caracter cu caracter
3) Goto 2) pana cand se termina fisierul.

Asta e ideea de baza nu vreau acum sa enunt toate posibilitatile (simple).

Ce sunt curios, chiar daca este un simplu XOR sau nu, algoritmul de criptare care il folosesti este unul cunoscut (Blowfish, AES etc)? Daca este inventia ta pe ce schema merge Electronic codebook, Cipher-block chaining, Propagating cipher-block chaining, Cipher feedback, Output feedback?

Ah si inca ceva daca utilizeaza un Feistel network, ai un numar standard de runde sau numarul de runde poate fi inflentat de keyul generat de keygen?

Calm omule ca nu e la interviu pentru job si nici nu e obligat sa raspunda.
Ori i se da feedback ori ce?
M-ar interesa mai mult ca el sa isi dea silinta sa scoata o functie de criptare solida pe baze proprii matematice eventual sa modifice niste concepte pe care le intelege decat sa bage notiuni ca CBC, EBC (si altele) pe care poti sa le inveti cand vrei. Si… daca tot bagi astfel de notiuni ar trebui sa le intelegi mai intai si sa stii de ce asa si nu invers.

LE: Nu stiu daca te-ai nascut in Romania Dr.Optix, dar totusi: retele Feistel, cheie, generator de cheie si nu Feistel network, key, keygen. Stiu ca la mouse nu ii zici soricel, insa asta nu inseamna ca trebuie sa vorbim numai in engleza nu?

Chill dude, nu am vrut sa ofensez pe nimeni, am intrebat de acele concepte deoarece la un momendat am fost pasionat de criptografie, bine si acum sunt, dar mai putin.

La fel cum ai zis si tu trebuie sa scoata o functie criptografica puternica. Dar nu e doar o simpla transformare, poate gresesc formularea, adica nu e pur si simplu “ceva” -> “alt ceva”, ideea la un algoritm de criptare este urmatoarea, din pct meu de vedere, conteaza cum este definita operatiunea “->”. Cu alte cuvinte cat de greu este sa sparg algoritmul, eu o a 3a parte?

Poate nu merge pe scheme clasice precum ECB sau CBC, dar le am adus in discutie deoarece CBC fata de ECB elimina total sau la un anumit nivel posibilitatea de atac folosind frequency analyze.

Referitor la feedback, direct sau indirect un participant primeste feedback cand i se discuta lucrarea, poate vrand sau nu ii dam idei noi, altfel nu vad pt ce am mai discuta o lucrare?

~Dr.Optix

PS: ceea ce spun este o parere personala, ceea ce inseamna ca nu trebuie sa fie 100% adevarata.

Conteaza foarte mult modul de abordare nu pentru el ci pentru tine ca om si ca personalitate. Idei ii poti da unui om si cand il bati. Feedbackul in acest caz ar fi ca ar trebui sa invete sa faca fata unei batai.