3. Laws of the SAS-ROS Cipher
by: saaiqSAS
Last Updated: 27/2/2025
1. Both Dynamic Key and Static Key must be of equal length.
2. Any object not present in the Dynamic Key (i.e., ext-objects) cannot be processed.
3. When data is passed through a single pair of keys multiple times, it will only attain the security equivalent
to one pass through a key pair from the KC-Space. This is because the final substitution table for
multiple passes can be generated by a single key pair within the KC-Space.
4. When data is passed through multiple key pairs, it will only attain the security equivalent to one
pass through a key pair from the KC-Space. (This follows the same reasoning as ROS-Law-3).
5. If the integer and its index in a Static Key are equal, the object at the same index in
the Dynamic Key will be substituted to itself in both method 1 and method 2.
Example 3.1: Proof of ROS-Law-3
Dynamic Key: { j, i, d, a, h, c, g, f, e, b }
Static Key : { 4, 8, 2, 7, 1, 6, 0, 5, 9, 3 }
Indexes____: | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Data: d
m1 out: d
m2 out: d
6. For a single Static Key from S-Space, there are n number of
Dynamic Keys from the D-Space that produce identical substitution tables from the
Sub-Space. These key combinations will perform substitution identically. The n value
varies for different Static Keys—refer to ROS-Law-8.
Example 3.2: Proof of ROS-Law-6
Dyn Objects: { a, b, d }
Static Key : { 2, 3, 1 }
Data: bad
______________________________
|_Dyn-Key_|_m1_out__|_m2_out_|
| a, b, d | dba (1) | adb (2)|
| a, d, b | adb (2) | dba (1)|
| b, a, d | adb (2) | dba (1)|
| b, d, a | dba (1) | adb (2)|
| d, a, b | dba (1) | adb (2)|
| d, b, a | adb (2) | dba (1)|
|_________|_________|________|
Notice how identical outputs are produced when a single Static Key is combined with all Dynamic Keys from D-Space.
It is observed that only two variants of outputs are produced, hence only two substitution tables from the Sub-Space were used for the given Static Key.
Therefore, the 'n' value for this Static Key can be calculated as (L! / sub-table variants), i.e., n = (3! / 2) = 3.
7. For a single Dynamic Key from D-Space, each Static Key from
S-Space produces a unique substitution table from the Sub-Space.
Example 3.3: Proof of ROS-Law-7
Dynamic Key: { d, a, b }
Data: bad
______________________________
|_St-Key__|_m1_out__|_m2_out_|
| 1, 2, 3 | bad (1) | bad (1)|
| 1, 3, 2 | abd (2) | abd (2)|
| 2, 1, 3 | bda (3) | bda (3)|
| 2, 3, 1 | dba (4) | adb (6)|
| 3, 2, 1 | dab (5) | dab (5)|
| 3, 1, 2 | adb (6) | dba (4)|
|_________|_________|________|
Notice how no identical outputs are produced for a single method when a single Dynamic Key is combined with all Static Keys from S-Space.
It is also observed that for some combinations, the outputs for both method 1 and method 2 are identical. This is more frequent for smaller keys.
8. There are x number of key pairs within the KC-Space that produce identical
substitution tables, where x is equal to the factorial of the key length (L!). In other
words, each substitution table from the Sub-Space is represented by L! key pairs within the KC-Space.
Example 3.4: Proof of ROS-Law-8
> Substitution table distribution across KC-3-Space
> Substitution table distribution across KC-4-Space
More proof can be generated via the SAS-ROS-Cipher-STDAKCS-Tool (STDAKCS = Static-Key Distribution Across the KC-Space).