each word is uppercased, mapped char→3-digit ascii code, concatenated into one big decimal number, then all entries are multiplied together (raw bigint). rng inserts a random decimal number sized to the average digit-length of your current stack.
raw product (bigint)
padded to 3-digit groups
decoded output copy
stx / etx framed copy raw bytes
crc-8 (poly 0x07)
crc-16/arc (poly 0x8005)
on stx/etx: those are real ASCII control codes (0x02 / 0x03) historically used to mark the start and end of a text block in serial transmission. using them to frame your output is a legitimate, standard convention for delimiting a payload — it's correct if you're piping this into a script or log that needs to know where the encoded chunk starts/stops. it's a formatting choice, not something with any effect beyond that.