Post by xcoder on Dec 10, 2020 22:16:27 GMT -5
print "##########################################"
dim K(4)
dim V(2)
print "Four 32 bit/4 byte keys"
k0 = K(0) '4 byte/32 bit keys. Total 16 bytes/128 bits
k1 = K(1)
k2 = K(2)
k3 = K(3)
'bit shifting variables
v0sL4 = shiftL(v0,4)
v1sL4 = shiftL(v1,4)
v0sR5 = shiftR(v0,5)
v1sR5 = shiftR(v1,5)
call keys
V(0) = 1500123123 '8 byte/64 bit block split into halves
V(1) = 3166673733
v0 = V(0): v1 = V(1)
print v0,v1
call Encrypt v0,v1
print:print
print "End of Code"
End
sub keys
randomize 0.22
for i = 0 to 3
x = int(rnd(1)* 2^32)
K(i) = x
print K(i)
next
print
end sub
function shiftL(b,n)
shiftL = (b *2^n) and 2^32-1
end function
function shiftR(b,n)
shiftR = int(b /2^n)
end function
sub Encrypt v0,v1
sum = 0 'set up; sum is zero
delta = 2654735769 'a key schedule constant
for i = 0 to 3 'basic cycle start rounds
sum = sum + delta
v0 = (v0 + (v1sL4)+ k0) xor (v1 + sum) xor (v1sR5 + k1)
v1 = (v1 + (v0sL4) + k2) xor (v0 + sum) xor (v0sR5 + k3)
print v0,v1
next
V(0) = v0: V(1) = v1
print ""
input "Press Enter to Decrypt >>";entry$
call Decrypt v0,v1
end sub
sub Decrypt v0,v1
sum = 10618943076 ' set up; sum is (rounds * delta) 'important ***********
delta = 2654735769 ' a key schedule constant
for i = 0 to 3 ' basic cycle start rounds
v1 = (v1 - (v0sL4) + k2) xor (v0 + sum) xor (v0sR5 + k3)
v0 = (v0 - (v1sL4) + k0) xor (v1 + sum) xor (v1sR5 + k3)
sum = sum - delta
print v0,v1
next
print v0,v1
V(0) = v0: V(1) = v1
end sub
dim K(4)
dim V(2)
print "Four 32 bit/4 byte keys"
k0 = K(0) '4 byte/32 bit keys. Total 16 bytes/128 bits
k1 = K(1)
k2 = K(2)
k3 = K(3)
'bit shifting variables
v0sL4 = shiftL(v0,4)
v1sL4 = shiftL(v1,4)
v0sR5 = shiftR(v0,5)
v1sR5 = shiftR(v1,5)
call keys
V(0) = 1500123123 '8 byte/64 bit block split into halves
V(1) = 3166673733
v0 = V(0): v1 = V(1)
print v0,v1
call Encrypt v0,v1
print:print
print "End of Code"
End
sub keys
randomize 0.22
for i = 0 to 3
x = int(rnd(1)* 2^32)
K(i) = x
print K(i)
next
end sub
function shiftL(b,n)
shiftL = (b *2^n) and 2^32-1
end function
function shiftR(b,n)
shiftR = int(b /2^n)
end function
sub Encrypt v0,v1
sum = 0 'set up; sum is zero
delta = 2654735769 'a key schedule constant
for i = 0 to 3 'basic cycle start rounds
sum = sum + delta
v0 = (v0 + (v1sL4)+ k0) xor (v1 + sum) xor (v1sR5 + k1)
v1 = (v1 + (v0sL4) + k2) xor (v0 + sum) xor (v0sR5 + k3)
print v0,v1
next
V(0) = v0: V(1) = v1
print ""
input "Press Enter to Decrypt >>";entry$
call Decrypt v0,v1
end sub
sub Decrypt v0,v1
sum = 10618943076 ' set up; sum is (rounds * delta) 'important ***********
delta = 2654735769 ' a key schedule constant
for i = 0 to 3 ' basic cycle start rounds
v1 = (v1 - (v0sL4) + k2) xor (v0 + sum) xor (v0sR5 + k3)
v0 = (v0 - (v1sL4) + k0) xor (v1 + sum) xor (v1sR5 + k3)
sum = sum - delta
print v0,v1
next
print v0,v1
V(0) = v0: V(1) = v1
end sub