Code archives/Algorithms/RC4 Komp. Algo.
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
Algorythmus | |||||
Dim sbox(255) Dim keyh(255) Global key$ Global rc4$ Global re$ Global ec$ Global clear$ Global rc4k Global rc4cryp Key$="TEST KEY" ; your key up to 255 bytes long clear$="SAFE YOUR DATA AND CODE WITH THE COOL RC4 ALGORYTMUS - (only private use, payment for commerzial) !" rc4init (key$) a$= rc4cryp$(clear$) Print a$ rc4init (key$) clear$= rc4enc$(a$) Print clear$ WaitKey() End Function rc4init(key$) ;__________________-- init sbox and keyh keylen = Len(key$) For i = 0 To 255 sbox(i) = i kptr =kptr+1 keyh(i) = Asc(Mid$(key$,kptr,1)) If kptr = keylen Then kptr = 0 Next For i = 0 To 255 j = (j+sbox(i)+keyh(i)) j= j Mod 256 swap = sbox(i) sbox(i) = sbox(j) sbox(j) = swap Next i = rc4k(1) End Function Function rc4k(init) ;__________________ Local x,y If initflag Then x=0 y=0 Else x =x+1 x =x Mod 256 y =y+(sbox(x)) y =y Mod 256 swap = sbox(x) sbox(x) = sbox(y) sbox(y) = swap t = sbox(x)+sbox(y) t =t Mod 256 rc4k =sbox(t) Return rc4k End If End Function Function rc4cryp$(s$) ;___________________ cryp slen = Len(s$) For r = 1 To slen c = Asc(Mid$(s$,r,1)) k = rc4k(0) re$=re$+(Chr$(c Xor k)) Next rc4$= re$ Return rc4$ End Function Function rc4enc$ (s$) ;__________________-- decryp strl= Len(s$) For x = 1 To strl c = Asc(Mid$(s$,x,1)) k = rc4k(0) r$= r$+Chr$(c Xor k) Next Return r$ End Function |
Comments
None.
Code Archives Forum