รหัสสตรีมแบบดั้งเดิมส่วนใหญ่มีสถานะ $S=(s_1,\ldots,s_n)$ ขนาด $n$ บิต ฟังก์ชันอัพเดตสถานะ $\phi:S\ลูกศรขวา S$ซึ่งเริ่มต้นจากวัสดุคีย์สุ่ม เช่น $S_0=(k_1,\ldots,k_n)$ และการวนซ้ำสถานะคือ
$S_{t+1}=\phi(S_t),$ สำหรับ $t=1,2,\ldots.$ นอกจากนี้ยังมีฟังก์ชันเอาต์พุต
$f:S\rightarrow \{0,1\}^\ell,$ ซึ่งเอาต์พุต $\ell$ บิตในครั้งเดียว โดยทั่วไปเราสามารถมี $\ell=1,$ หรือ $\ell=8.$
ดังนั้น จึงจำเป็นต้องมีการวนซ้ำจำนวนหนึ่งสำหรับความสัมพันธ์ที่คำนวณได้ง่ายจากเนื้อหาหลักเพื่อกระจายไปในลำดับคีย์สตรีมที่สังเกตได้ $f(S_t),f(S_{t+1}),\ldots$ (สมมติว่าข้อความรหัสที่รู้จักหรือข้อความธรรมดาที่รู้จักและรหัสเสริมที่ข้อความธรรมดาถูก XORed ด้วยคีย์สตรีม)
การทำแผนที่แบบดั้งเดิม $\phi$ เป็นรูปแบบ
$$
\phi(s_1,\ldots,s_n)=(s_2,\ldots,s_n,s_{n+1}),\quad s_{n+1}=g(s_1,\ldots,s_n)
$$
ด้วยเหตุผลด้านประสิทธิภาพ เช่นเดียวกับการลงทะเบียนกะ คุณจึงต้องการผลคูณคงที่ของ $n$ การทำซ้ำก่อนที่จะใช้คีย์สตรีมจริง
เช่นเดียวกับในความคิดเห็น ในการเข้ารหัสสตรีมสมัยใหม่มีมาตรการหลายอย่าง เช่น การใช้ IV หรือ Nonces หรือการใช้โหมดการทำงานต่างๆ ของสตรีมรหัส คุณสามารถใช้คีย์สตรีมได้ทันทีโดยไม่ต้องโยนทิ้ง ตัวอย่างเช่น หาก IV สุ่มและไม่ขึ้นกับคีย์และมีความยาวบิตเท่ากันกับสถานะ และ XORed เข้าสู่สถานะเริ่มต้น (ในขณะที่เผยแพร่) สิ่งนี้จะมีผลทำให้ขาวขึ้นและทำให้คีย์สตรีมเป็นอิสระจากคีย์