AES(Advanced Encryption Standard)


4.0 SBOX

The Rijndael S-box is a substitution box or lookup table used in the Rijndael cipher, which the Advanced Encryption Standard (AES) cryptographic algorithm is based on. We will be using the S-box to obfuscate or encrypt the plain text. Each pair of nibble in the plain text is interchanged with a new value from the S-Box.


        00 	01 	02 	03 	04 	05 	06 	07 	08 	09 	0a 	0b 	0c 	0d 	0e 	0f
00 	63 	7c 	77 	7b 	f2 	6b 	6f 	c5 	30 	01 	67 	2b 	fe 	d7 	ab 	76
10 	ca 	82 	c9 	7d 	fa 	59 	47 	f0 	ad 	d4 	a2 	af 	9c 	a4 	72 	c0
20 	b7 	fd 	93 	26 	36 	3f 	f7 	cc 	34 	a5 	e5 	f1 	71 	d8 	31 	15
30 	04 	c7 	23 	c3 	18 	96 	05 	9a 	07 	12 	80 	e2 	eb 	27 	b2 	75
40 	09 	83 	2c 	1a 	1b 	6e 	5a 	a0 	52 	3b 	d6 	b3 	29 	e3 	2f 	84
50 	53 	d1 	00 	ed 	20 	fc 	b1 	5b 	6a 	cb 	be 	39 	4a 	4c 	58 	cf
60 	d0 	ef 	aa 	fb 	43 	4d 	33 	85 	45 	f9 	02 	7f 	50 	3c 	9f 	a8
70 	51 	a3 	40 	8f 	92 	9d 	38 	f5 	bc 	b6 	da 	21 	10 	ff 	f3 	d2
80 	cd 	0c 	13 	ec 	5f 	97 	44 	17 	c4 	a7 	7e 	3d 	64 	5d 	19 	73
90 	60 	81 	4f 	dc 	22 	2a 	90 	88 	46 	ee 	b8 	14 	de 	5e 	0b 	db
a0 	e0 	32 	3a 	0a 	49 	06 	24 	5c 	c2 	d3 	ac 	62 	91 	95 	e4 	79
b0 	e7 	c8 	37 	6d 	8d 	d5 	4e 	a9 	6c 	56 	f4 	ea 	65 	7a 	ae 	08
c0 	ba 	78 	25 	2e 	1c 	a6 	b4 	c6 	e8 	dd 	74 	1f 	4b 	bd 	8b 	8a
d0 	70 	3e 	b5 	66 	48 	03 	f6 	0e 	61 	35 	57 	b9 	86 	c1 	1d 	9e
e0 	e1 	f8 	98 	11 	69 	d9 	8e 	94 	9b 	1e 	87 	e9 	ce 	55 	28 	df
f0 	8c 	a1 	89 	0d 	bf 	e6 	42 	68 	41 	99 	2d 	0f 	b0 	54 	bb 	16


The column is determined by the least significant nibble, and the row by the most significant nibble. For example the value 0x4a is replaced with 0xD6.watch the video below for demonstration in logism.







`timescale 1 ns/1 ps

   module SBox
   (
   input clk,               //system clock
   input reset,             //asynch active low reset
   input valid_in,          //valid input signal
   input [7:0] addr,        //SBox input byte
   output reg [7:0] dout    //SBox output
   );

   always @ ( posedge clk or negedge reset)
     if (!reset) begin
       dout <= 8'h00;
     end  else begin

       if(valid_in) begin
        case (addr)          //substitution table
          8'h00              : dout <= 8'h63;
          8'h01              : dout <= 8'h7c;
          8'h02              : dout <= 8'h77;
          8'h03              : dout <= 8'h7b;
          8'h04              : dout <= 8'hf2;
          8'h05              : dout <= 8'h6b;
          8'h06              : dout <= 8'h6f;
          8'h07              : dout <= 8'hc5;
          8'h08              : dout <= 8'h30;
          8'h09              : dout <= 8'h01;
          8'h0a              : dout <= 8'h67;
          8'h0b              : dout <= 8'h2b;
          8'h0c              : dout <= 8'hfe;
          8'h0d              : dout <= 8'hd7;
          8'h0e              : dout <= 8'hab;
          8'h0f              : dout <= 8'h76;
       /****************************************/
          8'h10              : dout <= 8'hca;
          8'h11              : dout <= 8'h82;
          8'h12              : dout <= 8'hc9;
          8'h13              : dout <= 8'h7d;
          8'h14              : dout <= 8'hfa;
          8'h15              : dout <= 8'h59;
          8'h16              : dout <= 8'h47;
          8'h17              : dout <= 8'hf0;
          8'h18              : dout <= 8'had;
          8'h19              : dout <= 8'hd4;
          8'h1a              : dout <= 8'ha2;
          8'h1b              : dout <= 8'haf;
          8'h1c              : dout <= 8'h9c;
          8'h1d              : dout <= 8'ha4;
          8'h1e              : dout <= 8'h72;
          8'h1f              : dout <= 8'hc0;
       /**********************************************/
          8'h20              : dout <= 8'hb7;
          8'h21              : dout <= 8'hfd;
          8'h22              : dout <= 8'h93;
          8'h23              : dout <= 8'h26;
          8'h24              : dout <= 8'h36;
          8'h25              : dout <= 8'h3f;
          8'h26              : dout <= 8'hf7;
          8'h27              : dout <= 8'hcc;
          8'h28              : dout <= 8'h34;
          8'h29              : dout <= 8'ha5;
          8'h2a              : dout <= 8'he5;
          8'h2b              : dout <= 8'hf1;
          8'h2c              : dout <= 8'h71;
          8'h2d              : dout <= 8'hd8;
          8'h2e              : dout <= 8'h31;
          8'h2f              : dout <= 8'h15;
       /*****************************************/
          8'h30              : dout <= 8'h04;
          8'h31              : dout <= 8'hc7;
          8'h32              : dout <= 8'h23;
          8'h33              : dout <= 8'hc3;
          8'h34              : dout <= 8'h18;
          8'h35              : dout <= 8'h96;
          8'h36              : dout <= 8'h05;
          8'h37              : dout <= 8'h9a;
          8'h38              : dout <= 8'h07;
          8'h39              : dout <= 8'h12;
          8'h3a              : dout <= 8'h80;
          8'h3b              : dout <= 8'he2;
          8'h3c              : dout <= 8'heb;
          8'h3d              : dout <= 8'h27;
          8'h3e              : dout <= 8'hb2;
          8'h3f              : dout <= 8'h75;
       /*******************************************/
          8'h40              : dout <= 8'h09;
          8'h41              : dout <= 8'h83;
          8'h42              : dout <= 8'h2c;
          8'h43              : dout <= 8'h1a;
          8'h44              : dout <= 8'h1b;
          8'h45              : dout <= 8'h6e;
          8'h46              : dout <= 8'h5a;
          8'h47              : dout <= 8'ha0;
          8'h48              : dout <= 8'h52;
          8'h49              : dout <= 8'h3b;
          8'h4a              : dout <= 8'hd6;
          8'h4b              : dout <= 8'hb3;
          8'h4c              : dout <= 8'h29;
          8'h4d              : dout <= 8'he3;
          8'h4e              : dout <= 8'h2f;
          8'h4f              : dout <= 8'h84;
       /**********************************************/
          8'h50              : dout <= 8'h53;
          8'h51              : dout <= 8'hd1;
          8'h52              : dout <= 8'h00;
          8'h53              : dout <= 8'hed;
          8'h54              : dout <= 8'h20;
          8'h55              : dout <= 8'hfc;
          8'h56              : dout <= 8'hb1;
          8'h57              : dout <= 8'h5b;
          8'h58              : dout <= 8'h6a;
          8'h59              : dout <= 8'hcb;
          8'h5a              : dout <= 8'hbe;
          8'h5b              : dout <= 8'h39;
          8'h5c              : dout <= 8'h4a;
          8'h5d              : dout <= 8'h4c;
          8'h5e              : dout <= 8'h58;
          8'h5f              : dout <= 8'hcf;
          /****************************************/
          8'h60              : dout <= 8'hd0;
          8'h61              : dout <= 8'hef;
          8'h62              : dout <= 8'haa;
          8'h63              : dout <= 8'hfb;
          8'h64              : dout <= 8'h43;
          8'h65              : dout <= 8'h4d;
          8'h66              : dout <= 8'h33;
          8'h67              : dout <= 8'h85;
          8'h68              : dout <= 8'h45;
          8'h69              : dout <= 8'hf9;
          8'h6a              : dout <= 8'h02;
          8'h6b              : dout <= 8'h7f;
          8'h6c              : dout <= 8'h50;
          8'h6d              : dout <= 8'h3c;
          8'h6e              : dout <= 8'h9f;
          8'h6f              : dout <= 8'ha8;
       /*********************************************/
          8'h70              : dout <= 8'h51;
          8'h71              : dout <= 8'ha3;
          8'h72              : dout <= 8'h40;
          8'h73              : dout <= 8'h8f;
          8'h74              : dout <= 8'h92;
          8'h75              : dout <= 8'h9d;
          8'h76              : dout <= 8'h38;
          8'h77              : dout <= 8'hf5;
          8'h78              : dout <= 8'hbc;
          8'h79              : dout <= 8'hb6;
          8'h7a              : dout <= 8'hda;
          8'h7b              : dout <= 8'h21;
          8'h7c              : dout <= 8'h10;
          8'h7d              : dout <= 8'hff;
          8'h7e              : dout <= 8'hf3;
          8'h7f              : dout <= 8'hd2;
       /********************************************/
          8'h80              : dout <= 8'hcd;
          8'h81              : dout <= 8'h0c;
          8'h82              : dout <= 8'h13;
          8'h83              : dout <= 8'hec;
          8'h84              : dout <= 8'h5f;
          8'h85              : dout <= 8'h97;
          8'h86              : dout <= 8'h44;
          8'h87              : dout <= 8'h17;
          8'h88              : dout <= 8'hc4;
          8'h89              : dout <= 8'ha7;
          8'h8a              : dout <= 8'h7e;
          8'h8b              : dout <= 8'h3d;
          8'h8c              : dout <= 8'h64;
          8'h8d              : dout <= 8'h5d;
          8'h8e              : dout <= 8'h19;
          8'h8f              : dout <= 8'h73;
    /***********************************************/
          8'h90              : dout <= 8'h60;
          8'h91              : dout <= 8'h81;
          8'h92              : dout <= 8'h4f;
          8'h93              : dout <= 8'hdc;
          8'h94              : dout <= 8'h22;
          8'h95              : dout <= 8'h2a;
          8'h96              : dout <= 8'h90;
          8'h97              : dout <= 8'h88;
          8'h98              : dout <= 8'h46;
          8'h99              : dout <= 8'hee;
          8'h9a              : dout <= 8'hb8;
          8'h9b              : dout <= 8'h14;
          8'h9c              : dout <= 8'hde;
          8'h9d              : dout <= 8'h5e;
          8'h9e              : dout <= 8'h0b;
          8'h9f              : dout <= 8'hdb;
         /******************************************/
          8'ha0              : dout <= 8'he0;
          8'ha1              : dout <= 8'h32;
          8'ha2              : dout <= 8'h3a;
          8'ha3              : dout <= 8'h0a;
          8'ha4              : dout <= 8'h49;
          8'ha5              : dout <= 8'h06;
          8'ha6              : dout <= 8'h24;
          8'ha7              : dout <= 8'h5c;
          8'ha8              : dout <= 8'hc2;
          8'ha9              : dout <= 8'hd3;
          8'haa              : dout <= 8'hac;
          8'hab              : dout <= 8'h62;
          8'hac              : dout <= 8'h91;
          8'had              : dout <= 8'h95;
          8'hae              : dout <= 8'he4;
          8'haf              : dout <= 8'h79;
       /******************************************/
          8'hb0              : dout <= 8'he7;
          8'hb1              : dout <= 8'hc8;
          8'hb2              : dout <= 8'h37;
          8'hb3              : dout <= 8'h6d;
          8'hb4              : dout <= 8'h8d;
          8'hb5              : dout <= 8'hd5;
          8'hb6              : dout <= 8'h4e;
          8'hb7              : dout <= 8'ha9;
          8'hb8              : dout <= 8'h6c;
          8'hb9              : dout <= 8'h56;
          8'hba              : dout <= 8'hf4;
          8'hbb              : dout <= 8'hea;
          8'hbc              : dout <= 8'h65;
          8'hbd              : dout <= 8'h7a;
          8'hbe              : dout <= 8'hae;
          8'hbf              : dout <= 8'h08;
       /****************************************/
          8'hc0              : dout <= 8'hba;
          8'hc1              : dout <= 8'h78;
          8'hc2              : dout <= 8'h25;
          8'hc3              : dout <= 8'h2e;
          8'hc4              : dout <= 8'h1c;
          8'hc5              : dout <= 8'ha6;
          8'hc6              : dout <= 8'hb4;
          8'hc7              : dout <= 8'hc6;
          8'hc8              : dout <= 8'he8;
          8'hc9              : dout <= 8'hdd;
          8'hca              : dout <= 8'h74;
          8'hcb              : dout <= 8'h1f;
          8'hcc              : dout <= 8'h4b;
          8'hcd              : dout <= 8'hbd;
          8'hce              : dout <= 8'h8b;
          8'hcf              : dout <= 8'h8a;
       /****************************************/
          8'hd0              : dout <= 8'h70;
          8'hd1              : dout <= 8'h3e;
          8'hd2              : dout <= 8'hb5;
          8'hd3              : dout <= 8'h66;
          8'hd4              : dout <= 8'h48;
          8'hd5              : dout <= 8'h03;
          8'hd6              : dout <= 8'hf6;
          8'hd7              : dout <= 8'h0e;
          8'hd8              : dout <= 8'h61;
          8'hd9              : dout <= 8'h35;
          8'hda              : dout <= 8'h57;
          8'hdb              : dout <= 8'hb9;
          8'hdc              : dout <= 8'h86;
          8'hdd              : dout <= 8'hc1;
          8'hde              : dout <= 8'h1d;
          8'hdf              : dout <= 8'h9e;
       /*******************************************/
          8'he0              : dout <= 8'he1;
          8'he1              : dout <= 8'hf8;
          8'he2              : dout <= 8'h98;
          8'he3              : dout <= 8'h11;
          8'he4              : dout <= 8'h69;
          8'he5              : dout <= 8'hd9;
          8'he6              : dout <= 8'h8e;
          8'he7              : dout <= 8'h94;
          8'he8              : dout <= 8'h9b;
          8'he9              : dout <= 8'h1e;
          8'hea              : dout <= 8'h87;
          8'heb              : dout <= 8'he9;
          8'hec              : dout <= 8'hce;
          8'hed              : dout <= 8'h55;
          8'hee              : dout <= 8'h28;
          8'hef              : dout <= 8'hdf;
       /****************************************/
          8'hf0              : dout <= 8'h8c;
          8'hf1              : dout <= 8'ha1;
          8'hf2              : dout <= 8'h89;
          8'hf3              : dout <= 8'h0d;
          8'hf4              : dout <= 8'hbf;
          8'hf5              : dout <= 8'he6;
          8'hf6              : dout <= 8'h42;
          8'hf7              : dout <= 8'h68;
          8'hf8              : dout <= 8'h41;
          8'hf9              : dout <= 8'h99;
          8'hfa              : dout <= 8'h2d;
          8'hfb              : dout <= 8'h0f;
          8'hfc              : dout <= 8'hb0;
          8'hfd              : dout <= 8'h54;
          8'hfe              : dout <= 8'hbb;
          8'hff              : dout <= 8'h16;
          default            : dout <= 8'h00;

       endcase
     end
   end

   endmodule
   





John Doe
9:7:7am On 2019.09.23
That was a smooth explanation... thanks.
John Doe
11:43:35pm On 2022.06.01
Ghdlgc [url=https://newfasttadalafil.com/]Cialis[/url] Cialis Price Drop Bbkdqr Cephalexin For Skin Rash <a href=https://newfasttadalafil.com/>Cialis</a> Zaihfc https://newfasttadalafil.com/ - cialis coupons Vhznzi Complement levels are usuall.
John Doe
10:58:00am On 2022.09.27
indestructible apostrophe reassemble [url=http://bag33ondu.com]bag33ondu.com[/url] <a href= http://bag33ondu.com >bag33ondu.com</a> http://bag33ondu.com homogeneous experiment admiration .
John Doe
07:13:19am On 2022.10.06
Еџahin oyunu oyna1xbet futbol <a href="https://tee-shirts.online/saysal-loto-en-ok-kan-saylar-2021.php">sayД±sal loto en Г§ok Г§Д±kan sayД±lar 2021</a> cs go botlara karЕџД± oyn.
John Doe
02:04:19am On 2022.10.14
<a href="https://turhaberleri.online/">Türkiye Haberleri</a>.
Jane Doe
08:05:51am On 2022.11.03
ProjectFpga.com tdibxlvdi http://www.gv08rmi0812d30rdl08wq7o5v274pta3s.org/ <a href="http://www.gv08rmi0812d30rdl08wq7o5v274pta3s.org/">atdibxlvdi</a> [url=http://www.gv08rmi0812d30rdl08wq7o5v274pta3s.org/]utdibxlvdi[/url]
John Doe
11:00:22am On 2024.07.01
while working on the student newspaper <a href=http://cialis.lat/discover-the-best-prices-for-cialis>cialis otc</a>.
John Doe
10:23:51pm On 2025.07.19
Getting it look, like a old lady would should So, how does Tencent’s AI benchmark work? Earliest, an AI is allowed a original forebears from a catalogue of during 1,800 challenges, from edifice data visualisations and царство безгранич.
John Doe
09:46:30pm On 2025.10.05
Valuable post. Similar to what I discuss at https://forbescasinoz.cz/..
John Doe
02:28:24pm On 2025.11.19
Этот информационный обзор станет отличным путеводителем по актуальным темам, объединяющим важные факты и мнения экспертов. Мы исследуем к.
John Doe
12:22:41am On 2026.06.28
Вывод из запоя на дому помогает быстро стабилизировать состояние пациента, но врач всегда предупреждает: если есть высокий риск инфаркта, .
John Doe
09:43:09am On 2026.07.03
Мы работаем круглосуточно, принимаем заявку по телефону, а выезд возможен в любое время суток, включая выходных и праздничные дней. Вызов н.
John Doe
07:50:30pm On 2026.07.05
звоните круглосуточно по телефону горячей линии клиники: наши специалисты готовы оказать необходимую помощь в решении проблемы алкогольн.
John Doe
04:04:55am On 2026.07.06
Помощь оказывают врачи с практикой в наркологии, психиатрии и восстановительной терапии. Узнать больше - [url=https://narkolog-na-dom-v-novorossijske3.ru/]нарко.
John Doe
10:51:22am On 2026.07.06
Первый шаг связан с признанием бессилия перед зависимостью. Для наркомана это часто самый трудный момент: человек может считать, что нарко.
John Doe
03:28:41pm On 2026.07.06
Люди подскажите Замучился я уже искать информацию по участкам Категория земли Короче, единственный нормальный сервис — официальная публи.
John Doe
03:47:49pm On 2026.07.06
Запой опасен не только похмелья и слабостью. При запойным употреблении нарушается сон, повышается тревожность, страдает печень, сердце, со.
John Doe
02:40:13am On 2026.07.07
Нарколог на дом в Балашихе нужен, когда человек после алкоголя, запоя, отравления, абстинентного синдрома или употребления наркотиков не м.
John Doe
08:58:01am On 2026.07.07
Сегодня легко вызвать нарколога на дом в балашиху круглосуточно, просто позвонив по единому телефону нашего специализированного центра в .
John Doe
02:53:00pm On 2026.07.07
Медицинский вывод из запоя направлен на снятие интоксикации, нормализацию сна, восстановление водно-солевого баланса, снижение тревоги, п.