4. Attacking the SAS-ROS Cipher by: saaiqSAS Last Updated: 27/2/2025 1. Frequency Analysis The pure ROS Cipher uses a single substitution table across the input data, which makes it vulnerable to frequency analysis.

To overcome this vulnerability, the SAS-RCS/RBS Encryption utilizes multiple substitution tables by pairing a single Dynamic Key with multiple Static Keys. This ensures that unique substitution tables are used for each encryption step. Further details on this process can be found in Section 10 - SAS-ROS Cipher in SAS-RCS/RBS.
2. Brute Forcing Brute forcing the ROS Cipher can be attempted by iterating through the Sub-Space. This involves testing all Static Keys in S-Space with a single Dynamic Key. However, attempting to reverse the process is ineffective due to ROS-Law-6. While brute forcing may be feasible for very short key lengths, it becomes increasingly difficult for larger key lengths because the keyspace (L!) is extremely large. By default, the SAS-RCS/RBS Encryption supports a maximum key length of 1,050,000 units. 3. Chosen Plaintext Attack (CPA) The pure ROS Cipher is vulnerable to a Chosen Plaintext Attack (CPA). In this attack, part of the substitution table used by the chosen plaintext can easily be reproduced once its corresponding ciphertext is obtained. If the plaintext passed to the encryption oracle contains objects not included in the Dynamic Key, those objects will not be processed, which may cause an error within the oracle. If the oracle successfully returns a ciphertext, all objects within the returned ciphertext belong to the Dynamic Key. Example 4.1: CPA Attack on ROS Cipher Plaintext : hello ( Sent to encryption oracle ) Ciphertext: fbiip ( Returned from the encryption oracle ) Part of the sub-table produced: h → f e → b l → i o → p 4. Chosen Ciphertext Attack (CCA) Similar to CPA, the pure ROS Cipher is also vulnerable to a Chosen Ciphertext Attack (CCA). In this attack, part of the substitution table used by the chosen ciphertext can easily be reproduced once its corresponding plaintext is obtained. If the ciphertext passed to the decryption oracle is generated from the inverse encryption oracle, then all objects within the chosen ciphertext are part of the Dynamic Key. If not, the ciphertext may not be processed correctly, potentially causing an error within the oracle. If the decryption oracle successfully returns a plaintext, then all objects within the returned plaintext are part of the Dynamic Key. However, it is important to note that this may not be the case for the SAS-RCS/RBS Encryption. Example 4.2: CCA Attack on ROS Cipher Ciphertext: fbiip ( Sent to decryption oracle ) Plaintext : hello ( Returned from the decryption oracle ) Part of the sub-table produced: h ← f e ← b l ← i o ← p