Algorytm szyfrowania RC4

0

Elo wszystkim Czty ma ktos jakies pojecie na temat szyfrowania za pomocą algorytmu RC4???

Pomocy ludziska bo nie zalicze Programowania :-/

0

na jakiejś stronce znalazłem do assamblera kodzik nie wiem czy działa bo nie sprawdzałem .:
comment ~

Zrodelko algorytmu RC4 . Zaincluduj ten plik i wywolaj odpowiednie funkcje.
Szyfrowanie i deszyfrowanie przebiega tak samo :

push	dlugosc_hasla
push	offset haslo
call	_rc4_setkey

push	dlugosc_danych
push	offset dane
call	_rc4_crypt

WiteG//xtreeme

.code
_rc4_setkey proc ptrPass:DWORD, lPass:DWORD
pushad

mov	eax, 0FFFEFDFCh
mov	ecx, 256/4

_init_rc4keytable:
mov dword ptr [rc4keytable+4*ecx-4], eax
sub eax, 04040404h
dec ecx
jnz _init_rc4keytable

xor	eax, eax
mov	edi, ptrPass

_key_return:
xor ebx, ebx
mov esi , lPass
jmp _new_key

_key_loop:
inc bl
dec esi
jz _key_return

_new_key:
mov dl, byte ptr [rc4keytable+ecx]
add al, byte ptr [edi+ebx]
add al, dl
mov dh, byte ptr [rc4keytable+eax]
mov byte ptr [rc4keytable+ecx], dh
mov byte ptr [rc4keytable+eax], dl
inc cl
jnz _key_loop

popad
ret

_rc4_setkey endp

_rc4_crypt proc ptrData:DWORD, lData:DWORD
pushad
mov edi, lData
mov esi, ptrData
test ecx, ecx
jz _rc4_enc_exit

xor	eax, eax
xor	ebx, ebx
xor	ecx, ecx
xor	edx, edx

_rc4_enc_loop:
inc ebx
mov dl, byte ptr [rc4keytable+ebx]
add al, dl
mov cl, byte ptr [rc4keytable+eax]
mov byte ptr [rc4keytable+ebx], cl
mov byte ptr [rc4keytable+eax], dl
add cl, dl
mov cl, byte ptr [rc4keytable+ecx]
xor byte ptr [esi], cl
inc esi
dec edi
jnz _rc4_enc_loop

xor	eax, eax
mov	edi, offset rc4keytable
mov	ecx, 256/4
cld
rep	stosd	

_rc4_enc_exit:
popad
ret
_rc4_crypt endp

.data?
rc4keytable db 256 dup (?)

1 użytkowników online, w tym zalogowanych: 0, gości: 1