» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59774 de mesaje.
  • 7153 de topicuri.
  • 1002 de utilizatori.
  •  
  • BirthBaby e ultimul utilizator inregistrat.
[Detalii]

 
SkullBox Forum  |  Development  |  ASM (Moderators: astan, TNick)  |  Topic: Criptare simetrica XOR
Pagini: [1]
Print
Criptare simetrica XOR [1708 afisari]
Shocker
*


Mesaje: 408
OfflineOffline


Sa va arat si algoritmul meu de criptare simetrica bazata pe operatia XOR, destul de optimizat [am stat ceva vreme sa il aduc in varianata asta], proceseaza ~800MB pe secunda, lucrul direct cu memoria, neluand in calcul incarcarea datelor in memorie.
L-am folosit si la Multi Packer, la una din cele 3 metode de criptare [criptarea "Simpla"].
Code:

pushad
mov esi, textAddr
mov edi, passAddr
add maxSize, 1
mov ecx, maxSize
xor ebx,ebx
mov eax, passlenDW

@loop:
mov edx, [ds:edi+ebx*4]
xor [ds:esi], edx
inc ebx
add esi, 4

cmp ebx,eax
jne @cont
xor ebx,ebx
@cont:
dec ecx
jnz @loop

popad

Unde:
textAddr - adresa primului caracter din textul ce urmeaza a fi encriptat
passAddr - adresa primului caracter din parola
maxSize - lungimea textului DIV 4 [pentru ca XOR-eaza seturi a cate 4 bytes, deci numarul de parcurgeri trebuie sa fie LungimeText / 4 ]
passlenDW - lungimea parolei

De mentionat faptul ca, din moment ce proceseaza seturi de 4 bytes [1 dword], lungimea textului si a parolei trebuie sa fie multiplii de 4, daca nu sunt multiplii de 4 mai adaugati voi la textul respectiv inainte de criptare cati bytes mai e nevoie sa fie multiplu de 4 [1, 2 sau 3]

De asemenea, se poate face si criptare pe 8 bytes [QWord - QuadWord], astfel era de doua ori mai repede criptarea, dar asta pe procesoarele pe 64bits
Logged
23-08-2007, 19:26 Twitt ::
3Nigma
*


Mesaje: 1446
OfflineOffline

WWW

E bine ca ne impartasesti aceste informatii ...

Dar pot intreba de ce?
Nu ti-i frica ca acum se pot decripta/despacheta ceea ce face packerul tau?

Nice one Winking
Logged

26-08-2007, 00:34 Twitt ::
Shocker
*


Mesaje: 408
OfflineOffline


Quote
Dar pot intreba de ce?
One day I will rule the world ahaha Laughing

Serios acum:
Quote

Nu ti-i frica ca acum se pot decripta/despacheta ceea ce face packerul tau?

Nu, pentru ca totul se cripteaza folosind o parola, daca nu ai parola, nu prea ai ce face Tongue
So, scopul este pur educational
Logged
26-08-2007, 00:54 Twitt ::
tw8
*


Mesaje: 576
OfflineOffline


Dragut.
Imi poti transcrie si mie codul de mai sus in pseudocod Big grin ?
Logged
26-08-2007, 11:43 Twitt ::
Shocker
*


Mesaje: 408
OfflineOffline


Pf, am explicat cum vine: Din text se ia, pe rand, cate 4 bytes si considera ca fiind un DWORD. La fel si din parola, cate 4 bytes pe post de DWORD si face XOR intre DWORD-ul din text si DWORD-ul din parola. Cand a ajuns la capatul parolei, ia din nou primii 4 bytes din parola, si tot asa :
Logged
26-08-2007, 23:14 Twitt ::
DranaXum
*


Mesaje: 60
OfflineOffline

WWW

Frequency attack on a monoalphabetic cipher (the first cryptanalysis attack) (na ca am dat-o si pe engleza Smile )
tw8, c++ :
Code:
//p=parola
//s=text in clar
char* encrypt(char* s,char *p){
char *u=new char[strlen(s)+2];
for(int i=0;i<strlen(s);i++)
u[i]=(char)(s[i]^p[i%strlen(p)]);
u[strlen(s)]='\0';
return u;
}
Logged

Puterea izvoraste din capacitatea omului de a gandi!
http://dranaxum.wordpress.com
12-03-2008, 10:39 Twitt ::
emi
*


Mesaje: 1560
OfflineOffline


Criptarea XOR, nu e una din cele mai sigure metode, dar e la indemina, "costa" putin, si e eficienta daca vrei sa nu afisezi text in clar.
A se vedea propunerea 6 de la concursuri de programare.

Am o carte cu istoricul criptarii, inclusiv masina enigma.
Logged
16-01-2009, 23:51 Twitt ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  ASM (Moderators: astan, TNick)  |  Topic: Criptare simetrica XOR
Jump to: