Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/18/21 in all areas

  1. RST CTF #1 s-a incheiat, multumim tuturor pentru participare! Asteptam writeup-urile pe email contact@rstcon.com pana miercuri seara. Ulterior vom publica si rezolvarile. Asteptam de asemenea si parerile voastre referitoare la concurs, aici sau pe acelasi email. Orice sugestie sau critica e binevenita. Zilele urmatoare ii vom contacta pe castigatori pentru oferirea premiilor.
    2 points
  2. Buna ziua! Stiti cumva daca se poate face un proiect dupa cum urmeaza: Un algoritm in Python care sa foloseasca inteligenta articiala pentru object recognition. Exista. OpenAI, am vazut filmulete pe Youtube despre asta. Acum problema este alta. As vrea cumva sa vada in timp real acel obiect si sa miste un brat robotic ca sa il ia. Rezultatul final sa fie un brat robotic care culeaga un mar sau o cireasa sau sa ia o minge de tenis, ceva de genul asta. Ideea este ca in caz ca nu l-a prin bine dar nu a cazut atunci sa-l prinda iar daca a cazut atunci sa-l ia de unde a cazut iar daca sunt mai multe sa faca cu toate la fel. Si inca ceva sa nu-l stranga nici prea tare de sa il striveasca dar nici sa-l apuce de sa-l scape fiindca nu a strans suficient. Stiti ceva exemple concrete opensource pentru analiza si studiu? Ma intereseaza nu doar codul in Python pentru Ai ci si cum faci bratul robotic si cum faci interfata intre limbajul de programare si robotel. Multumesc anticipat! O zi frumoasa!
    1 point
  3. Daca zici tu ca ai invatat toate conceptele astea de doctorat si le-ai facut si tu te cred. Bafta la prins cirese, sigur va posta cineva aici cod sa ii dai copy-paste si care sa apuce orice. If cireasa then: apuca() else: mai_cauta()
    1 point
  4. am vrut sa fac o cultura de gojii, eram asociat cu un baiat de la tara care avea cunostiintele necesare, se putea implica 100% la modul ca statea acolo si pazea si ingrijiea etc, doar ca nu avea bani, iar eu la vremea aia faceam bani de nu stiam ce sa fac cu ei. terenuri se gaseau la marele greu, eu fiind din constanta, vroiam tot prin zona sa reusesc cu proiectul tocmai pentru a ma implica activ si nu doar sa fiu omul cu banii. principala problema era solul si cred ca inca este pentru diversele culturi, pe langa faptul ca nu e prea roditor, clima nu imi permitea sa creez o cultura 100% bio, iar sa folosesc chimicale nu am fost de acord si nu voi fi niciodata. cate terenuri am vazut si cate probe au fost luate, daca ma hotaram sa cumpar macar 1, ieseam mai bine la bani decat sa chem om sa ia probe de sol de fiecare data :)). multe terenuri sunt si acum dopate cu chimicale ca sa dea bine la cumparatori si sunt multe scheme facute chiar cu astia de iti certifica solul/cultura ca fiind bio. deaia pe la mare o sa vezi floarea soarelui si rapita la marele greu. asociatul insista ca la munte putem face treaba buna si incepea sa imi surada ideea ca intervenea si diversitatea, pe langa, puteam pune si fructe de padure - cu care ai succes inevitabil - doar ca intr un final a preferat sa plece ca sudor in belgia. pentru mine a urmat o perioada naspa, m am bagat in cacaturi cu oameni de cacat si a trebuit sa platesc pentru greseli copilaresti. doamna care ma asigura cu proiectul ca va ajunge mai sus in teancul cu proiecte facea asta de ceva timp, era o caracatita psd ista probabil, nu m a interesat atunci, iar pentru 44k, 2k partea ei era un nimic. m am ferit de firme de consultanta pentru ca nu se justificau costurile, iar un proiect bun poti sa iti faci si singur daca ai timp si stii despre domeniul in care vrei sa activezi. toata documentatia este publica, tu trebuie doar sa te apuci de scris... la greu! am auzit si de controale si de evaziuni mana in mana cu controalele, in romania cam orice e posibil.. daca te pricepi in domeniu, sfatul meu e sa faci singur. repet, cam orice proiect in it este ff bine vazut, creearea de locuri de munca primeaza, productia.. nu mi vin altele in cap.
    1 point
  5. Am incercat o apropiere cu ceva rezultate dar inca este prototip Daca ai 0000001 0000002 0000003 0000004 0000005 si le treci prin sha256 atunci intr-una din conversile (bin, hex, etc) obtinute pe codul criptat va rezulta un tipar ce poate fi identificat prin AI sau chiar prin alte softuri de statistica avansata. Sha256 aranjeaza bitii intr-o anumita ordine iar daca cunosti secventa din care face parte elementul care trebuie decriptat te poti apropia de range-ul elementului pe care doresti sa-l decriptezti, oferindu-ti un interval mic de posibilitati. Ex. vrei sa aflii 0000003 si ai asa 0000001 = e27ada58f8898bde36c4bd6bbc544263d7522718603bb9f42917f49932d97c79 0000002 = 0084a86da59989f5beb2dd2d4eb84f0659f61d756c1d09414421ccf7734bc14f 0000003 = 5fd226692d4dc9ff0c8084951820d43495d67e8873669537d9b8189fb46f2147 0000004 = 8b0c3cce2a3c48571b52e5d8af08fb5c9f6c3182ba7a700dbaf1327dd674a13f 0000005 = 9166d3f4c413513a6f972f7094ddedbce740283f85b85b81d4e838257b878767 0000006 = ed9e66523e2aa5ecdcb7abe2a0358f72d7082356dc6bb3c06f4013c159aaefa8 0000007 = 5c63149677f996191ec5857f4b452ee3d31c2190628d4252e7e428666d670450 Din moment ce sha256 ofera un hash in format hexa rezulta 64 impartit la 2 = 32 pentru 0000001 e2 7a da 58 f8 89 8b de 36 c4 bd 6b bc 54 42 63 d7 52 27 18 60 3b b9 f4 29 17 f4 99 32 d9 7c 79 conversie decimala 226 122 218 88 248 137 139 222 54 196 189 107 188 84 66 99 215 82 39 24 96 59 185 244 41 23 244 153 50 217 124 121 pentru 0000003 5f d2 26 69 2d 4d c9 ff 0c 80 84 95 18 20 d4 34 95 d6 7e 88 73 66 95 37 d9 b8 18 9f b4 6f 21 47 95 210 38 105 45 77 201 255 12 128 132 149 24 32 212 52 149 214 126 136 115 102 149 55 217 184 24 159 180 111 33 71 ---------- pentru 0000002 00 84 a8 6d a5 99 89 f5 be b2 dd 2d 4e b8 4f 06 59 f6 1d 75 6c 1d 09 41 44 21 cc f7 73 4b c1 4f 0 132 168 109 165 153 137 245 190 178 221 45 78 184 79 6 89 246 29 117 108 29 9 65 68 33 204 247 115 75 193 79 s.a.m.d rezulta final 226 122 218 88 248 137 139 222 54 196 189 107 188 84 66 99 215 82 39 24 96 59 185 244 41 23 244 153 50 217 124 121 95 210 38 105 45 77 201 255 12 128 132 149 24 32 212 52 149 214 126 136 115 102 149 55 217 184 24 159 180 111 33 71 0 132 168 109 165 153 137 245 190 178 221 45 78 184 79 6 89 246 29 117 108 29 9 65 68 33 204 247 115 75 193 79 139 12 60 206 42 60 72 87 27 82 229 216 175 8 251 92 159 108 49 130 186 122 112 13 186 241 50 125 214 116 161 63 145 102 211 244 196 19 81 58 111 151 47 112 148 221 237 188 231 64 40 63 133 184 91 129 212 232 56 37 123 135 135 103 237 158 102 82 62 42 165 236 220 183 171 226 160 53 143 114 215 8 35 86 220 107 179 192 111 64 19 193 89 170 239 168 92 99 20 150 119 249 150 25 30 197 133 127 75 69 46 227 211 28 33 144 98 141 66 82 231 228 40 102 109 103 4 80 se grupeaza pe coloane si se observa daca criptarea este total random sau daca prezinta tipare apropiate (cifre care merg pe corelatie pozitiva sau negativa si in ce masura), bine se lureza pe seturi mai mari de date consecutive, aici am scris doar de exemplu. Daca se continua se va observa pattern pe 80% din coloane (grupe hex) DAR... Utilizand aceste modele de analiza nu se poate decripta sau restrange range-ul necunoscutei daca celelalte date nu sunt consecutive si sa cunosti input-ul anterior ca sa ai un punct de reper si cred ca imposibil daca este 2xsha256 dublu pe string. Si metoda sha256 difera uneori... Rezultatetele sunt multumitoare la ce am eu nevoie dar e departe de o solutie care sa poata decripta, plus ca ce am facut eu mai sus apare si intr-un doc security advisory inca din 1994. Mai pe scurt sa inteleaga toti, la un moment dat poti deduce o grupare hex pe baza anterioarei reducand range-ul pentru brute force sau chiar pentru analiza, nu am sa zic aici tot ce se poate obtine dar am dat un exemplu.
    1 point
  6. Ca sa completez. Ca vad ca ai cautat aritmetica modulara. Cum zice si Nytro: hashul foloseste o functie one way(adica "ireversibila") Ezista multe functii de hashing, ca exemplus usor de inteles e ridicarea la putere. Daca tu ai o parola: 125 un 'hash' ar fi (125*125) = 15625. p^2 e usor de calculat. insa sqrt(h) e mai greu. daca faci parola^2^2^2^2 de 20 de ori. rezultatul este foarte greu de reversat. In practica ridicarea la putere modulo Z este o functie criptografica secure(mimc sponge, posseidon) Desigur ca se folosesc niste constante publice care au rolul de a acoperi solutiile triviale. (adica daca parola ta e 1, 1^2=1) de aia se adauga constante. SHA, MD5 functioneaza pe principii asamanatoare, insa ele sunt optimizate pt a lucra pe biti (1010). Avantajul e ca un PC poate lucra extrem de repede cu biti. De aia se folosesc functii de scrambling binare. In teorie ele sunt reversibile, dar puterea de calcul necesara pt a calcula inversul este mai mare decat putere de calcul de a face bruteforce. PS: e greu sa calculezi radacina patrata a lui 24968157501988569494928780504830941785667. Similar e la fel greu sa calculezi precursorul unei runde SHA, chiar daca functia este diferita.
    1 point
  7. Salut, SHA256/SHA512 etc nu se pot inversa pentru ca sunt algoritmi de hashing. De exemplu, un hash sha256 pentru textul "Gigel" va fi 38810d5f65b12d1433aaff068818bc1f298a322b2a45a8f335645c8fe3af3510 Un hash pentru "Gigel se duce la plimbare si vede o fata de care se indragosteste apoi uita de ea cand vede un Lamborghini si gaseste 10 RON pe jos" va avea urmatorul hash: 299c91444f0f7f8ee3cf12ffc4a9483bc1caf5f43f68b0593b1dddd84a0b44be Dupa cum vezi, indiferent de lungimea textului, lungimea hash-ului este aceeasi. Chiar daca textul (sau binarul) are 1KB sau 2 TB, un hash va avea aceeasi lungime si va fi mereu acelasi pentru acelasi input. De aceea sunt folosite pentru a nu stoca parolele in plain-text in baza de date. Ca sa luam un exemplu mai simplu: CNP. Acesta contine sexul, data nasterii, judetul ... iar ultima cifra este o "suma de control". Algoritmul exact este descris aici: https://ro.wikipedia.org/wiki/Cod_numeric_personal_(România) - asa se calculeaza acea ultima cifra. Dar sa luam un exemplu mai simplu, sa zicem ca pentru CNP 1881111111116 suma de control este cifra "6" de la final si ca se calculeaza doar adunand cifrele si scotand restul impartirii la 10 (%10 adica). Un hash, ca idee, e ceva asemanator. Un hash reprezinta de fapt acel "6" de la final. Poti din acel 6 sa deduci CNP-ul? E destul de clar ca nu. Singurul lucru care se poate face pe hash-uri e bruteforce, care poate fi optimizat din cauza unor "probleme" in algoritmul hash-urilor. Adica sa incerci a faci hash din orice combinatii de text: aaaaaa, aaaaab, aaaaac etc pana ajungi la hash-ul dorit. Discutia se poate prelungi.
    1 point
  8. Un exemplu simplu: ai numarul 6 si trebuie sa gasesti din ce numere a fost format. Utilizatorul a facut operatia 1+5, dar tu poti sa ai urmatoarele variante 0+6, 1+5, 2+4, 3+3, 4+2+5+1 si 6+0, pe langa scaderi, inmultiri, impartiri, etc. Cum stii pe care o alegi? La fel si cu functiile injective, iti fac o "insumare" (depinde de algoritm) de date, pierzand mare parte din ele. Cand incerci sa faci reverse, te vei lovi de problema de mai sus. Singura posibilitate de "decriptare" a unui hash este prin criptarea tuturor cuvintelor, parolelor, etc. care ar rezulta hash-ul. Poti face bruteforce, dictionary attack sau folosi rainbow tables, gen https://cmd5.org/. Pentru sha-256 sau sha-512 posibilitatea de coliziune (doua stringuri criptate sa dea acelasi "hash") este mica, dar fara un calculator cuantic, o sa stai ani sau sute de ani de zile sa incerci toate combinatiile.
    1 point
×
×
  • Create New...