» Utilizator
LAMP
» Parteneri» De citit» Recomandari» Taskuri securitate » Statistici
  • 65486 de mesaje.
  • 7732 de topicuri.
  • 1231 de utilizatori.
  •  
  • Kopotosa e ultimul utilizator inregistrat.
[Detalii]

 

| |
Pagini: [1]
Print

Criptare simetrica XOR [2194 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: 1617
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: 579
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: 64
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:

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 ::
Pagini: [1]
Print
SkullBox Forum  |  Development  |  ASM  |  Topic: Criptare simetrica XOR