On the Subject of Trying To Explain How To Solve OmegaDestroyer

Please help me why am I having to do this

This module contains two status lights, a large two-digit number display in between them, a timer below the display that counts up every two seconds, and ten hexagonal buttons labeled 0–9.

If the hexagonal buttons are coloured, the displays replaced by a non-pressable cube, or the status lights are coloured, you are looking at OmegaForget.

An 8-digit password, made up of the digits 0–9, is required to be entered. Extreme measures have been taken to secure this password.

To block any and all unauthorised access, this password changes every two seconds.

When the module is initialised or reset, the timer will display 210, at which point none of the buttons can be pressed. The module’s displays will display Rv, but the digits will be scrambled.

Section 1: Basic Functionality

The timer, from now on referred to as t, increments by 1 every two seconds, which changes Rv. As soon as t changes from 1899 to 1900, the module will fully reset. This takes approximately 56.3 minutes.

The top-left display can be pressed to mute/unmute the module, indicated by the presence of a cyan backlight on the button. The bottom-left display can be pressed to pause the display at the current t value. Note that t itself will not stop updating, and the numbers will be shown in blue while the displays are paused, and will immediately update upon the displays being unpaused. The top-right display can be pressed to submit the current inputted number, shown in magenta. The bottom-right display can be pressed to clear the input, reset the module, or activate MWYTH (the module’s hard mode).

Holding TL for 3–10 seconds, then pressing BR will fully reset the module. Holding TL for more than 10 seconds, then pressing BR will activate the module’s hard mode. Do not do this unless you are prepared.

Section 2: Getting values

Section 2.1: Getting α, β, ω

  1. To start, obtain the numbers shown at 215, 220, 225, and 230 as t, which will now be labeled as a, b, c, and d respectively.
  2. Obtain x = (b - a) % 100000000, y = (c - b) % 100000000, and z = (d - c) % 100000000.
  3. Obtain i = (y - x) % 100000000, and j = (z - y) % 100000000.
  4. If i ≠ j, split the numbers into pairs, and try swapping the digits within those pairs until i = j. Note that at least one pair of digits will be swapped, however there will not be a case where all four pairs are swapped.
  5. Once that is achieved, α = i / 50 = j / 50. Set a, b, c, and d to their unswapped equivalents.
  6. Obtain m = (a - α*215^2) % 100000000, and n = (b - α*220^2) % 100000000
  7. Then, β = ((n - m) % 100000000) / 5.
  8. At this point, ω = (m - β*215) % 100000000.

Section 2.2: Getting the KYBER value, k

  1. Once you have set up the α, β, and ω ciphers, using their corresponding values, it is time to get a k that will last long enough for you to solve the module. Check the current time displayed on the timer below the large two-digit display.
  2. Calculate Rv for when t = ((the next multiple of 210) + 1). Split it into pairs, and make sure each pair does not have two of the same digit. If this happens, repeatedly add 1 to t until all pairs of Rv have two different digits within them.
    • Rv = (αt2 + βt + ω) % 100000000
  3. Pause the displays when that t value is reached on the module, and compare your Rv pairs with the paused displays.
  4. Set up four digits of binary, each originally being 0.
  5. For each display on the module that has its pairs swapped when comparing to your corresponding pair, change the corresponding binary position to 1.
  6. Convert this number from binary to decimal, and add it to (the top-most two-digit display * 16). This is your k value.

Section 3: Security Enciphering

Section 3.1: Determining submission time:

It is recommended to do this step after preparing your α, β, and ω ciphers.

After you have obtained a k that you think will last long enough, split it into its prime factors, along with a single 1. Take the sum of these numbers, then modulo 10, and call it r. t % 10 must match r, or the module will strike upon submission.

  • Example: 1349 splits into 1 × 19 × 71, (1 + 19 + 71) % 10 = 1, so r = 1

Section 3.2: α cipher (Autokey Inverse)

Use α as the start of the key. The rest of the key will have to be procedurally generated, as it is equal to the output of this cipher.

Take the first digits of α, put them under the first digits of Rv, lining them up in columns. For each column where the key digit is known, add the corresponding digit of Rv to the corresponding digit of the key, and take it modulo 10. It is the output of this cipher.

Once an output digit is calculated, append it to the key digits to allow more digits to be ciphered, eventually leading to all 8 digits of Rv being ciphered. This is the end of this cipher.

Section 3.3: β cipher (3×3 Bifid)

Make a sequence of digits 1–8 in order, followed by either 0 if k < 1000, or 9 otherwise. This will be known as f. Take β, and remove all but the first occurrence of any duplicates. Then, take f and remove any digit present in β, then append it to β and take the first 9 digits to obtain your grid key. Fill the cells in the 3×3 grid with each digit of this grid key. Label the columns and rows of this table with digits 0–2.

Take each digit of the current Rv, in order, and find them in the cipher grid. Note down its column and row, in order. However, if the only digit not present in the table appears, use 0 as both its column and row.

Concatenate these digits into a single string of 16 digits, and split it into 4 rows with 4 digits each. Read these digits column by column, from top to bottom, then left to right, and treat it as 8 new positions. Find the digits in the grid in the corresponding positions and concatenate them to get your new Rv.

Section 3.4: ω cipher (Enigma)

Split ω into four parts, as follows:

  • The first digit and (the first digit - 1) are connected via plugboard.
  • The next digit signifies the reflector used. Reflectors use the same layouts as the rotors, but vertically flipped and with the asterisk removed.
  • The next three digits signify the rotors from bottom to top. However, if at any point you are attempting to add a layout that is the same as a previously used layout, including the reflector, instead use the lowest unused layout.
  • The last three digits signify the alignments of each rotor, from bottom to top.

The top-most row of the layout, before the plugboard swap, is the digits 0–9, in order.

After the layout has been set up, follow this procedure to encrypt each digit of the current Rv:

  1. Find the digit in the top-most row of the layout.
  2. Go straight down to the top row of the top rotor to receive a new digit.
  3. Find this digit in the bottom row of the top rotor, and go straight down to the top row of the middle rotor to receive a new digit.
  4. Find this digit in the bottom row of the middle rotor, and go straight down to the top row of the bottom rotor to receive a new digit.
  5. Find this digit in the bottom row of the bottom rotor, and go straight down to the bottom row of the reflector, skipping its top row, to receive a new digit.
  6. Find this digit in the top row of the reflector, and go straight up to the bottom row of the bottom rotor to receive a new digit.
  7. Find this digit in the top row of the bottom rotor, and go straight up to the bottom row of the middle rotor to receive a new digit.
  8. Find this digit in the top row of the middle rotor, and go straight up to the bottom row of the top rotor to receive a new digit.
  9. Find this digit in the top row of the top rotor, and go straight up to the top-most row of the layout to receive your encrypted digit.

After doing this for all digits of the current Rv, the result is Cv, the Ciphered Value.

After encrypting a digit, follow the steps below:

  • If there is an asterisk in the middle rotor’s left-most cell, shift all three rotors left one step.
  • Otherwise, if there is an asterisk in the top rotor’s left-most cell, shift the top-most two rotors left one step.
  • Otherwise, shift the top-most rotor left one step.

The Interactive Enigma Layout

First digit of ω

Section 4: Final Calculation

Once you have Cv, the following formula can be used to calculate Fv, which is the password to solve the module:

Fv = (Cv + α*β + ω*k*t) % 100000000

Prepend 0’s if necessary to make the password exactly 8 digits long.

Layout 0
6* 2 0 9 1 7 5 8 4 3
0* 1 2 3 4 5 6 7 8 9
Layout 1
7 8* 1 0 6 4 2 9 3 5
0 1* 2 3 4 5 6 7 8 9
Layout 2
9 6 4* 2 5 3 0 8 1 7
0 1 2* 3 4 5 6 7 8 9
Layout 3
5 0 3 7* 1 8 9 4 6 2
0 1 2 3* 4 5 6 7 8 9
Layout 4
3 9 7 5 2* 1 4 6 0 8
0 1 2 3 4* 5 6 7 8 9
Layout 5
8 7 6 1 0 9* 3 5 2 4
0 1 2 3 4 5* 6 7 8 9
Layout 6
1 3 5 8 7 4 0* 2 9 6
0 1 2 3 4 5 6* 7 8 9
Layout 7
2 4 9 6 8 0 1 3* 7 5
0 1 2 3 4 5 6 7* 8 9
Layout 8
4 9 8 2 3 6 7 1 5* 0
0 1 2 3 4 5 6 7 8* 9
Layout 9
7 5 6 4 9 2 8 0 3 1*
0 1 2 3 4 5 6 7 8 9*

Appendix MWYTH: Mode Where You Think Harder

Assuming you didn’t get REALLY unlucky, I warned you about this.

MWYTH will activate when one of two things happens:

  • BR is pressed when it and no other main display has a red backlight, or...
  • Rv becomes anything that some possible KYBER can turn into 55363537*

When MWYTH activates, the main displays and numbered buttons will all turn solid red (and not respond to being pressed), the very top display will count down from 10 seconds, and the timer will say “OHNO”.

Also, an alert tone will play five times, and the module will undergo a full reset (which doesn’t deactivate MWYTH) when the 10 seconds ends. The main displays will then show yellow Rv digits with black backlights, and the module will act like it’s muted.

There is no way to deactivate MWYTH without striking, but the module can still be solved in MWYTH at an increased difficulty. When the module strikes while in MWYTH, it will restart the 10-second countdown period, but with TL showing the text “EZ” in green and without an alert tone. If TL is pressed during this post-strike countdown, the main displays will turn solid white, and MWYTH will deactivate and revert its changes. If TL is not pressed in time, MWYTH will not deactivate and another strike will be required to attempt deactivation again.

The top-left display can no longer do whatever it did before. It now toggles the displays between showing the KYBER-scrambled Rv in yellow, and a two-digit PAIN** on each display, in cyan.

* If one of these MWYTH-activating numbers appears, it displays as all “-”s.

** Pentuple Authentication Instance Number (Yes, these are pains to deal with.)

Let P1, P2, P3, and P4 be the PAINs in reading order, T1, T2, T3, and T4 be the tens place digits of P1, P2, P3, and P4 respectively, and O1, O2, O3, O4 be the ones place digits of P1, P2, P3, and P4 respectively. While calculating Cv, perform the following modifications at their specified times:

  • Once you have completed α cipher with α, repeat it four more times, with the start of the key being the corresponding P value. Use the last output the α cipher as the new input, until all four P values have been used before continuing to β cipher.
  • Once you have made your 4×4 grid of coordinates, examine each 2×2 quadrant of the coordinate grid. For each digit in all four quadrants, add the corresponding T value to each digit in the quadrant, and take them modulo 3. These are the new coordinates for β cipher
  • Once the enigma cipher layout for ω cipher has been set up, temporarily ignore the normal enigma rotor turning mechanics. While doing so, shift the reflector left O1 times, the bottom rotor O2 times, the middle rotor O3 times, and the top rotor O4 times. Afterwards, stop ignoring the rotor turning mechanics and proceed with the modified enigma layout.

Once Cv is calculated, calculate and submit Fv as usual to solve MWYTH.