description of my stream cipher

Anonymous nobody at REPLAY.COM
Tue Feb 17 19:04:31 PST 1998



Subject:      description of my stream cipher
From:         Jouni Vuorio <Jouni.Vuorio at vtoy.fi>
Date:         1998/02/17
Message-ID:   <34E9D794.371 at 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 at vtoy.fi             GSM 050-5456235
PahaeNTeistä soNTaa viNTiöt peNTteihin aseNTavat...








More information about the cypherpunks-legacy mailing list