description of my stream cipher
Subject: description of my stream cipher From: Jouni Vuorio <Jouni.Vuorio@vtoy.fi> Date: 1998/02/17 Message-ID: <34E9D794.371@vtoy.fi> Newsgroups: sci.crypt [Subscribe to sci.crypt] [More Headers] Here is description of my stream cipher, it operates one byte at time, instead of one bit at time. itŽs key length is up to 255 bytes (2040 bits) im sure that there are no need for longer description, becourse that vb source code explanes details. only thing that could be difficult to understund is Asc(Mid(Text2, R2 - 1, 1)) that simppely means that take asci value from text (in this case string text2) starting from R2 - 1 and length of 1. i think that everyone understunds the rest. VB source code: Initializing the substitution-box On Error Resume Next D = Len(Key) R = 1 For R2 = 1 To 256 H1 = Asc(Mid(Text2, R2 - 1, 1)) K1 = Asc(Mid(Text2, R, 1)) K2 = Asc(Mid(Text2, D Mod Len(Text2), 1)) K3 = Asc(Mid(Text2, D * R Mod Len(Text2), 1)) K4 = Asc(Mid(Text2, R + D Mod Len(Text2), 1)) R1 = ((R1 + R2 + K + 1) Xor (R1 * R2 + 1)) Mod 256 R3 = ((R3 + R1 + 1) + R2 + (R1 * K + 1 Mod (R3 + R1 + 1))) Mod 256 R4 = (R4 + R3 + R1 + 1) ^ 2 Mod 256 R = R + 1 If (R - 1) = Len(Text2) Then R = 1 C = (C + (H1 + K1 + K2 + K3 + K4 + D + R1 + R3 + R4) Mod 256) Mod 256 C = C Mod 256 SBox = SBox & Chr(C Mod 255 + 1) Next On Error Resume Next Key = Text2 texti = Text1 Text1 = "" R = 1 S1 = Len(Key) S2 = 11 For R2 = 1 To Len(texti) C = Asc(Mid(texti, R2, 1)) - 1 K = (K + Asc(Mid(Key, R2 Mod Len(Key), 1))) Mod 256 K = (K + Asc(Mid(SBox, (((K * R2 Mod 256) - 255) * -1) Mod 257, 1))) Mod 256 R1 = ((R1 + R2 + K) Xor (R1 * R2)) Mod 256 R3 = ((R3 + R1) + R2 + (R1 * K Mod (R3 + R1))) Mod 256 R4 = (R4 + R3 + R1) ^ 2 Mod 256 F1 = (F1 + (Asc(Mid(SBox, R1 Mod 256, 1)) Mod 256) Mod 256) F2 = (F2 + (Asc(Mid(SBox, R2 Mod 256, 1)) Mod 256) Mod 256) F3 = (F3 + (Asc(Mid(SBox, R3 Mod 256, 1)) Mod 256) Mod 256) F4 = (F4 + (Asc(Mid(SBox, R4 Mod 256, 1)) Mod 256) Mod 256) F5 = (F5 + (Asc(Mid(SBox, K Mod 256, 1)) Mod 256) Mod 256) temp = F1 + F2 + F3 + F4 + F5 + M Mod 256 F = (F + (Asc(Mid(SBox, temp, 1)) Mod 256) Mod 256) M = M + 1 If M = 2 Then M = 0 If M = 0 Then C = C Xor ((F + K) Mod 256) If M = 1 Then C = C Xor ((((F + K) Mod 256) - 255) * -1) C = (C Mod 256) + 1 Mid(texti, R2, 1) = Chr(C) Next Text1 = texti -- Jouni.vuorio@vtoy.fi GSM 050-5456235 PahaeNTeistä soNTaa viNTiöt peNTteihin aseNTavat...
participants (1)
-
nobody@REPLAY.COM