7. SAS-RGM: Random Group Mapping by: saaiqSAS Last Updated: 27/2/2025 The SAS-RGM (Saaiq Abdulla Saeed's Random Group Mapping) Algorithm represents an input character's base string (i.e., base2, base10, base16, base64) in terms of characters within a randomly shuffled character set (Dynamic Key). It achieves this by mapping each base unit to a subset of the original character set and selecting a random character from the assigned subset. By default, the SAS-RGM supports base2, base16, and base64 encoding formats. Example 7.1: SAS-RGM with base2 (s2) Charset: {a, j, g, o, p, r, k, s, l, t, m, h} (length 12) Data: A 1. Since base2 has two units (1, 0) divide the charset into two subsets via a deterministic method (by default "1234"/"Round Robin" method is used) and map them to each unit. 0 → {a, g, p, k, l, m} (length 6) 1 → {j, o, r, s, t, h} (length 6) 2. Convert the data 'A' to its base2 value - 1000001 3. Substitute each bit with a randomly selected character from the corresponding subset - sgmpkgo Output: sgmpkgo The SAS-ROS Cipher cannot process objects that are not part of the Dynamic Key. However, when providing text to the SAS-RCS, the text may often contain ext-chars. In SAS-RCS, the RGM algorithm is used to overcome this limitation by representing any ext-chars in terms of characters from the Dynamic Key.