Blowfish Key Schedule Pseudocode:
1. Initialize arrays P and S with predefined constants.
2. Split the key into 32-bit blocks, K1 to Kn.
3. XOR each block of P with corresponding Ki (wrap around if key is shorter).
4. Set variables L and R to zero.
5. For i from 1 to 18:
– Encrypt (L, R) using current P and S
– Replace Pi with L and Pi+1 with R
6. For each entry in S-boxes:
– Encrypt (L, R) again
– Replace Si with L and Si+1 with R