⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rc4.inc

📁 RC(2),RC(4),RC(5),RC(6)算法.我的珍藏软件,毕业设计时候编写的.现在和大家一起分享.希望能帮助大家.
💻 INC
字号:
comment		*

Algorithm		: RC4 ( Stream Cipher )

Usage		: invoke	rc4_setkey,addr ptrInkey,addr ptrInkey_length
		  invoke	rc4_crypt,addr ptrIndata,addr ptrIndata_length	( Encrypt & Decrypt )
		  
Coded by x3chun	(2003.11.22)
		(x3chun@korea.com  or  x3chun@hanyang.ac.kr) ( http://x3chun.wo.to )
		
comment		*

rc4_setkey	proto	:DWORD, :DWORD
rc4_crypt	proto	:DWORD, :DWORD

.data?

rc4keytable	db	256	dup(?)

.code

rc4_setkey	proc	ptrInkey:DWORD, ptrInkey_length:DWORD

		xor	ebx,ebx		
@_r1:
		mov	[rc4keytable+ebx],bl
		inc	ebx
		cmp	ebx,256
		jnz	@_r1
		
		mov	esi,ptrInkey
		xor	eax,eax
		xor	ebx,ebx		
		xor	ecx,ecx		
		xor	edi,edi		
@_r3:
		mov	al,[rc4keytable+ecx]
		add	bl,byte ptr [esi+edi]
		add	bl,al		
		mov	dl,[rc4keytable+ebx]
		mov	[rc4keytable+ecx],dl
		mov	[rc4keytable+ebx],al
		inc	edi
		cmp	edi,ptrInkey_length
		jl	@_r2
		xor	edi,edi
@_r2:
		inc	ecx
		cmp	ecx,256
		jnz	@_r3	
		ret
		
rc4_setkey	endp

rc4_crypt	proc	ptrIndata:DWORD, ptrIndata_length:DWORD

		xor	eax,eax
		xor	ebx,ebx
		xor	edi,edi
		xor	edx,edx
		mov	esi,ptrIndata
@_r1:	
		mov	cl,[rc4keytable+1+eax]	
		add	dl,cl
		mov	bl,[rc4keytable+edx]	
		mov	[rc4keytable+edx],cl
		add	bl,cl
		mov	bl,[rc4keytable+ebx]
		xor	[esi+edi],bl
		inc	eax
		inc	edi	
		cmp	ptrIndata_length,edi
		jnz	@_r1	
		ret
		
rc4_crypt	endp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -