ASP DES encryption file

xiaoxiao2021-03-06  14

Option expedition

Redim Author: softjo, URL: http: //www.xinxiw.com, I want to be able to help everyone Public Function bit2byte (s) Dim s2Dim xDim i, kDim ilenilen = Len (s) Dim B () Dim s1 () Redim S1 (Ilen) Redim B (Ilen * 8) S2 = "" for i = 1 to Ilen x = MID (S, I, 1) S1 (i) = ASC (x)

IF S1 (i) AND & H80 THEN B (1 8 * (i - 1)) = 1 else b (1 8 * (i - 1)) = 0 end if

IF S1 (i) and & H40 THEN B (2 8 * (i - 1)) = 1 else b (2 8 * (i - 1)) = 0 END IF IF S1 (i) AND & H20 THEN B (3 8 * (i - 1)) = 1 else b (3 8 * (i - 1)) = 0 END IF

IF S1 (i) AND & H10 THEN B (4 8 * (i - 1)) = 1 ELSE B (4 8 * (i - 1)) = 0 END IF

IF S1 (i) and & h8 THEN B (5 8 * (i - 1)) = 1 else b (5 8 * (i - 1)) = 0 END IF IF S1 (i) AND & H4 THEN B (6 8 * (i - 1)) = 1 else b (6 8 * (i - 1)) = 0 END IF IF S1 (i) AND & H2 THEN B (7 8 * (i - 1)) = 1 ELSE B (7 8 * (i - 1)) = 0 END IF IF S1 (i) and "1" THEN B (8 8 * (i - 1)) = 1ELSE B (8 8 * (i - 1)) = 0 end if next

For K = 1 to Ilen * 8 S2 = S2 & B (K) IF K MOD 8 = 0 THEN S2 = S2 end if Nextbit 2byte = S2END FUNCTION

PUBLIC FUNCTION BYTE2BIT (S) DIM i, K, Ilendim by () DIM B () Ilen = LEN (S) Redim BY (ILEN) Redim B (Ilen / 8) for K = 1 To Ilen BY (K) = MID ( S, K, 1) Nextfor i = 1 to (ilen / 8) IF BY (1 8 * (i - 1)) = "1" THENB (I) = B (i) OR & H80ELSEB (i) = B ( I) And & H7f End IFIF BY (2 8 * (I - 1)) = "1" THEN B (I) = B (i) OR & H40 ELSE B (i) = B (i) AND HBFEND IF by 3 8 * (i - 1)) = "1" THEN B (i) = b (i) OR & H20 ELSE B (i) = b (i) AND HDFEND IF BY (4 8 * (i - 1 )) = "1" THEN B (i) = b (i) or & H10 else b (i) = b (i) AND hEF end if if by (5 8 * (i - 1)) = "1" THEN B (i) = b (i) or & h8 else b (i) = b (i) AND HF7END IF by (6 8 * (i - 1)) = "1" THEN B (I) = B (i ) OR & H4 ELSE B (I) = B (i) AND Hfbend if IF by (7 8 * (i - 1)) = "1" THEN B (I) = B (i) OR & H2 ELSE B (i) = B (i) AND & HFD End IFIF BY (8 8 * (i - 1)) = "1" THEN B (I) = B (i) or "1" ELSE B (i) = b (i) AND & Hfeend ifbyte2bit = byte2bit & chr (b (i)) NEXTEND FUNCTION

Public Function Byte2Hex (s) DIM I, K, Ilendim by (), S1, S3, S4 DIM B () = le (s) Redim BY (ILEN) Redim B (Ilen / 4) fork = 1 To Ilen By (k) = MID (S, K, 1) Nextfor i = 1 to ilen / 4b (i) = by (4 * i - 3) * 2 ^ 3 by (4 * i - 2) * 2 ^ 2 BY (4 * i - 1) * 2 ^ 1 by (4 * i) * 2 ^ 0S1 = S1 & HEX (B (i))

IF i mod 4 = 0 THENS1 = "& H" S1S3 = S3 & CSTR (HEX (S1)) S1 = ""

S3 = "& h" S3S4 = S4 CHR (S3) S3 = "" end ifnext

Byte2hex = byte2Hex & S4nd Function

PUBLIC FUNCTION HEX2BYTE (S) DIM S2 DIM X DIM I, K DIM S3 () DIM ILEN ILEN = LEN (S) DIM B () DIM S1 () Redim S1 (Ilen) Redim B (Ilen * 16) S2 = "" For i = 1 to Ilen x = MID (S, I, 1) S1 (i) = "& H" HEX (ASC (x)) IF S1 (i) and & h8000 THEN B (1 16 * (i - 1 )) = 1 else b (1 16 * (i - 1)) = 0 END IF IF S1 (i) AND & H4000 THEN B (2 16 * (i - 1)) = 1 else B (2 16 * (i - 1)) = 0 END IF IF S1 (i) AND H2000 THEN B (3 16 * (i - 1)) = 1 ELSE B (3 16 * (i - 1)) = 0 END IFIF S1 (i) And & H1000 THEN B (4 16 * (i - 1)) = 1 else B (4 16 * (i - 1)) = 0 END IFIF S1 (i) AND & H800 THEN B (5 16 * (i - 1)) = 1 else b (5 16 * (i - 1)) = 0 END IF IF S1 (i) AND & H400 THEN B (6 16 * (i - 1)) = 1 else b 6 16 * (i - 1)) = 0 END IF IF S1 (i) AND & H200 THEN B (7 16 * (i - 1)) = 1 ELSE B (7 16 * (i - 1)) = 0 END IF IF S1 (i) and & H100 THEN B (8 16 * (i - 1)) = 1 else B (8 16 * (i - 1)) = 0 END IF IF S1 (I) AND & H80 THEN B (9 16 * (i - 1)) = 1 else b (9 16 * (i - 1)) = 0 END IF IF S1 (i) AND & H40 THEN B (10 16 * (i - 1)) = 1 else b (10 16 * (i - 1)) = 0 END IF IF S1 (i) AND & H20 THEN B (11 16 * (i - 1)) = 1 else b (11 16 * (i - 1)) = 0 end IFIF S1 (i) and & H10 THEN B (12 16 * (i - 1)) = 1 else B (12 16 * (i - 1)) = 0 END IFIF S1 (i) AND & H8 THEN B (13 16 * (i - 1)) = 1 else b (13 16 * (i - 1)) =

0 END IF IF S1 (i) AND & H4 THEN B (14 16 * (i - 1)) = 1 else B (14 16 * (i - 1)) = 0 END IF E S1 (i) AND & H2 THEN B (15 16 * (i - 1)) = 1 else b (15 16 * (i - 1)) = 0 END IF IF S1 (i) AND "1" THEN B (16 16 * (i - 1)) = 1ELSE B (16 16 * (i - 1)) = 0 end if nextfor k = 1 to ion * 16 S2 = S2 & b (k) NextHex2byte = S2END FUNCTION

Public Function SBOX (a) DIM B (7), A1 (7), ROW (7), Col (7) DIM I, TEMP1 (7), TEMP2 (7), J, K DIM S (7, 3, 15 ) S (0, 0, 0) = 14: s (0, 0, 1) = 4: s (0, 0, 2) = 13: S (0, 0, 3) = 1: s (0, 0 , 4) = 2: S (0, 0, 5) = 15: S (0, 0, 6) = 11: S (0, 0, 7) = 8: S (0, 0, 8) = 3: S (0, 0, 9) = 10: S (0, 0, 10) = 6: S (0, 0, 11) = 12: S (0, 0, 12) = 5: S (0, 0, 13) = 9: S (0, 0, 14) = 0: S (0, 0, 15) = 7 S (0, 1, 0) = 0: S (0, 1, 1) = 15: s ( 0, 1, 2) = 7: S (0, 1, 3) = 4: S (0, 1, 4) = 14: S (0, 1, 5) = 2: S (0, 1, 6) = 13: S (0, 1, 7) = 1: S (0, 1, 8) = 10: S (0, 1, 9) = 6: S (0, 1, 10) = 12: s (0 , 1, 11) = 11: S (0, 1, 12) = 9: S (0, 1, 13) = 5: S (0, 1, 14) = 3: S (0, 1, 15) = 8 S (0, 2, 0) = 4: S (0, 2, 1) = 1: S (0, 2, 2) = 14: S (0, 2, 3) = 8: s (0, 2 4) = 13: S (0, 2, 5) = 6: S (0, 2, 6) = 2: S (0, 2, 7) = 11: S (0, 2, 8) = 15: s (0, 2, 9) = 12: s (0, 2, 10) = 9: S (0, 2, 11) = 7: S (0, 2, 12) = 3: S (0, 2, 13) = 10: S (0, 2, 14) = 5: s (0, 2, 15) = 0 s (0, 3, 0) = 15: S (0, 3, 1) = 12: s ( 0, 3, 2) = 8: S (0, 3, 3) = 2: s (0, 3, 4) = 4: S (0, 3, 5) = 9: S (0, 3, 6) = 1: S (0, 3, 7) = 7: S (0, 3, 8) = 5: s (0, 3, 9) = 11: s (0, 3, 10) = 3: s (0, 3, 11) = 14: S (0, 3, 12) = 10: S (0, 3, 13 = 0: S (0, 3, 14) = 6: S (0, 3, 15) = 13 S (1, 0, 0) = 15: S (1, 0, 1) = 1: s (1 , 0, 2) = 8: S (1, 0, 3) = 14: S (1, 0, 4) = 6: S (1, 0, 5) = 11: S (1, 0, 6) = 3: S (1, 0, 7) = 4: S (1, 0, 8) = 9: S (1, 0, 9) = 7: S (1, 0, 10) = 2: s (1, 0, 11) = 13: S (1, 0, 12) = 12: s (1, 0, 13) =

0: S (1, 0, 14) = 5: S (1, 0, 15) = 10 S (1, 1, 0) = 3: S (1, 1, 1) = 13: S (1, 1 2) = 4: S (1, 1, 3) = 7: S (1, 1, 4) = 15: S (1, 1, 5) = 2: S (1, 1, 6) = 8: S (1, 1, 7) = 14: S (1, 1, 8) = 12: S (1, 1, 9) = 0: S (1, 1, 10) = 1: s (1, 1, 11) = 10: S (1, 1, 12) = 6: S (1, 1, 13) = 9: S (1, 1, 14) = 11: S (1, 1, 15) = 5 s ( 1, 2, 0) = 0: S (1, 2, 1) = 14: S (1, 2) = 7: S (1, 2, 3) = 11: S (1, 2, 4) = 10: S (1, 2, 5) = 4: S (1, 2, 6) = 13: S (1, 2, 7) = 1: S (1, 2, 8) = 5: S (1 , 2, 9) = 8: S (1, 2, 10) = 12: S (1, 2, 11) = 6: S (1, 2, 12) = 9: S (1, 2, 13) = 3: S (1, 2, 14) = 2: S (1, 2, 15) = 15 S (1, 3, 0) = 13: S (1, 3, 1) = 8: s (1, 3 2) = 10: S (1, 3, 3) = 1: S (1, 3, 4) = 3: S (1, 3, 5) = 15: S (1, 3, 6) = 4: S (1, 3, 7) = 2: S (1, 3, 8) = 11: S (1, 3, 9) = 6: S (1, 3, 10) = 7: s (1, 3, 11) = 12: S (1, 3, 12) = 0: S (1, 3, 13) = 5: S (1, 3, 14) = 14: S (1, 3, 15) = 9 S ( 2, 0, 0) = 10: S (2, 0, 1) = 0: S (2, 0, 2) = 9: S (2, 0, 3) = 14: S (2, 0, 4) = 6: S (2, 0, 5) = 3: S (2, 0, 6) = 15: S (2, 0, 7) = 5: S (2, 0, 8) = 1: S (2 , 0, 9) = 13: S (2, 0, 10) = 12: S (2, 0, 11) = 7: S (2, 0, 12) = 11: S (2, 0, 13) = 4: S (2, 0, 14) = 2: S (2, 0, 15) = 8 S (2, 1, 0) = 13: S (2, 1, 1) = 7: S (2, 1 2) = 0: S (2, 1, 3) = 9: S (2, 1, 4) = 3: S (2, 1, 5) = 4: S (2, 1, 6) = 6: S (2, 1, 7) = 10: S (2, 1, 8) = 2: S (2, 1, 9) = 8: S (2, 1, 10) = 5: S (2, 1, 11) = 14: S (2, 1, 12) = 12: S (2, 1, 13) = 11: S (2, 1, 14) = 15: S (2, 1, 15) = 1 s ( 2, 2, 0) =

13: S (2, 2, 1) = 6: S (2, 2, 2) = 4: S (2, 2, 3) = 9: S (2, 2, 4) = 8: s (2, 2, 5) = 15: S (2, 2, 6) = 3: S (2, 2, 7) = 0: S (2, 2, 8) = 11: s (2, 2, 9) = 1 : S (2, 2, 10) = 2: S (2, 2, 11) = 12: S (2, 2, 12) = 5: S (2, 2, 13) = 10: S (2, 2 , 14) = 14: S (2, 2, 15) = 7 S (2, 3, 0) = 1: S (2, 3, 1) = 10: S (2, 3, 2) = 13: s (2, 3, 3) = 0: S (2, 3, 4) = 6: S (2, 3, 5) = 9: S (2, 3, 6) = 8: S (2, 3, 7) = 7: S (2, 3, 8) = 4: S (2, 3, 9) = 15: S (2, 3, 10) = 14: S (2, 3, 11) = 3: s ( 2, 3, 12) = 11: S (2, 3, 13) = 5: S (2, 3, 14) = 2: S (2, 3, 15) = 12 S (3, 0, 0) = 7: S (3, 0, 1) = 13: S (3, 0, 2) = 14: S (3, 0, 3) = 3: S (3, 0, 4) = 0: s (3, 0, 5) = 6: S (3, 0, 6) = 9: S (3, 0, 7) = 10: S (3, 0, 8) = 1: S (3, 0, 9) = 2 : S (3, 0, 10) = 8: S (3, 0, 11) = 5: S (3, 0, 12) = 11: S (3, 0, 13) = 12: s (3, 0 , 14) = 4: S (3, 0, 15) = 15 S (3, 1, 0) = 13: S (3, 1, 1) = 8: S (3, 1, 2) = 11: s (3, 1, 3) = 5: S (3, 1, 4) = 6: S (3, 1, 5) = 15: S (3, 1, 6) = 0: S (3, 1, 7) ) = 3: S (3, 1, 8) = 4: S (3, 1, 9) = 7: S (3, 1, 10) = 2: S (3, 1, 11) = 12: s ( 3, 1, 12) = 1: S (3, 1, 13) = 10: S (3, 1, 14) = 14: S (3, 1, 15) = 9 S (3, 2, 0) = 10: S (3, 2, 1) = 6: S (3, 2, 2) = 9: S (3, 2, 3) = 0: S (3, 2, 4) = 12: s (3, 2, 5) = 11: S (3, 2, 6) = 7: S (3, 2, 7) = 13: S (3, 2, 8) = 15: S (3, 2, 9) = 1: s (3, 2, 10) = 3: S (3, 2, 11) = 14: S (3, 2, 12) = 5: S (3, 2, 13) = 2: S (3, 2, 14) ) = 8: S (3, 2, 15) = 4 S (3, 3, 0) = 3: S (3, 3, 1) = 15: S (3, 3, 2) = 0: s (3 , 3, 3) = 6: S (3, 3, 4) =

10: S (3, 3, 5) = 1: S (3, 3, 6) = 13: S (3, 3, 7) = 8: S (3, 3, 8) = 9: s (3, 3, 9) = 4: S (3, 3, 10) = 5: S (3, 3, 11) = 11: S (3, 3, 12) = 12: S (3, 3, 13) = 7 : S (3, 3, 14) = 2: S (3, 3, 15) = 14 S (4, 0, 0) = 2: S (4, 0, 1) = 12: s (4, 0, 2) = 4: S (4, 0, 3) = 1: S (4, 0, 4) = 7: S (4, 0, 5) = 10: S (4, 0, 6) = 11: s (4, 0, 7) = 6: S (4, 0, 8) = 8: S (4, 0, 9) = 5: S (4, 0, 10) = 3: S (4, 0, 11 = 15: S (4, 0, 12) = 13: S (4, 0, 13) = 0: S (4, 0, 14) = 14: S (4, 0, 15) = 9 S (4 , 1, 0) = 14: S (4, 1, 1) = 11: S (4, 1, 2) = 2: S (4, 1, 3) = 12: S (4, 1, 4) = 4: S (4, 1, 5) = 7: S (4, 1, 6) = 13: S (4, 1, 7) = 1: S (4, 1, 8) = 5: S (4, 1, 9) = 0: S (4, 1, 10) = 15: S (4, 1, 11) = 10: S (4, 1, 12) = 3: S (4, 1, 13) = 9 : S (4, 1, 14) = 8: S (4, 1, 15) = 6 S (4, 2, 0) = 4: S (4, 3, 2) = 2: S (4, 2, 2) = 1: S (4, 2, 3) = 11: S (4, 2, 4) = 10: S (4, 2, 5) = 13: S (4, 2, 6) = 7: s (4, 2, 7) = 8: S (4, 2, 8) = 15: S (4, 2, 9) = 9: S (4, 2, 10) = 12: s (4, 2, 11 ) = 5: s (4, 2, 12) = 6: S (4, 2, 13) = 3: S (4, 2, 14) = 0: S (4, 2, 15) = 14 S (4, 3, 0) = 11: S (4, 3, 1) = 8: S (4, 3, 2) = 12: S (4, 3, 3) = 7: s (4, 3, 4) = 1: S (4, 3, 5) = 14: S (4, 3, 6) = 2: S (4, 3, 7) = 13: S (4, 3, 8) = 6: s (4, 3, 9) = 15: S (4, 3, 10) = 0: S (4, 3, 11) = 9: S (4, 3, 12) = 10: S (4, 3, 13) = 4: S (4, 3, 14) = 5: S (4, 3, 15) = 3 S (5, 0, 0) = 12: S (5, 0, 1) = 1: S (5 , 0, 2) = 10: S (5, 0, 3) = 15: S (5, 0, 4) = 9: S (5, 0, 5) = 2: S (5, 0, 6) = 6: S (5, 0, 7) =

8: S (5, 0, 8) = 0: S (5, 0, 9) = 13: S (5, 0, 10) = 3: S (5, 0, 11) = 4: s (5, 0, 12) = 14: S (5, 0, 13) = 7: S (5, 0, 14) = 5: S (5, 0, 15) = 11 S (5, 1, 0) = 10: S (5, 1, 1) = 15: S (5, 1, 2) = 4: S (5, 1, 3) = 2: S (5, 1, 4) = 7: s (5, 1, 5) = 12: S (5, 1, 6) = 9: S (5, 1, 7) = 5: S (5, 1, 8) = 6: S (5, 1, 9) = 1: s (5, 1, 10) = 13: S (5, 1, 11) = 14: S (5, 1, 12) = 0: S (5, 1, 13) = 11: S (5, 1, 14 ) = 3: S (5, 1, 15) = 8 S (5, 2, 0) = 9: S (5, 2, 1) = 14: S (5, 2, 2) = 15: s (5 , 2, 3) = 5: S (5, 2, 4) = 2: S (5, 2, 5) = 8: S (5, 2, 6) = 12: S (5, 2, 7) = 3: S (5, 2, 8) = 7: S (5, 2, 9) = 0: S (5, 2, 10) = 4: S (5, 2, 11) = 10: S (5, 2, 12) = 1: S (5, 2, 13) = 13: S (5, 2, 14) = 11: S (5, 2, 15) = 6 s (5, 3, 0) = 4: S (5, 3, 1) = 3: S (5, 3, 2) = 2: S (5, 3, 3) = 12: S (5, 3, 4) = 9: S (5, 3, 5) = 5: S (5, 3, 6) = 15: S (5, 3, 7) = 10: S (5, 3, 8) = 11: S (5, 3, 9) = 14: s (5, 3, 10) = 1: S (5, 3, 11) = 7: S (5, 3, 12) = 6: S (5, 3, 13) = 0: S (5, 3, 14) = 8: S (5, 3, 15) = 13 S (6, 0, 0) = 4: S (6, 0, 1) = 11: S (6, 0, 2) = 2: S (6, 0, 3) = 14: S (6, 0, 4) = 15: S (6, 0, 5) = 0: S (6, 0, 6) = 8: S (6, 0, 7) = 13: S (6, 0, 8) = 3: S (6, 0, 9) = 12: S (6, 0, 10) = 9: S (6, 0, 11) = 7: S (6, 0, 12) = 5: S (6, 0, 13) = 10: S (6, 0, 14) = 6: S (6, 0, 15) = 1 S (6, 1, 0) = 13: S (6, 1, 1) = 0: S (6, 1, 2) = 11: S (6, 1, 3) = 7: S (6, 1, 4) = 4: s (6 , 1, 5) = 9: S (6, 1, 6) = 1: S (6, 1, 7) = 10: S (6, 1, 8) = 14: S (6, 1, 9) = 3: S (6, 1, 10) =

5: S (6, 1, 11) = 12: S (6, 1, 12) = 2: S (6, 1, 13) = 15: S (6, 1, 14) = 8: s (6, 1, 15) = 6 S (6, 2, 0) = 1: S (6, 2, 1) = 4: S (6, 2, 2) = 11: S (6, 2, 3) = 13: S (6, 2, 4) = 12: S (6, 2, 5) = 3: S (6, 2, 6) = 7: S (6, 2, 7) = 14: S (6, 2, 8) = 10: S (6, 2, 9) = 15: S (6, 2, 10) = 6: S (6, 2, 11) = 8: S (6, 2, 12) = 0: S (6, 2, 13) = 5: S (6, 2, 14) = 9: S (6, 2, 15) = 2 S (6, 3, 0) = 6: S (6, 3, 1) = 11: S (6, 3, 2) = 13: S (6, 3, 3) = 8: S (6, 3, 4) = 1: S (6, 3, 5) = 4: S (6 , 3, 6) = 10: S (6, 3, 7) = 7: S (6, 3, 8) = 9: S (6, 3, 9) = 5: S (6, 3, 10) = 0: S (6, 3, 11) = 15: S (6, 3, 12) = 14: S (6, 3, 13) = 2: S (6, 3, 14) = 3: s (6, 3, 15) = 12 s (7, 0, 0) = 13: S (7, 0, 1) = 2: S (7, 0, 2) = 8: S (7, 0, 3) = 4: S (7, 0, 4) = 6: S (7, 0, 5) = 15: S (7, 0, 6) = 11: S (7, 0, 7) = 1: S (7, 0, 8) = 10: S (7, 0, 9) = 9: S (7, 0, 10) = 3: S (7, 0, 11) = 14: S (7, 0, 12) = 5: s (7, 0, 13) = 0: S (7, 0, 14) = 12: S (7, 0, 15) = 7 S (7, 1, 0) = 1: S (7, 1, 1) = 15: S (7, 1, 2) = 13: S (7, 1, 3) = 8: S (7, 1, 4) = 10: S (7, 1, 5) = 3: S (7, 1, 6) = 7: S (7, 1, 7) = 4: S (7, 1, 8) = 12: S (7, 1, 9) = 5: S (7, 1, 10) = 6: S (7, 1, 11) = 11: S (7, 1, 12) = 0: S (7, 1, 13) = 14: S (7, 1, 14) = 9: s (7, 1, 15) = 2 S (7, 2, 0) = 7: S (7, 2, 1) = 11: S (7, 2, 2) = 4: S (7, 2, 3) = 1: S (7, 2, 4) = 9: S (7, 2, 5) = 12: S (7, 2, 6) = 14: S (7, 2, 7) = 2: S (7 , 2, 8) = 0: S (7, 2, 9) = 6: S (7, 2, 10) = 10: S (7, 2, 11) = 13: S (7, 2, 12) = 15: S (7, 2, 13) =

3: S (7, 2, 14) = 5: S (7, 2, 15) = 8 S (7, 3, 0) = 2: S (7, 3, 1) = 1: s (7, 3 , 2) = 14: S (7, 3, 3) = 7: S (7, 3, 4) = 4: S (7, 3, 5) = 10: S (7, 3, 6) = 8: S (7, 3, 7) = 13: S (7, 3, 8) = 15: S (7, 3, 9) = 12: S (7, 3, 10) = 9: S (7, 3, 11) = 0: S (7, 3, 12) = 3: S (7, 3, 13) = 5: S (7, 3, 14) = 6: S (7, 3, 15) = 11 for i = 0 to 7 col (I) = 0: ROW (i) = 0 Next fork = 0 to 7 a1 (k) = MID (A, 6 * K 1, 6) TEMP1 (K) = MID (A1 (A1) K), 1, 1) & MID (A1 (k), 6, 1) TEMP2 (K) = MID (A1 (K), 2, 4) ROW (K) = (CINT (MID (Temp1 (K), 1, 1))) * 2 CINT ((MID (Temp1 (k), 2, 1)))) COL (K) = CINT (MID (Temp2 (k), 1, 1)) * 2 ^ 3 CINT (MID (Temp2 (k), 2, 1)) * 2 ^ 2 CINT (MID (Temp2 (k), 3, 1)) * 2 ^ 1 CINT (MID (Temp2 (K), 4, 1) * 2 ^ 0 col (k) Next for i = 0 to 7 b (i) = s (i, row (i), col (I)) IF b (i) and & h8 Then Sbox = SBOX & 1 ELSE SBOX = SBOX & 0 END IF B (i) and & H4 Then Sbox = SBOX & 1 Else Sbox = SBOX & 0 End IF B (i) And & H2 Then Sbox = SBOX & 1 Else Sbox = SBOX & 0 END IF iF B (i) And & H1 Then Sbox = SBOX & 1 Else Sbox = SBOX & 0 End If Next DEXTEND FUNCTION

Public Function SK (S) DIM S1: DIM LS (16): DIM PC_2 (48): DIM PC_1 (56), S2_BYTE1 (56) DIM I, C (28), D (28), S2 (64), J , S2_Byte (56), K, TEMP DIM M_bit (64) LS (1) = 1: LS (2) = 1: Ls (3) = 2: LS (4) = 2: LS (5) = 2: LS (6) = 2: LS (7) = 2: LS (8) = 2: Ls (9) = 1: Ls (10) = 2: LS (11) = 2: Ls (12) = 2: LS ( 13) = 2: LS (14) = 2: LS (15) = 2: LS (16) = 1 pc_2 (1) = 14: PC_2 (2) = 17: PC_2 (3) = 11: PC_2 (4) = 24: PC_2 (5) = 1: PC_2 (6) = 5 PC_2 (7) = 3: PC_2 (8) = 28: PC_2 (9) = 15: PC_2 (10) = 6: PC_2 (11) = 21 : PC_2 (12) = 10 PC_2 (13) = 23: PC_2 (14) = 19: PC_2 (15) = 12: PC_2 (16) = 4: PC_2 (17) = 26: PC_2 (18) = 8 PC_2 ( 19) = 16: PC_2 (20) = 7: PC_2 (21) = 27: PC_2 (22) = 20: PC_2 (23) = 13: PC_2 (24) = 2 PC_2 (25) = 41: PC_2 (26) = 52: PC_2 (27) = 31: PC_2 (28) = 37: PC_2 (29) = 47: PC_2 (30) = 55 PC_2 (31) = 30: PC_2 (32) = 40: PC_2 (33) = 51 : PC_2 (34) = 45: PC_2 (35) = 33: PC_2 (36) = 48 PC_2 (37) = 44: PC_2 (38) = 49: PC_2 (39) = 39: PC_2 (40) = 56: PC_2 (41) = 34: PC_2 (42) = 53 pc_2 (43) = 46: PC_2 (44 ) = 42: PC_2 (45) = 50: PC_2 (46) = 36: PC_2 (47) = 29: PC_2 (48) = 32 PC_1 (1) = 57: PC_1 (2) = 49: PC_1 (3) = 41: PC_1 (4) = 33: PC_1 (5) = 25: PC_1 (6) = 17: PC_1 (7) = 9 pc_1 (8) = 1: PC_1 (9) = 58: PC_1 (10) = 50: PC_1 (11) = 42: PC_1 (12) = 34: PC_1 (13) = 26: PC_1 (14) = 18 PC_1 (15) = 10: PC_1 (16) = 2: PC_1 (17) = 59: PC_1 18) = 51: PC_1 (19) = 43: PC_1 (20) = 35: PC_1 (21) = 27 pc_1 (22) =

19: PC_1 (23) = 11: PC_1 (24) = 3: PC_1 (25) = 60: PC_1 (26) = 52: PC_1 (27) = 44: PC_1 (28) = 36 PC_1 (29) = 63: PC_1 (30) = 55: PC_1 (31) = 47: PC_1 (32) = 39: PC_1 (33) = 31: PC_1 (34) = 23: PC_1 (35) = 15 PC_1 (36) = 7: PC_1 ( 37) = 62: PC_1 (38) = 54: PC_1 (39) = 46: PC_1 (40) = 38: PC_1 (41) = 30: PC_1 (42) = 22 PC_1 (43) = 14: PC_1 (44) = 6: PC_1 (45) = 61: PC_1 (46) = 53: PC_1 (47) = 45: PC_1 (48) = 37: PC_1 (49) = 29 PC_1 (50) = 21: PC_1 (51) = 13 : PC_1 (52) = 5: PC_1 (53) = 28: PC_1 (54) = 20: PC_1 (55) = 12: PC_1 (56) = 4S1 = Bit2byte (s) for i = 1 to 64 S2 (I) = CINT (MID (S1, I, 1)) NEXTFOR I = 1 to 56 S2_BYTE (I) = S2 (PC_1 (I)) Nextfor I = 1 to 28 c (i) = S2_Byte (I) D (i) = S2_BYTE (i 28) Next for i = 1 to 16 for j = 1 to LS (i) Temp = c (1) for K = 1 to 27 c (k) = c (k 1) Next C (28) = TEMP TEMP = D (1) for K = 1 to 27 d (k) = d (k 1) Next D (28) = Temp next fork = 1 to 28 s2_byte1 (k) = c (k) s2_byte1 ( K 28) = d (k) Next fork = 1 to 48 SK = SK & S2_BYTE1 (PC_2 (K)) Next Nextend FunctionDim ENS, DESTRENS = Encrypt ("ղ", "12345678") MSGBOX (ENS) DESTR = Decrypt (ENS, "12345678") MSGBox (deStr) public function encrypt ( S, Key) DIM IP (64), E (48), S1 (64), S2 (16), S10 (64), M_ByTe1 (64), Key1 DIM I, J, L (17, 32), R ( 17, 32), ER (48), M_Byte (64), S_B DIM K (16, 48), A, BS, B (32), P (32), X (32), IP_1 (64) DIM ILEN P (1) = 16: P (2) = 7: p (3) = 20: p (4) = 21: p (5) =

29: P (6) = 12: P (7) = 28: p (8) = 17 p (9) = 1: p (10) = 15: P (11) = 23: p (12) = 26: p (13) = 5: p (14) = 18: p (15) = 31: p (16) = 10 p (17) = 2: p (18) = 8: p (19) = 24: p ( 20) = 14: P (21) = 32: p (22) = 27: p (23) = 3: P (24) = 9 p (25) = 19: P (26) = 13: P (27) = 30: P (28) = 6: p (29) = 22: p (30) = 11: p (31) = 4: p (32) = 25 ip_1 (1) = 40: IP_1 (2) = 8 : IP_1 (3) = 48: IP_1 (4) = 16: IP_1 (5) = 56: IP_1 (6) = 24: IP_1 (7) = 64: IP_1 (8) = 32 IP_1 (9) = 39: IP_1 (10) = 7: IP_1 (11) = 47: IP_1 (12) = 15: IP_1 (13) = 55: IP_1 (14) = 23: IP_1 (15) = 63: IP_1 (16) = 31 IP_1 (17) = 38: IP_1 (18) = 6: IP_1 (19) = 46: IP_1 (20) = 14: IP_1 (21) = 54: IP_1 (22) = 22: IP_1 (23) = 62: IP_1 (24) = 30 IP_1 (25) = 37: IP_1 (26) = 5: IP_1 (27) = 45: IP_1 (28) = 13: IP_1 (29) = 53: IP_1 (30) = 21: IP_1 (31) = 61 : IP_1 (32) = 29 ip_1 (33) = 36: IP_1 (34) = 4: IP_1 (35) = 44: IP_1 (36) = 12: IP_1 (37) = 52: IP_1 (38) = 20: IP_1 (39) = 60: IP_1 (40) = 28 ip_1 (41) = 35: IP_1 (42) = 3: IP_1 (43) = 43: IP_1 (44) = 11: IP_1 (45) = 51: IP_1 (4 6) = 19: IP_1 (47) = 59: IP_1 (48) = 27 IP_1 (49) = 34: IP_1 (50) = 2: IP_1 (51) = 42: IP_1 (52) = 10: IP_1 (53) = 50: IP_1 (54) = 18: IP_1 (55) = 58: IP_1 (56) = 26 ip_1 (57) = 33: IP_1 (58) = 1: IP_1 (59) = 41: IP_1 (60) = 9 : IP_1 (61) = 49: IP_1 (62) = 17: IP_1 (63) = 57: IP_1 (64) = 25 IP (1) = 58: IP (2) = 50: IP (3) = 42: IP (4) = 34: IP (5) = 26: IP (6) =

18: IP (7) = 10: IP (8) = 2 IP (9) = 60: IP (10) = 52: IP (11) = 44: IP (12) = 36: IP (13) = 28: IP (14) = 20: IP (15) = 12: IP (16) = 4 IP (17) = 62: IP (18) = 54: IP (19) = 46: IP (20) = 38: IP ( 21) = 30: IP (22) = 22: IP (23) = 14: IP (24) = 6 IP (25) = 64: IP (26) = 56: IP (27) = 48: IP (28) = 40: IP (29) = 32: IP (30) = 24: IP (31) = 16: IP (32) = 8 IP (33) = 57: IP (34) = 49: IP (35) = 41 : IP (36) = 33: IP (37) = 25: IP (38) = 17: IP (39) = 9: IP (40) = 1 IP (41) = 59: IP (42) = 51: IP (43) = 43: IP (44) = 35: IP (45) = 27: IP (46) = 19: IP (47) = 11: IP (48) = 3 IP (49) = 61: IP (50 ) = 53: IP (51) = 45: IP (52) = 37: IP (53) = 29: IP (54) = 21: IP (55) = 13: IP (56) = 5 IP (57) = 63: IP (58) = 55: IP (59) = 47: IP (60) = 39: IP (61) = 31: IP (62) = 23: IP (63) = 15: IP (64) = 7 e (1) = 32: E (2) = 1: e (3) = 2: E (4) = 3: E (5) = 4: E (6) = 5 E (7) = 4: E 8) = 5: E (9) = 6: E (10) = 7: E (11) = 8: E (12) = 9 E (13) = 8: E (14) = 9: E (15) = 10: E (16) = 11: E (17) = 12: E (18) = 13 E (19) = 12: E (20) = 13: E (21) = 14: E ( 22) = 15: E (23) = 16: E (24) = 17 E (25) = 16: E (26) = 17: E (27) = 18: E (28) = 19: E (29) = 20: E (30) = 21 E (31) = 20: E (32) = 21: E (33) = 22: E (34) = 23: E (35) = 24: E (36) = 25 e (37) = 24: E (38) = 25: E (39) = 26: E (40) = 27: E (41) = 28: E (42) = 29 E (43) = 28: E 44) = 29: E (45) = 30: E (46) = 31: E (47) = 32: E (48) =

31 Key1 = SK (Key) for i = 1 to 16 S2 (I) = MID (KEY1, 48 * I - 47, 48) Next for i = 1 to 16 for J = 1 to 48 k (i, j) = CINT (MID (S2 (I), J, 1)) NEXT NEXT S_B = HEX2BYTE (S) Ilen = LEN (S_B) 'MSGBox S_B & "-" & Ilen for i = 1 To Ilen-1 S1 (i) = CINT MID (S_B, I, 1)) 'MSGBOX (S1 (I) & "---" & I) Next for i = 1 to 64 S10 (i) = S1 (IP (i)) Next for i = 1 to 32 L (1, i) = S10 (i) R (1, i) = S10 (i 32) Next for j = 1 to 16 a = "" for i = 1 to 48 ER (i) = R (J, e (i)) Next for i = 1 to 48 a = a & (ER (i) xor k (j, i)) Next BS = SBOX (a) for i = 1 to 32 b (i) = CINT (MID) (BS, I, 1)) Next for i = 1 to 32 x (i) = b (p (i)) Next for i = 1 to 32 r (J 1, I) = L (j, i) xor X (i) L (J 1, I) = R (J, I) Next Next for i = 1 to 32 m_byte (i) = L (17, i) m_byte (i 32) = R (17, i Next for i = 1 to 64 m_byte1 (i) = m_byte (ip_1 (i)) encrypt = encrypt & m_byte1 (i) Next End Function

Public Function Decrypt (SM, Key) DIM P (32), IP_1 (64), IP (64), E (48), S10 (64), ER (48) DIM J, KEY1, S2 (16), K ( 16, 48), S1 (64), L (17, 32), R (17, 32) DIM I, A, BS, B (32), X (32), E_BYTE (64), E_BYTE1 (64) DIM Ilen P (1) = 16: P (2) = 7: P (3) = 20: p (4) = 21: P (5) = 29: P (6) = 12: P (7) = 28: p (8) = 17 p (9) = 1: p (10) = 15: p (11) = 23: P (12) = 26: p (13) = 5: P (14) = 18: P ( 15) = 31: p (16) = 10 p (17) = 2: p (18) = 8: p (19) = 24: p (20) = 14: P (21) = 32: P (22) = 27: P (23) = 3: p (24) = 9 p (25) = 19: p (26) = 13: p (27) = 30: P (28) = 6: P (29) = 22 : p (30) = 11: p (31) = 4: p (32) = 25 ip_1 (1) = 40: IP_1 (2) = 8: IP_1 (3) = 48: IP_1 (4) = 16: IP_1 (5) = 56: IP_1 (6) = 24: IP_1 (7) = 64: IP_1 (8) = 32 IP_1 (9) = 39: IP_1 (10) = 7: IP_1 (11) = 47: IP_1 (12 ) = 15: IP_1 (13) = 55: IP_1 (14) = 23: IP_1 (15) = 63: IP_1 (16) = 31 IP_1 (17) = 38: IP_1 (18) = 6: IP_1 (19) = 46: IP_1 (20) = 14: IP_1 (21) = 54: IP_1 (22) = 22: IP_1 (23) = 62: IP_1 (24) = 30 IP_1 (25) = 37: IP_1 (26) = 5: IP_1 (27) = 45 : IP_1 (28) = 13: IP_1 (29) = 53: IP_1 (30) = 21: IP_1 (31) = 61: IP_1 (32) = 29 IP_1 (33) = 36: IP_1 (34) = 4: IP_1 (35) = 44: IP_1 (36) = 12: IP_1 (37) = 52: IP_1 (38) = 20: IP_1 (39) = 60: IP_1 (40) = 28 ip_1 (41) = 35: IP_1 (42 ) = 3: IP_1 (43) = 43: IP_1 (44) = 11: IP_1 (45) = 19: IP_1 (47) = 59: IP_1 (48) = 27 ip_1 (49) = 34: IP_1 (50) = 2: IP_1 (51) = 42: IP_1 (52) = 10: IP_1 (53) = 50: IP_1 (54) =

18: IP_1 (55) = 58: IP_1 (56) = 26 ip_1 (57) = 33: IP_1 (58) = 1: IP_1 (59) = 41: IP_1 (60) = 9: IP_1 (61) = 49: IP_1 (62) = 17: IP_1 (63) = 57: IP_1 (64) = 25 IP (1) = 58: IP (2) = 50: IP (3) = 42: IP (4) = 34: IP ( 5) = 26: IP (6) = 18: IP (7) = 10: IP (8) = 2 ip (9) = 60: IP (10) = 52: IP (11) = 44: IP (12) = 36: IP (13) = 28: IP (14) = 20: IP (15) = 12: IP (16) = 4 IP (17) = 62: IP (18) = 54: IP (19) = 46 : IP (20) = 38: IP (21) = 30: IP (22) = 22: IP (23) = 14: IP (24) = 6 IP (25) = 64: IP (26) = 56: IP (27) = 48: IP (28) = 40: IP (29) = 32: IP (30) = 24: IP (31) = 16: IP (32) = 8 IP (33) = 57: IP (34 = 49: IP (35) = 41: IP (36) = 33: IP (37) = 25: IP (38) = 17: IP (39) = 9: IP (40) = 1 IP (41) = 59: IP (42) = 51: IP (43) = 43: IP (44) = 35: IP (45) = 27: IP (46) = 19: IP (47) = 11: IP (48) = 3 IP (49) = 61: IP (50) = 53: IP (51) = 45: IP (52) = 37: IP (53) = 29: IP (54) = 21: IP (55) = 13: IP (56) = 5 IP (57) = 63: IP (58) = 55: IP (59) = 47: IP (60) = 39: IP (61) = 31: IP (62) = 23: IP (63 = 15: IP (64) = 7 E (1) = 32: E (2 ) = 1: e (3) = 2: e (4) = 3: E (5) = 4: E (6) = 5 E (7) = 4: E (8) = 5: E (9) = 6: E (10) = 7: E (11) = 8: E (12) = 9 E (13) = 8: E (14) = 9: E (15) = 10: E (16) = 11: e (17) = 12: E (18) = 13 E (19) = 12: E (20) = 13: E (21) = 14: E (22) = 15: E (23) = 16: E 24) = 17 E (25) = 16: E (26) = 17: E (27) = 18: E (28) = 19: E (29) = 20: E (30) =

转载请注明原文地址:https://www.9cbs.com/read-46526.html

New Post(0)