• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

[ONI][IX]Criptare

1
  • Publicat de Andrei Avădănei
  • în Fără categorie
  • — 1 iul., 2009 at 11:31 am

Mircea si Vasilica vor sa-si trimita mesaje pe care altii sa nu le inteleaga. Au citit ei despre spioni si modalitati de a scrie mesaje si, in final, au imaginat un mod de criptare a unui mesaj care foloseste “cuvant cheie” (le-a placut lor denumirea asta 🙂 ).

Alegandu-si un cuvant cheie format numai din litere distincte, ei numara literele acestuia si impart mesajul in grupe de lungime egala cu numarul de litere ale cuvantului cheie, si le aseaza una sub alta. Desigur, se poate intampla ca ultima grupa sa fie incompleta, asa ca o completeaza cu spatii. Apoi numeroteaza literele cuvantului cheie in ordinea aparitiei lor in alfabetul englez. In final, rescriu mesajul astfel: coloana de sub litera numerotata cu 1, urmata de coloana de sub litera numerotata cu 2, etc. inlocuind totodata si spatiile cu caracterul ‘*’ (asterisc).

Exemplu:

        cuvantul cheie             criptam
        mesaj de criptat           Incercam sa lucram cu coduri si criptari.
cuvantul cheie                     criptam are 7 litere
numerotare                         2635714
deoarece, avem, in ordine      abcdefghijklmnopqrstuvwxzy
			              	     1  2       3   4   5  6 7
impartire in grupe                  Incerca|m sa lu|cram cu| coduri| si cri|ptari.
codificare                               2635714
                                         Incerca
                                         m*sa*lu
                                         cram*cu
                                         *coduri
                                         *si*cri
                                         ptari.*
mesaj criptat                       clcrr.Imc**pcsaoiaauuii*eamd*rn*rcstr**uci
                                         col1  col2   col3    col4    col5    col6    col7

Cerinta
Fiind date un cuvant cheie si un mesaj criptat, decodificati mesajul trimis de Mircea pentru Vasilica.

Date de intrare
Fisierul de intrare criptare.in contine pe prima linie mesajul criptat iar pe linia a doua cuvantul cheie.

Date de iesire
Fisierul de intrare criptare.out contine pe prima linie mesajul decriptat.

Restrictii
• lungimea mesajului este de minim 20 si maxim 1000 caractere
• cuvantul cheie are minim 5 si maxim 20 de caractere
• cuvantul cheie contine numai litere mici ale alfabetului

Exemplu
criptare.in

clcrr.Imc**pcsaoiaauuii*eamd*rn*rcstr**uci
criptam

criptare.out

Incercam sa lucram cu coduri si criptari.

Timp maxim de executie/test: 1 secunda

Solutie :
Timp executie :
O(keyLen ^ 2) – pentru generarea cheiei
O(keyLen ^ 2+msgLen/keyLen) – pentru decriptare
Memorie folosita : O(msgLen + 2 keyLen)

Dupa parerea mea problema nu este dificila doar este foarte interesanta.
Avem nevoie de o funcție ce va genera cheia.Funcția decriptHash este funcția de baza pentru decriptare.Ea simuleaza imparțirea stringului in sub-stringuri de lungimea cheii si face decriptarea direct.

Soluție : Problema Criptare

Etichete: algoritmicaC++CriptareOlimpiadaONIProbleme algoritmicăprobleme informaticaprogramare

— Andrei Avădănei a scris 1246 articole

Andrei scrie pe worldit.info din vara lui 2011. Este fondatorul Asociatiei Centrul de Cercetare in Securitate Informatica din Romania - CCSIR si coordoneaza DefCamp, cea mai importanta conferinta de securitate informatica & hacking din Europa Centrala si de Est. Andrei ofera in cadrul Bit Sentinel servicii de securitate informatica, penetration testing, security management, recuperarea de pe urma unui atac cibernetic, training-uri si workshop-uri.

  • Articolul anterior Reteaua de socializare Faces.md, inchisa brusc marti de autoritatile moldovene
  • Articolul următor WSS 2.1 Preview

1 Comentariu

  1. Blackmail_Cristi spune:
    iulie 22, 2009 la 7:57 pm

    Foarte dragutza problema, knd ajung acasa voi si scrie un programel care sa incerce sa faca chestia asta.


  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • ianuarie 2023
    L Ma Mi J V S D
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • [ONI][IX]Criptare
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons