



















Preview text:
  lOMoAR cPSD| 60701415
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á 
KHOA CÔNG NGHỆ THÔNG TIN    BÀI TẬP LỚN 
HỌC PHẦN: AN TOÀN BẢO MẬT THÔNG TIN 
Học kỳ: I Năm học: 2025 - 2026 
CHỦ ĐỀ 07: NGHIÊN CỨU HỆ THỐNG BẢO MẬT TẬP 
TIN SỬ DỤNG HỆ MÃ HÓA AES 
LỚP TÍN CHỈ: ATBMTT.03.K14.05.LH.C04.1_LT 
Giảng viên hướng dẫn: ThS Lê Thị Huyền Trang 
Danh sách sinh viên thực hiện: Nhóm 12  T 
Sinh viên thực hiện  Lớp hành chính  Mã sinh viên  T  1  20233726  QUÀNG DUY THÁI  DCCNTT14.10  2  20233717  LÊ NGUYỄN NAM ANH  DCCNTT14.10  3  20233801  NGUYỄN HÁN GIANG  DCCNTT14.10  Bắc Ninh - 2025    lOMoAR cPSD| 60701415 MỤC LỤC 
DANH MỤC CÁC TỪ VIẾT TẮT ................................................................................. 5 
DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ ......................................................................... 6 
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ....................................................................... 8 
1.1. Giới thiệu .............................................................................................................. 8 
1.2. Lý do chọn đề tài .................................................................................................. 8 
CHƯƠNG 2: GIỚI THIỆU VỀ THUẬT TOÁN .......................................................... 10 
2.1. Giới thiệu ............................................................................................................ 10 
2.2. Chức năng ........................................................................................................... 10 
2.3. Thuật toán ........................................................................................................... 11 
2.3.1.Tổng quan AES-128 ...................................................................................... 11 
2.3.2. SubBytes (Thay thế Byte): ........................................................................... 13 
2.3.3. ShiftRows (Dịch chuyển Hàng): .................................................................. 14 
2.3.4. MixColumns (Trộn Cột): ............................................................................. 15 
2.3.5. AddRoundKey (Cộng Khóa Vòng): ............................................................ 17 
2.3.6. Chức năng KeyExpansion ........................................................................... 18 
2.3.7. Mức độ an toàn ............................................................................................ 22 
2.4. Các dạng tấn công vào AES và phương pháp phòng chống ............................... 22 
2.4.1. Side – channel attack ................................................................................... 22 
2.4.2. Known attacks .............................................................................................. 23 
2.4.3. Các phương pháp phòng chống ................................................................... 23 
2.4.4. Kết luận và đánh giá thuật toán ................................................................... 23 
2.5. Ví dụ minh họa ................................................................................................... 23 
CHƯƠNG 3: CÀI ĐẶT ................................................................................................ 24 
3.1. Ngôn ngữ lập trình .............................................................................................. 24    lOMoAR cPSD| 60701415
3.1.1. Ngôn ngữ, công cụ và môi trường ............................................................... 24 
3.1.2. Thiết kế tổng thể .......................................................................................... 26 
3.2. Cài đặt ................................................................................................................. 28 
3.2.1. Tạo dự án & phụ thuộc ................................................................................ 28 
3.2.2. Khởi tạo CSDL ............................................................................................ 30 
3.2.3. Giao diện & tương tác .................................................................................. 33 
3.2.4. Luồng xử lý (pseudocode rút gọn) ............................................................... 39 
3.2.5. Một số điểm kỹ thuật đáng chú ý ................................................................. 42 
3.2.6. Hướng dẫn chạy ........................................................................................... 42 
CHƯƠNG 4: KẾT LUẬN ............................................................................................. 44 
4.1. Kết quả đạt được ................................................................................................. 44 
4.2. Hướng phát triển ................................................................................................. 46 
4.2.1 Đánh giá & hạn chế ...................................................................................... 46 
4.2.2. Hướng phát triển .......................................................................................... 46 
PHỤ LỤC ...................................................................................................................... 47 
Phụ lục A: Python (PyCryptodome) .......................................................................... 47 
A.1. Yêu cầu môi trường ........................................................................................ 47 
A.2. Mã nguồn chính (aes_file_tool.py) ................................................................ 47 
A.3. Giao diện ứng dụng (Tkinter GUI) ................................................................ 48 
A.4. Hướng dẫn chạy ............................................................................................. 49 
Phụ lục B: Java (JDK 11+) ........................................................................................ 49 
B.1. Yêu cầu môi trường ........................................................................................ 49 
B.2. Mã nguồn chính: AesFileTool.java ................................................................ 50 
B.3. Giao diện ứng dụng (Swing GUI) .................................................................. 51 
B.4. Hướng dẫn chạy ............................................................................................. 52 
DANH MỤC TÀI LIỆU THAM KHẢO ...................................................................... 52      lOMoAR cPSD| 60701415
DANH MỤC CÁC TỪ VIẾT TẮT  STT  Chữ viết tắt  Giải thích  1  ATBMTT 
An toàn bảo mật thông tin  2  AES  Advanced Encryption Standard  3  CSDL  Cơ sở dữ liệu  4  GUI  Graphical User Interface  5  GCM  Galois/Counter Mode  6  CBC  Cipher Block Chaining          lOMoAR cPSD| 60701415
DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ 
Hình 2 1 Quá trình mã hóa AES-128...........................................................................12 
Hình 2 2 Dữ liệu và khóa mã được sắp xếp dưới dạng ma trận...................................13 
Hình 2 3 S-box của mã hóa AES.................................................................................13 
Hình 2 4 Chức năng SubBytes.....................................................................................14 
Hình 2 5 Chức năng ShiftRows...................................................................................15 
Hình 2 6 Ma trận chuyển đổi sử dụng trong chức năng MixColumns.........................15 
Hình 2 7 Chức năng MixColumns...............................................................................16 
Hình 2 8 Chi tiết về cách tính MixColumns tạo ra phần tử H04 từ cột 1.....................17 
Hình 2 9 Chức năng AddRoundKey cho bước khởi tạo...............................................18 
Hình 2 10 Chức năng KeyExpansion...........................................................................19 
Hình 2 11 Thực thi RotWord cho từ w[3]....................................................................20 
Hình 2 12 Thực thi SubWord khi chuyển đổi từ w[3]..................................................20 
Hình 2 13 Thực thi AddRcon khi chuyển đổi từ w[3]..................................................21 
Hình 2 14 Thực thi AddW để tạo khóa vòng 1............................................................21 
Hình 3 1 Visual studio 2022........................................................................................25 
Hình 3 2 Microsoft SQL Server...................................................................................26 
Hình 3 3 Kiến trúc ba lớp.............................................................................................27 
Hình 3 4 Cấu trúc thư mục dự án.................................................................................30 
Hình 3 5 Sơ đồ cơ sở dữ liệu.......................................................................................32 
Hình 3 6 Giao diện MainForm.....................................................................................33 
Hình 3 7 event handler Encrypt...................................................................................33 
Hình 3 8 Hàm EncryptCbcEtMAsync..........................................................................35 
Hình 3 9 Hàm EncryptGcmAsync...............................................................................37 
Hình 3 10 - Hàm DecryptCbcEtMAsync.....................................................................38 
Hình 3 11 Hàm DecryptGcmAsync.............................................................................39 
Hình 3 12 HistoryForm................................................................................................39 
Hình 3 13 Luồng xử lý.................................................................................................41      lOMoAR cPSD| 60701415
Hình 3 14 Đăng nhập...................................................................................................42 
Hình 3 15 Mã hóa thành công......................................................................................43 
Hình 3 16 Nội dung sau khi mã hóa.............................................................................43 
Hình 3 17 Thực hiện giải mã.......................................................................................44 
Hình 3 18 Nội dung sau khi giải mã............................................................................44 
Hình 4 1 Biểu đồ minh họa..........................................................................................46 
Hình 5 1 Hàm mã hóa GCM với file nhỏ.....................................................................48 
Hình 5 2 Hàm mã hóa CBC với file lớn.......................................................................48 
Hình 5 3 Hàm giải mã..................................................................................................49 
Hình 5 4 Code giao diện triển khải trên Python...........................................................49 
Hình 5 5 Giao diện chính chương trình Python............................................................50 
Hình 5 6 Hàm mã hóa GCM với file nhỏ của java.......................................................50 
Hình 5 7 Hàm mã hóa CBC với file lớn của java.........................................................51 
Hình 5 8 Hàm giải mã của java....................................................................................51 
Hình 5 9 Code triển khai giao diện của java................................................................52 
Hình 5 10 Giao diện chính chương trình Java..............................................................52        lOMoAR cPSD| 60701415
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 
1.1. Giới thiệu 
Trong kỷ nguyên số hóa hiện nay, dữ liệu đã trở thành tài sản quan trọng bậc nhất 
của cá nhân, tổ chức và quốc gia. Cùng với sự phát triển của công nghệ thông tin là sự 
gia tăng phức tạp và tinh vi của các mối đe dọa an ninh mạng, từ đánh cắp thông tin cá 
nhân, gián điệp công nghiệp, đến tấn công ransomware (mã độc tống tiền). Việc bảo vệ 
tính bí mật, toàn vẹn và sẵn sàng của dữ liệu, đặc biệt là các tập tin quan trọng, trở 
nên cấp thiết hơn bao giờ hết. 
Mã hóa là giải pháp nền tảng và hiệu quả nhất để đảm bảo tính bí mật của dữ liệu. 
Đề tài này tập trung vào việc nghiên cứu và ứng dụng Hệ mã hóa Đối xứng Tiêu chuẩn 
Mã hóa Nâng cao (Advanced Encryption Standard - AES). AES là thuật toán mã hóa 
được chính phủ Hoa Kỳ và nhiều tổ chức quốc tế công nhận là tiêu chuẩn hàng đầu, nổi 
bật với tính bảo mật cao, tốc độ xử lý nhanh và hiệu quả trên nhiều nền tảng phần cứng. 
Mục tiêu của nghiên cứu là xây dựng một hệ thống bảo mật tập tin đơn giản, cho 
phép người dùng mã hóa và giải mã các tập tin của họ, từ đó bảo vệ dữ liệu khỏi sự  truy cập trái phép. 
1.2. Lý do chọn đề tài 
- Có ba lý do chính thúc đẩy việc lựa chọn và thực hiện đề tài này: 
Tính cấp thiết của bảo mật tập tin: Hầu hết dữ liệu quan trọng được lưu trữ 
dưới dạng tập tin. Việc bảo mật chúng bằng một lớp mã hóa mạnh mẽ là yêu cầu cơ bản 
để chống lại các cuộc tấn công vật lý (truy cập thiết bị) hoặc tấn công logic (truy cập  qua mạng). 
Sức mạnh và độ tin cậy của AES: AES (Rijndael) đã được chọn làm tiêu chuẩn 
mã hóa toàn cầu thay thế cho DES. Đây là thuật toán mã hóa đối xứng đã được kiểm 
chứng về mặt toán học và mật mã học, không có lỗ hổng lớn nào được tìm thấy cho đến 
nay. Sử dụng AES giúp đảm bảo tính bảo mật và tuổi thọ lâu dài cho hệ thống được xây  dựng. 
Cơ hội nghiên cứu và phát triển kỹ năng: Đề tài cung cấp cơ hội để sinh viên 
không chỉ nghiên cứu sâu về lý thuyết mật mã (cấu trúc mạng hoán vị-thay thế, trường 
hữu hạn) mà còn áp dụng kiến thức vào thực tế thông qua việc xây dựng một ứng dụng      lOMoAR cPSD| 60701415
cụ thể. Điều này giúp củng cố kỹ năng lập trình và khả năng giải quyết vấn đề trong lĩnh  vực An toàn thông tin.        lOMoAR cPSD| 60701415
CHƯƠNG 2: GIỚI THIỆU VỀ THUẬT TOÁN 
2.1. Giới thiệu 
AES (Advanced Encryption Standard) là một thuật toán mã hóa khối đối 
xứng (Symmetric Block Cipher) được Cục Tiêu chuẩn và Công nghệ Quốc gia Hoa 
Kỳ (NIST) phê duyệt làm tiêu chuẩn liên bang vào năm 2001. 
Nguồn gốc: AES là tên gọi chính thức của thuật toán Rijndael, do hai nhà mật 
mã học người Bỉ là Joan Daemen và Vincent Rijmen phát triển. Thuật toán này đã chiến 
thắng cuộc thi toàn cầu do NIST tổ chức (kéo dài từ năm 1997 đến 2000) để tìm ra thuật 
toán thay thế cho DES đã lỗi thời. 
Đặc điểm: AES mã hóa dữ liệu theo từng khối cố định có kích thước 128 bit (16 
byte). Thuật toán hỗ trợ ba kích thước khóa khác nhau: 128 bit, 192 bit, và 256 bit. 
Kích thước khóa càng lớn, số vòng lặp mã hóa (Round) càng nhiều, độ bảo mật càng 
cao (tương ứng là 10, 12 và 14 vòng lặp). Hầu hết các phép toán trong thuật toán AES 
đều thực hiện trong một trường hữu hạn của các byte. Mỗi khối dữ liệu đầu vào 128bit 
được chia thành 16byte, có thể xếp thành 4 cột, mỗi cột 4 phần tử hay một ma trận 4x4 
của các byte, nó gọi là ma trận trạng thái. 
Tùy thuộc vào độ dài của khóa khi sử dụng 128bit, 192bit hay 256bit mà thuật 
toán được thực hiện với số lần lặp khác nhau. 
Các bước xử lý chính. 
- Quá trình mở rộng khóa sử dụng thủ tục sinh khóa Rijndael.  - Quá trình mã hóa. 
2.2. Chức năng 
Chức năng cốt lõi của AES là chuyển đổi dữ liệu rõ (Plaintext) thành dữ liệu mật 
(Ciphertext) bằng cách sử dụng Khóa bí mật (Secret Key) và một chuỗi các phép biến 
đổi toán học phức tạp. 
Nguyên lý hoạt động chính: 
AES dựa trên cấu trúc Mạng Hoán vị-Thay thế (Substitution-Permutation Network 
- SPN). Quá trình mã hóa bao gồm các vòng lặp, mỗi vòng lặp thực hiện bốn phép biến 
đổi cơ bản để tạo ra sự khuếch tán (Diffusion) và nhầm lẫn (Confusion), hai nguyên 
tắc cơ bản của mật mã học.      lOMoAR cPSD| 60701415
Nhầm lẫn (Confusion): Làm cho mối quan hệ giữa Khóa và dữ liệu mật trở nên 
phức tạp nhất có thể (thực hiện bởi bước SubBytes). 
Khuếch tán (Diffusion): Phân tán ảnh hưởng của một bit dữ liệu rõ hoặc một bit 
Khóa đến nhiều bit của dữ liệu mật (thực hiện bởi các bước ShiftRows và  MixColumns). 
2.3. Thuật toán 
Mỗi vòng lặp (trừ vòng cuối cùng) trong thuật toán AES bao gồm bốn phép biến 
đổi tuần tự sau đây trên ma trận trạng thái 4×4 (tương đương 128 bit): 
2.3.1.Tổng quan AES-128 
Các vấn đề liên quan đến chuẩn mã hóa AES được mô tả trong tài liệu 
"Announcing the ADVANCED ENCRYPTION STANDARD (AES)", công bố ngày 
26/11/2001, của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST). Mục này chỉ 
trình bày ngắn gọn về mã hóa AES 128 bit, gọi tắt là AES-128 theo hướng dễ thực hiện  bằng mạch số. 
Mã hóa AES được thực hiện thông qua 5 chức năng chính là AddRoundKey, SubBytes, 
ShiftRows, MixColumns và KeyExpansion. Năm chức năng này được sắp xếp để thực  hiện ba bước cơ bản.  • 
Bước 1. Bước khởi tạo: dữ liệu cần được mã hóa plain_text[127:0] kết hợp với 
key[127:0] bằng chức năng AddRoundKey  • 
Bước 2. Bước lặp mã hóa: kết quả bước 1 được sử dụng để thực hiện tuần tự các 
chức năng SubBytes, ShiftRows, MixColumns và AddRoundKey. Bước này 
được lặp lại 9 lần. Chú ý, KeyExpansion thực hiện song song với bước 
AddRoundKey để tạo khóa vòng cho chức năng này.  • 
Bước 3. Bước tạo ngõ ra: Sau 9 lần lặp ở bước 2, kết quả được sử dụng để thực 
hiện tuần tự các chức năng SubBytes, ShiftRows và AddRoundKey để tạo ngõ ra  cipher_text[127:0].      lOMoAR cPSD| 60701415  
Hình 2 1 Quá trình mã hóa AES-128 
- Quá trình mã hóa AES-128 sẽ được giải thích trên một ví dụ cụ thể. Giả sử chuỗi dữliệu 
cần mã hóa plain_text[127:0] và khóa mã key[127:0] có giá trị như sau:  • 
plain_text[127:0] = 32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34  • 
key[127:0] = 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c 
- Dữ liệu và khóa mã được sắp xếp dưới dạng ma trận với mỗi phần tử là một byte      lOMoAR cPSD| 60701415  
Hình 2 2 Dữ liệu và khóa mã được sắp xếp dưới dạng ma trận 
- Trong quá trình mã hóa, ma trận dữ liệu ban đầu sẽ bị biến đổi bởi các chức năng 
AddRoundKey, SubBytes, ShiftRows hoặc MixColumns để tạo ra các dữ liệu trung gian 
gọi là ma trận trạng thái. Ma trận khóa mã sẽ bị biến đổi bởi chức năng KeyExpansion 
để tạo ra các khóa mã trung gian gọi là khóa vòng. 
2.3.2. SubBytes (Thay thế Byte): 
- Mỗi byte trong ma trận trạng thái được thay thế bằng một byte khác dựa trên một bảng 
tra cứu cố định, được gọi là S-Box. Phép toán này là một phép thế không tuyến tính, 
mang lại tính nhầm lẫn (Confusion) cho thuật toán.        lOMoAR cPSD| 60701415
Hình 2 3 S-box của mã hóa AES 
- Ví dụ, byte cần thay thế là H08 thì dò ở hàng số 0 và cột số 8 trong bảng S-box sẽ được  kết quả là 30.   
Hình 2 4 Chức năng SubBytes 
2.3.3. ShiftRows (Dịch chuyển Hàng): 
- Chức năng ShiftRows thực hiện quay trái từng hàng của ma trận trạng thái, ngõ 
ra của SubBytes, theo byte với hệ số quay tăng dần từ 0 đến 3. Hàng đầu tiên có hệ số 
quay là 0 thì các byte được giữ nguyên vị trí. Hàng thứ hai có hệ số quay là 1 thì các 
byte được quay một byte. Hàng thứ ba quay hai byte và hàng thứ tư quay ba byte.      lOMoAR cPSD| 60701415  
Hình 2 5 Chức năng ShiftRows 
2.3.4. MixColumns (Trộn Cột): 
Chức năng MixColumns thực hiện nhân từng cột của ma trận trạng thái, ngõ ra 
của ShiftRows, với một ma trận chuyển đổi quy định bởi chuẩn AES.   
Hình 2 6 Ma trận chuyển đổi sử dụng trong chức năng MixColumns  - 
Việc biến đổi một cột của ma trận trạng thái được thực hiện bởi hai phép toán là  nhân(.)vàXOR(+).  - 
Biểu thức sau tạo ra phần tử H04, H là ký hiệu của số Hex, ở cột 1 trong hình 
minh họa "chức năng MixColumns". 
H04 =Hd4.H02 + Hbf.H03 + H5d.H01 + H30.H01=Hd4.H02 + (Hbf.H02 +      lOMoAR cPSD| 60701415
Hbf.H01) + H5d.H01 + H30.H01   
Hình 2 7 Chức năng MixColumns 
- Phép nhân với H01 thì giữ nguyên giá trị. Phép nhân với H02 tương đương với việc 
dịch trái một bit và XOR có điều kiện như sau:  • 
Nếu bit MSB của giá trị được dịch bằng 1 thì giá trị sau khi dịch được XOR với  H1b  • 
Nếu bit MSB của giá trị được dịch bằng 0 thì giữ giá trị saukhi dịch.      lOMoAR cPSD| 60701415  
Hình 2 8 Chi tiết về cách tính MixColumns tạo ra phần tử H04 từ cột 1 
2.3.5. AddRoundKey (Cộng Khóa Vòng): 
o Khóa vòng (Round Key) được tạo ra từ Khóa chính (Master Key) thông qua thủ tục 
mở rộng khóa (Key Expansion) được kết hợp (thường là phép XOR) với ma 
trận trạng thái hiện tại. Đây là bước duy nhất sử dụng Khóa trong mỗi vòng  lặp. 
- Chức năng AddRoundKey thực hiện ở: 
Bước khởi tạo: XOR khóa mã với ma trận dữ liệu 
Bước lặp mã hóa và bước tạo ngõ ra: XOR khóa vòng (round key) với ma trận  trạng thái.      lOMoAR cPSD| 60701415  
Hình 2 9 Chức năng AddRoundKey cho bước khởi tạo 
- Đối với bước lặp mã hóa và bước tạo ngõ ra, vị trí "khóa mã" là các "khóa vòng" còndữ 
liệu là của lần tính trước đó. 
- Lưu ý: Vòng lặp cuối cùng không thực hiện bước MixColumns. 
2.3.6. Chức năng KeyExpansion 
Chức năng KeyExpansion thực hiện tính toán khóa vòng cho bước lặp mã hóa và 
bước tạo ngõ ra. Kết quả của một lần thực thi KeyExpansion là một khóa vòng sử dụng 
cho chức năng AddRoundKey. Với mã hóa AES-128, số khóa vòng là 10 tương ứng với 
9 lần AddRoundKey ở bước lặp mã hóa và 1 lần AddRoundKey ở bước tạo ngõ ra. 
Chức năng KeyExpansion được thực hiện thông qua 4 chức năng là RotWord, SubWord,  AddRcon và AddW.      lOMoAR cPSD| 60701415  
Hình 2 10 Chức năng KeyExpansion 
- Mỗi khóa vòng có 128 bit được chia làm 4 word, mỗi word là 4 byte và ký hiệulà w[j] 
với j là số nguyên. Mã hóa AES-128 có 1 khóa mã và 10 khóa vòng nên tổng số từ là 
44 và được đánh số từ 0 đến 43. Khóa mã có 4 từ là w[0], w[1], w[2] và w[3]. Khóa 
vòng 1 có 4 từ là w[4], w[5], w[6] và w[7]. Tương tự, khóa vòng 10 có 4 từ là w[40],  w[41], w[42] và w[43]. 
Từ w[j] tính theo công thức sau, với 3 < j < 44. 
w[j] = AddW[j - 4] = w[j - 1] + w[j - 4] w[j = 4∗ n] = 
AddW[j - 4] = trans(w[j - 1])+ w[j - 4] 
- Chú ý, khi tính các từ ở vị trí j là bội số của 4, như w[4], w[8],... và w[40], thì w[j- 
1] phải được biến đổi qua 3 chức năng RotWord, SubWord và AddRcon, gọi là trans(w[j-
1]), trước khi XOR với w[j-4]. 
- Khóa mã key ở mục 1 được sử dụng để minh họa việc tính toán khóa vòng. Khóa mã 
key[127:0] được chia làm 4 từ như biểu thức sau: 
w[0] = 2b7e1516 w[1] = 28aed2a6      lOMoAR cPSD| 60701415
w[2] = abf71588 w[3] = 09cf4f3c 
- Việc tính toán khóa vòng 1 là thực hiện tính 4 từ w[4], w[5], w[6] và w[7]. Để tính 
khóa vòng 1, trans(w[3]) phải được tính trước thông qua 3 chức năng RotWord,  SubWord và AddRcon. 
w[4] = AddW[0] = trans(w[3])+ w[0]w[5] = AddW[1] = w[4]+ w[1]w[6] 
= AddW[2] = w[5]+ w[2]w[7] = AddW[3] = w[6]+ w[3] 
- Chức năng RotWord Chức năng RotWord thực hiện quay trái từ w[j] một byte.   
Hình 2 11 Thực thi RotWord cho từ w[3] 
- Chức năng SubWord thực hiện thay thế các phi tuyến từng byte của kết quả RotWord  theo bảng S-box.   
Hình 2 12 Thực thi SubWord khi chuyển đổi từ w[3] 
- Chức năng AddRcon thực hiện XOR kết quả SubWord và giá trị Rcon[j/4] với j là bội 
số của 4. Số lượng giá trị Rcon[j/4] là 10 tương ứng với 10 lần tính khóa vòng. 
Chức năng AddRcon sẽ tạo ra kết quả cuối cùng của biến đổi trans(w[j-1]). 
Rcon[j/4] Giá trị HEX Vị trí sử dụng 
Rcon[1] 01000000 sử dụng cho trans(w[3]) khi tính w[4] 
Rcon[2] 02000000 sử dụng cho trans(w[7]) khi tính w[8] 
Rcon[3] 04000000 sử dụng cho trans(w[11]) khi tính w[12] 
Rcon[4] 08000000 sử dụng cho trans(w[15]) khi tính w[16] 
Rcon[5] 10000000 sử dụng cho trans(w[19]) khi tính w[20]