<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=RC4_Algorithm</id>
	<title>RC4 Algorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=RC4_Algorithm"/>
	<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=RC4_Algorithm&amp;action=history"/>
	<updated>2026-11-01T21:42:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=RC4_Algorithm&amp;diff=121&amp;oldid=prev</id>
		<title>SanzSkuy at 06:06, 23 March 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=RC4_Algorithm&amp;diff=121&amp;oldid=prev"/>
		<updated>2025-03-23T06:06:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:06, 23 March 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RC4 adalah algoritma enkripsi yang sering digunakan oleh pembuat malware karena kesederhanaannya dan keamanannya yang cukup baik dibandingkan algoritma sederhana lainnya. Berbeda dengan beberapa algoritma enkripsi lain yang tersedia dalam API Windows, RC4 tidak disediakan secara bawaan dalam sistem operasi, sehingga para pembuat malware harus mengimplementasikannya sendiri dalam kode mereka.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RC4 adalah algoritma enkripsi yang sering digunakan oleh pembuat malware karena kesederhanaannya dan keamanannya yang cukup baik dibandingkan algoritma sederhana lainnya. Berbeda dengan beberapa algoritma enkripsi lain yang tersedia dalam API Windows, RC4 tidak disediakan secara bawaan dalam sistem operasi, sehingga para pembuat malware harus mengimplementasikannya sendiri dalam kode mereka.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Karena diimplementasikan secara manual, RC4 bisa sulit dikenali bagi para reverse engineer pemula yang menganalisis kode malware. Algoritma ini bersifat simetris, yang berarti menggunakan satu kunci rahasia untuk proses enkripsi dan dekripsi. RC4 terdiri dari dua tahap utama: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;``&lt;/del&gt;Key-Scheduling Algorithm (KSA)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;`` &lt;/del&gt;yang mengatur kunci, dan &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;``&lt;/del&gt;Pseudo-Random Generation Algorithm (PRGA)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;`` &lt;/del&gt;yang menghasilkan aliran data terenkripsi.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Karena diimplementasikan secara manual, RC4 bisa sulit dikenali bagi para reverse engineer pemula yang menganalisis kode malware. Algoritma ini bersifat simetris, yang berarti menggunakan satu kunci rahasia untuk proses enkripsi dan dekripsi. RC4 terdiri dari dua tahap utama: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/ins&gt;Key-Scheduling Algorithm (KSA)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039; &lt;/ins&gt;yang mengatur kunci, dan &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/ins&gt;Pseudo-Random Generation Algorithm (PRGA)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039; &lt;/ins&gt;yang menghasilkan aliran data terenkripsi.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dalam konteks reverse engineering, memahami bagaimana RC4 diimplementasikan dalam kode berbahaya bisa membantu dalam mendeteksi dan menganalisis malware yang menggunakannya untuk menyembunyikan komunikasi atau data berbahaya.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dalam konteks reverse engineering, memahami bagaimana RC4 diimplementasikan dalam kode berbahaya bisa membantu dalam mendeteksi dan menganalisis malware yang menggunakannya untuk menyembunyikan komunikasi atau data berbahaya.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=RC4_Algorithm&amp;diff=119&amp;oldid=prev</id>
		<title>SanzSkuy at 06:03, 23 March 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=RC4_Algorithm&amp;diff=119&amp;oldid=prev"/>
		<updated>2025-03-23T06:03:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:03, 23 March 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Implementasi Python =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Implementasi Python =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Contoh kita ingin mengenkripsi plaintext &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;malware&lt;/del&gt;&quot; dengan key &quot;secret&quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Contoh kita ingin mengenkripsi plaintext &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Machine Learning&lt;/ins&gt;&quot; dengan key &quot;secret&quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=RC4_Algorithm&amp;diff=118&amp;oldid=prev</id>
		<title>SanzSkuy: Created page with &quot;RC4 adalah algoritma enkripsi yang sering digunakan oleh pembuat malware karena kesederhanaannya dan keamanannya yang cukup baik dibandingkan algoritma sederhana lainnya. Berbeda dengan beberapa algoritma enkripsi lain yang tersedia dalam API Windows, RC4 tidak disediakan secara bawaan dalam sistem operasi, sehingga para pembuat malware harus mengimplementasikannya sendiri dalam kode mereka.  Karena diimplementasikan secara manual, RC4 bisa sulit dikenali bagi para rever...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=RC4_Algorithm&amp;diff=118&amp;oldid=prev"/>
		<updated>2025-03-23T06:03:13Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;RC4 adalah algoritma enkripsi yang sering digunakan oleh pembuat malware karena kesederhanaannya dan keamanannya yang cukup baik dibandingkan algoritma sederhana lainnya. Berbeda dengan beberapa algoritma enkripsi lain yang tersedia dalam API Windows, RC4 tidak disediakan secara bawaan dalam sistem operasi, sehingga para pembuat malware harus mengimplementasikannya sendiri dalam kode mereka.  Karena diimplementasikan secara manual, RC4 bisa sulit dikenali bagi para rever...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;RC4 adalah algoritma enkripsi yang sering digunakan oleh pembuat malware karena kesederhanaannya dan keamanannya yang cukup baik dibandingkan algoritma sederhana lainnya. Berbeda dengan beberapa algoritma enkripsi lain yang tersedia dalam API Windows, RC4 tidak disediakan secara bawaan dalam sistem operasi, sehingga para pembuat malware harus mengimplementasikannya sendiri dalam kode mereka.&lt;br /&gt;
&lt;br /&gt;
Karena diimplementasikan secara manual, RC4 bisa sulit dikenali bagi para reverse engineer pemula yang menganalisis kode malware. Algoritma ini bersifat simetris, yang berarti menggunakan satu kunci rahasia untuk proses enkripsi dan dekripsi. RC4 terdiri dari dua tahap utama: ``Key-Scheduling Algorithm (KSA)`` yang mengatur kunci, dan ``Pseudo-Random Generation Algorithm (PRGA)`` yang menghasilkan aliran data terenkripsi.&lt;br /&gt;
&lt;br /&gt;
Dalam konteks reverse engineering, memahami bagaimana RC4 diimplementasikan dalam kode berbahaya bisa membantu dalam mendeteksi dan menganalisis malware yang menggunakannya untuk menyembunyikan komunikasi atau data berbahaya. &lt;br /&gt;
&lt;br /&gt;
= Implementasi Python =&lt;br /&gt;
Contoh kita ingin mengenkripsi plaintext &amp;quot;malware&amp;quot; dengan key &amp;quot;secret&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Kunci yang digunakan untuk enkripsi/dekripsi&lt;br /&gt;
key = &amp;quot;secret&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Plaintext yang akan dienkripsi&lt;br /&gt;
plaintext = &amp;quot;Machine Learning&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Konversi key ke dalam bentuk list ASCII&lt;br /&gt;
key = [ord(c) for c in key]&lt;br /&gt;
print(f&amp;quot;ASCII key : {key}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Konversi plaintext ke dalam bentuk list ASCII&lt;br /&gt;
plaintext = [ord(c) for c in plaintext]&lt;br /&gt;
print(f&amp;quot;ASCII plaintext : {plaintext}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Output:&lt;br /&gt;
# ASCII key : [115, 101, 99, 114, 101, 116]&lt;br /&gt;
# ASCII plaintext : [77, 97, 99, 104, 105, 110, 101, 32, 76, 101, 97, 114, 110, 105, 110, 103]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key-scheduling algorithm ==&lt;br /&gt;
Bagian key-scheduling dalam algoritma RC4 bertugas untuk membentuk array berisi 256 byte berdasarkan secret key yang diberikan. Array ini bisa dianggap sebagai versi yang lebih besar dari key awal. Nantinya, array ini akan digunakan dalam proses enkripsi dan dekripsi untuk mengubah data asli menjadi ciphertext dan sebaliknya. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Proses KSA (Key-Scheduling Algorithm)&lt;br /&gt;
&lt;br /&gt;
# Inisialisasi S-box&lt;br /&gt;
S = list(range(256))&lt;br /&gt;
&lt;br /&gt;
j = 0&lt;br /&gt;
for i in range(256):&lt;br /&gt;
    j = (j + S[i] + key[i % len(key)]) % 256&lt;br /&gt;
    S[i], S[j] = S[j], S[i]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contoh ouput setelah looping 3x&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
j = (j + S[i] + key[i % len(key)]) % 256&lt;br /&gt;
j = (0 + 0 + key[0 % 6]) % 256&lt;br /&gt;
j = (0 + key[0]) % 256&lt;br /&gt;
j = (0 + 115) % 256&lt;br /&gt;
j = (115) % 256&lt;br /&gt;
j = 115&lt;br /&gt;
&lt;br /&gt;
SWAP&lt;br /&gt;
S[0] = 0&lt;br /&gt;
S[115] = 115&lt;br /&gt;
to&lt;br /&gt;
S[0] = 115&lt;br /&gt;
S[115] = 0&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
j = (j + S[i] + key[i % len(key)]) % 256&lt;br /&gt;
j = (115 + 1 + key[1 % 6]) % 256&lt;br /&gt;
j = (116 + key[1]) % 256&lt;br /&gt;
j = (116 + 101) % 256&lt;br /&gt;
j = (217) % 256&lt;br /&gt;
j = 217&lt;br /&gt;
&lt;br /&gt;
SWAP&lt;br /&gt;
S[1] = 1&lt;br /&gt;
S[217] = 217&lt;br /&gt;
to&lt;br /&gt;
S[1] = 217&lt;br /&gt;
S[217] = 1&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
j = (j + S[i] + key[i % len(key)]) % 256&lt;br /&gt;
j = (217 + 2 + key[2 % 6]) % 256&lt;br /&gt;
j = (219 + key[2]) % 256&lt;br /&gt;
j = (219 + 99) % 256&lt;br /&gt;
j = (318) % 256&lt;br /&gt;
j = 62&lt;br /&gt;
&lt;br /&gt;
SWAP&lt;br /&gt;
S[2] = 2&lt;br /&gt;
S[62] = 62&lt;br /&gt;
to&lt;br /&gt;
S[2] = 62&lt;br /&gt;
S[62] = 2&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proses PRGA (Pseudo-Random Generation Algorithm) ==&lt;br /&gt;
Bagian pseudo-random generation (PRGA) dari algoritma RC4 berfungsi untuk menghasilkan nilai acak semu yang digunakan dalam proses enkripsi dan dekripsi. Proses ini masih melibatkan pertukaran byte seperti pada tahap key-scheduling, tetapi dengan tambahan operasi XOR antara nilai yang dihasilkan dan byte dari data yang akan dienkripsi atau didekripsi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Proses PRGA (Pseudo-Random Generation Algorithm)&lt;br /&gt;
i = 0&lt;br /&gt;
j = 0&lt;br /&gt;
keystream = []&lt;br /&gt;
for _ in range(len(plaintext)):&lt;br /&gt;
    i = (i + 1) % 256&lt;br /&gt;
    j = (j + S[i]) % 256&lt;br /&gt;
    S[i], S[j] = S[j], S[i]&lt;br /&gt;
    keystream.append(S[t])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contoh 3x loop&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
i = (i + 1) % 256&lt;br /&gt;
i = (0 + 1) % 256&lt;br /&gt;
i = (1) % 256&lt;br /&gt;
i = 1&lt;br /&gt;
i = 1&lt;br /&gt;
&lt;br /&gt;
j = (j + S[i]) % 256&lt;br /&gt;
j = (0 + 208) % 256&lt;br /&gt;
j = (208) % 256&lt;br /&gt;
j = 208&lt;br /&gt;
j = 208&lt;br /&gt;
&lt;br /&gt;
SWAP&lt;br /&gt;
S[1] = 208&lt;br /&gt;
S[208] = 39&lt;br /&gt;
to&lt;br /&gt;
S[1] = 39&lt;br /&gt;
S[208] = 208&lt;br /&gt;
&lt;br /&gt;
t = (S[i] + S[j]) % 256&lt;br /&gt;
t = (39 + 208) % 256&lt;br /&gt;
t = (247) % 256&lt;br /&gt;
t = 247&lt;br /&gt;
S[t] = 237&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
i = (i + 1) % 256&lt;br /&gt;
i = (1 + 1) % 256&lt;br /&gt;
i = (2) % 256&lt;br /&gt;
i = 2&lt;br /&gt;
i = 2&lt;br /&gt;
&lt;br /&gt;
j = (j + S[i]) % 256&lt;br /&gt;
j = (208 + 198) % 256&lt;br /&gt;
j = (406) % 256&lt;br /&gt;
j = 150&lt;br /&gt;
j = 150&lt;br /&gt;
&lt;br /&gt;
SWAP&lt;br /&gt;
S[2] = 198&lt;br /&gt;
S[150] = 251&lt;br /&gt;
to&lt;br /&gt;
S[2] = 251&lt;br /&gt;
S[150] = 198&lt;br /&gt;
&lt;br /&gt;
t = (S[i] + S[j]) % 256&lt;br /&gt;
t = (251 + 198) % 256&lt;br /&gt;
t = (449) % 256&lt;br /&gt;
t = 193&lt;br /&gt;
S[t] = 54&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
i = (i + 1) % 256&lt;br /&gt;
i = (2 + 1) % 256&lt;br /&gt;
i = (3) % 256&lt;br /&gt;
i = 3&lt;br /&gt;
i = 3&lt;br /&gt;
&lt;br /&gt;
j = (j + S[i]) % 256&lt;br /&gt;
j = (150 + 20) % 256&lt;br /&gt;
j = (170) % 256&lt;br /&gt;
j = 170&lt;br /&gt;
j = 170&lt;br /&gt;
&lt;br /&gt;
SWAP&lt;br /&gt;
S[3] = 20&lt;br /&gt;
S[170] = 147&lt;br /&gt;
to&lt;br /&gt;
S[3] = 147&lt;br /&gt;
S[170] = 20&lt;br /&gt;
&lt;br /&gt;
t = (S[i] + S[j]) % 256&lt;br /&gt;
t = (147 + 20) % 256&lt;br /&gt;
t = (167) % 256&lt;br /&gt;
t = 167&lt;br /&gt;
S[t] = 210&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finalisasi &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# XOR antara keystream dan plaintext untuk mendapatkan ciphertext&lt;br /&gt;
ciphertext = [plaintext[k] ^ keystream[k] for k in range(len(plaintext))]&lt;br /&gt;
ciphertext = [hex(c) for c in ciphertext]&lt;br /&gt;
&lt;br /&gt;
# Menampilkan hasil enkripsi&lt;br /&gt;
print(&amp;quot;Ciphertext:&amp;quot;, &amp;#039; &amp;#039;.join(map(str, ciphertext)))&lt;br /&gt;
&lt;br /&gt;
# Output:&lt;br /&gt;
# Ciphertext: 0xa0 0x57 0xb1 0x74 0xeb 0xca 0xb3 0x86 0x7e 0xae 0xda 0xae 0x9d 0x8f 0x9b 0x50&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Decrypt &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Proses dekripsi dengan XOR antara ciphertext dan keystream yang sama&lt;br /&gt;
decrypted = [int(ciphertext[k], 0) ^ keystream[k] for k in range(len(ciphertext))]&lt;br /&gt;
&lt;br /&gt;
# Mengonversi kembali hasil dekripsi ke string&lt;br /&gt;
decrypted_text = &amp;#039;&amp;#039;.join(chr(c) for c in decrypted)&lt;br /&gt;
&lt;br /&gt;
# Menampilkan hasil dekripsi&lt;br /&gt;
print(&amp;quot;Decrypted:&amp;quot;, decrypted_text)&lt;br /&gt;
&lt;br /&gt;
# Output:&lt;br /&gt;
# Decrypted: Machine Learning&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
</feed>