Blowfish Encryption for Microgaming Projects
BF was invented in 1993 by Bruce Schneier, who shared it freely. It is a symmetric cipher which various fields use for data protection. Many test programs checked the safety of BF and proved its reliability (whole BF encryption is still unbroken yet).
As a public domain block cipher, it has a feature of fast and simple encrypting process that is perfect for Microgaming projects. This company uses only reliable cryptographic methods for its casino software and games.
Feistel Network – Transforming Method
A Feistel network is a special technique that can alter any function into a permutation. Such method is appropriate for a number of block key chains.
The features of FN include:
- 1. The capability of dealing with large blocks of information (64-bit).
- 2. Having a flexible lock code (32-256 bit).
- 3. Working with plain operations that are productive on microprocessors.
- 4. Applying subkeys (preliminary computed).
- 5. Consisting of several iteration rounds.
- 6. Having a simple design for understanding.
The mechanics of the FN work consists of following steps:
- Cutting each block into equal parts
- Right part = new left part
- New right part becomes the final output (after left one is XOR’d)
Each previous step still works even when ƒ is not invertible.
SubKeys and Their Generation
Blowfish in Microgaming needs numerous subkeys (the last ones require the preliminary calculation before data encoding).
To generate a subkey the next stages are necessary:
1. Applying a fixed string in a process of initializing the first P-array and 4 S-boxes.
2. XORing each P (1,2,3…) with every 32-bit part of the key (until all bits are used).
3. Encoding 0-strings with the BF methods using subkeys from point 1 and 2 above.
4. Substituting P1 and P2 with the result of the point 3.
5. Encoding the result of the previous step with BF algorithm with altered subkeys.
6. Substituting P3 and P4 with the result of the previous step.
Until the replacement of P entries and S-boxes the process should go on.
An encryption process in BF consists of 16 iterates. Let’s see how it works.
So, we have x as an input (size: 64 bits), that we can divide equally into 2 halves (xL and xR). After that, we have next lines:
xL= xL XOR π
xR = F(xL) XOR xR (continuing for every round, up to 16th)
Then xR substitutes xL and after the completion of 16th round these values are shifted again, XOR’ed, and recombined for the last time giving the encoded text.
This method is applicable mainly to big microprocessors with a big data storage place. The Blowfish algorithm design serves for the one main purpose, i.e. for providing a reliable security level. It makes the operation of breaking the code too much time consuming or nearly impossible. The chosen design for BF includes a big quantity of the lock code bits that don’t allow hackers to get the initial key chain by reducing the array length cutting each bit.
Blowfish Usage in Microgaming Practice
The interest of Microgaming in using such method as Blowfish is quite clear. There are a lot of advantages of this cryptographic algorithm. First of all, as it is in the open access with no patent protection of author rights, it can be applied by anyone, including big online gambling companies.
Other advantages of it: fast block cipher, easily understandable, but still almost unbreakable. Despite it requires initiating a lot of key-altering processes, this is not a big problem for implementing it in the security system of the online venturing casinos and its games.