Ruby as parallel assignments, which can be used in the Blowfish driver.
/Daniel
--- crypt.orig/blowfish.rb 2007-02-09 07:46:52.000000000 +0100
+++ crypt/blowfish.rb 2007-02-07 08:21:09.000000000 +0100
@@ -69,9 +69,9 @@
0.upto(15) { |i|
xl = (xl ^ @pArray[i]) % ULONG
xr = (xr ^ f(xl)) % ULONG
- xl, xr = [xl, xr].reverse
+ xl, xr = xr, xl
}
- xl, xr = [xl, xr].reverse
+ xl, xr = xr, xl
xr = (xr ^ @pArray[16]) % ULONG
xl = (xl ^ @pArray[17]) % ULONG
return([xl, xr])
@@ -82,9 +82,9 @@
17.downto(2) { |i|
xl = (xl ^ @pArray[i]) % ULONG
xr = (xr ^ f(xl)) % ULONG
- xl, xr = [xl, xr].reverse
+ xl, xr = xr, xl
}
- xl, xr = [xl, xr].reverse
+ xl, xr = xr, xl
xr = (xr ^ @pArray[1]) % ULONG
xl = (xl ^ @pArray[0]) % ULONG
return([xl, xr])
|