Tải bản đầy đủ (.pptx) (47 trang)

lịch sử phát triển và hình thành của bluetooth low energy ble

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.29 MB, 47 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>Sinh viên thực hiện: Nguyễn Hồng Ánh</b>

<b>Lại Tiến Cường Lê Văn Tuấn Linh</b>

<b>Nguyễn Đăng Thắng Bùi Khánh Tùng</b>

<b>BÀI THUYẾT TRÌNH NHĨM 2</b>

<b>Truyền thơng vơ tuyến</b>

<b><small>Trường Đại học Thủy LợiLớp 63ĐTVT1 - Nhóm 2</small></b>

<b><small>Mơn: Truyền thơng vơ tuyếnGiảng viên: TS. Mai Văn Lập</small></b>

<small>1</small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỊCH SỬ PHÁT TRIỂN VÀ HÌNH </b>

<i><small>BLE Technology </small></i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

• Phiên bản Bluetooth đầu tiên với tốc độ 1Mpbs, nhưng khả năng tương thích chưa cao.

<b>Bluetooth 2.0 + ERD</b>

• Bản nâng cấp của Bluetooth 2.0 với cơ chế kết nối phạm vi nhỏ.

<b>Bluetooth 2.1 + ERD</b>

<small>•Ra mắt vào năm 2009 với tốc độ lý thuyết lên đến 24 Mbps. Bluetooth 3.0 rất phổ biến trên các mẫu điện thoại lúc bấy giờ, phù hợp với việc truyền dữ liệu nhỏ như hình ảnh, file nhạc,...</small>

<b>Bluetooth 3.0 + HS</b>

<small>•Ra đời vào ngày 30/6/2010 là một phiên bản tối ưu hóa các chuẩn Bluetooth trước đó (Classic Bluetooth) cho phép </small>

<small>truyền tải tốc độ cao nhờ vào Bluetooth High Speed và tiêu tốn năng lượng thấp hơn nhờ vào Bluetooth Low Energy.</small>

<b>Bluetooth 4.0</b>

<small>•Là thế hệ mới nhất hiện tại được SIG trình làng vào ngày </small>

<b><small>16/6/2016 với nhiều cải tiến vượt bật như tầm phủ sóng </small></b>

<b><small>rộng gấp 4 lần, tốc độ nhanh hơn gấp đôi và tiết kiệm điện hơn gấp 2.5 lần so với 4.0.</small></b>

<b>Bluetooth 5.0</b>

<small>•</small> <b><small>Nâng cấp thêm khả năng tìm hướng AoA (Angle of </small></b>

<b><small>Arrival) và AoD (Angle of Departure) giúp xác định vị trí </small></b>

<small>chính xác của thiết bị. Ngồi ra Bluetooth 5.1 cịn trang bị </small>

<b><small>khả năng kết nối khơng cần gói dữ liệu giúp kết nối, </small></b>

<small>đồng bộ đơn giản và ít điện năng hơn</small>

<b>Bluetooth 5.1</b>

<small>•</small> <b><small>Được ra mắt năm 2020 với tính năng giao thức thuộc tính </small></b>

<b><small>nâng cao (EATT) giúp giảm độ trễ và tăng mã hóa trong </small></b>

<b><small>kết nối, tính năng kiểm sốt LEPC để kiểm sốt nguồn và </small></b>

<small>ổn định chất lượng tín hiệu, giảm tỉ lệ lỗi nhận tín hiệu và tính năng ISOC cho phép truyền dữ liệu hai chiều với cùng lúc nhiều thiết bị.</small>

<b>Bluetooth 5.2</b>

<small>3</small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Group 2 - 63ĐTVT1

Bluetooth Low Energy

<small>4</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>Bluetooth Low Energy (BLE) là phiên bản mới </b>

hơn của công nghệ Bluetooth được giới thiệu vào

<b>năm 2010. BLE, còn được gọi là Bluetooth Smart, </b>

được thiết kế cho các ứng dụng tiêu thụ ít năng

lượng như máy theo dõi thể dục, thiết bị nhà thông minh và đèn hiệu. BLE sử dụng cùng băng tần ISM 2,4 GHz như Bluetooth cổ điển nhưng có mức tiêu thụ điện năng thấp hơn và phạm vi ngắn hơn.

Các thiết bị BLE có thể chạy bằng pin dạng đồng xu trong nhiều tháng hoặc thậm chí nhiều năm. BLE có tốc độ dữ liệu tối đa là 1 Mbps và phạm vi lên tới 50 mét. Các thiết bị BLE có thể kết nối với các thiết bị khác bằng nhiều giao thức khác nhau như GATT (hồ sơ thuộc tính chung) để trao đổi dữ liệu và GAP (hồ sơ truy cập chung) để khám phá và kết nối thiết bị.

<b>Bluetooth Low Energy (BLE)</b>

<small>5</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Ưu, nhược điểm của BLE</b>

Ưu điểm của BLE:

<small>• Sự tiêu thụ ít điện năng• Thời gian chờ lâu</small>

<small>• Chi phí phát triển thấp• Cải thiện theo dõi</small>

<small>• Mở quyền truy cập vào tài liệu</small>

<small>• Khoảng khơng quảng cáo tự động chính xác hơn• Sự phổ biến ở điện thoại thông minh</small>

Nhược điểm của BLE:

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>Nguyên lý hoạt động của BLE</b>

<b>BLE </b>

<b>Technology </b>

<small>7</small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>Nguyên lý hoạt động của BLE</b>

Bluetooth Low Energy hiện đang xác định cấu trúc các thông tin trao đổi với nhau dựa trên cấu trúc dữ liệu dạng phân cấp. Cụ thể là một thiết bị Bluetooth Low Energy sẽ hoạt động với vai trò của thiết bị ngoại vi để các thuộc tính, dịch vụ của nó để ứng dụng vào giao tiếp, tương tác với những thiết bị khác. Những thuộc tính trên thiết bị sẽ được xác định dựa vào cấu hình GATT (thuộc tính chung). Từng thuộc tính sẽ thể hiện giá trị dưới hình thức gói nhỏ thơng tin và có khả năng thay đổi qua thời gian.

<i><small>(GATT - Cung cấp cấu hình phát hiện và mơ tả các dịch vụ cho giao thức Bluetooth năng lượng thấp)</small></i>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Ngoài ra, những thuộc tính được xác định thường sẽ chứa những giá trị theo kiểu ghi hoặc kiểu đọc. Thiết bị ngoại vi nào chia sẻ thuộc tính theo kiểu đọc sẽ truyền tải các

thông tin quan trọng cho trung tâm và gửi các dữ liệu đi. Còn những thiết bị ngoại vi chia sẻ thuộc tính theo kiểu ghi sẽ có giao diện nhận các dữ liệu từ trung tâm.

Thông thường dữ liệu BLE sẽ được gửi đi và nhận với hình thức gói nhỏ dữ liệu. Trong

Bluetooth LE 4.1 và 4.0 thì kích thước dữ liệu cao nhất là 27 byte. Trong đó, gói dữ liệu này cịn chứa tiêu đề có kích thước 4 byte làm cho tổng gói tăng lên 31 byte

<small>9</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>Sự khác biệt giữa Bluetooth Classic và Bluetooth Low Energy (BLE)</b>

<i>BLE Technology </i>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Bluetooth Classic & Bluetooth Low Energy</b>

Điểm khác biệt giữa Classic Bluetooth và BLE là phạm vi giao tiếp của chúng. Bluetooth cổ điển có phạm vi phủ sóng dài hơn BLE nên phù hợp với các ứng dụng yêu cầu vùng phủ sóng lớn hơn. BLE có phạm vi ngắn hơn nên phù hợp hơn với các ứng dụng yêu cầu vùng phủ sóng nhỏ hơn như điều hướng trong nhà hoặc các dịch vụ dựa trên vị trí.

Về mặt bảo mật, cả Classic Bluetooth và BLE đều cung cấp các tính năng bảo mật tương tự như

mã hóa và xác thực. Tuy nhiên, thiết bị BLE cũng có thể sử dụng kết nối an toàn, cung cấp lớp bảo mật bổ sung bằng cách sử dụng giao thức trao đổi khóa an tồn để thiết lập kết nối an toàn giữa các thiết bị.

Một trong những khác biệt chính giữa Classic Bluetooth và BLE là mức tiêu thụ điện năng của chúng. Các thiết bị Bluetooth cổ điển tiêu thụ nhiều năng lượng hơn các thiết bị BLE, điều này khiến chúng ít phù hợp hơn với các ứng dụng di động và chạy bằng pin

Các thiết bị BLE được thiết kế để tiêu thụ rất ít năng lượng, khiến chúng trở nên lý tưởng cho các ứng dụng chạy bằng pin nhỏ. Đây là lý do tại sao BLE thường được sử dụng trong các thiết bị IoT như máy theo dõi thể dục, đồng hồ thông minh và các thiết bị đeo khác.

<small>11</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b><small>SNĐặc trưngBluetooth cổ điểnBluetooth năng lượng thấp1</small></b> <small>Băng tần</small> <sub>(Đã sử dụng 2,402 GHZ-2,480 GHZ)</sub><sup>Băng tần ISM 2,4 GHZ</sup> <sub>(Đã sử dụng 2,402 GHZ-2,480 GHZ)</sub><sup>Băng tần ISM 2,4 GHZ</sup>

<b><small>2</small></b> <small>Số kênh79 Kênh mỗi chiều rộng 1 MHZ40 Kênh mỗi chiều rộng 2 MHZ</small>

<b><small>3</small></b> <small>Sử dụng/lan rộng kênhTrải phổ nhảy tần (FHSS)Trải phổ nhảy tần (FHSS)</small>

<b><small>4</small></b> <small>Sự tiêu thụ năng lượngCao (Xấp xỉ 1W)Thấp (Xấp xỉ 0,001 W-0,5 W)</small>

<b><small>5</small></b> <small>Phạm vi liên lạc10m đến 30m10m đến 30m</small>

<b><small>6</small></b> <small>Tốc độ dữ liệu</small> <sub>2-3 Mbps cho EDR</sub><sup>1 Mbps cho BR</sup> <small>500kbps-1Mbps</small>

<b><small>7</small></b> <small>Kỹ thuật điều chế</small> <sub>8-DPSK hoặc π/4-DQPSK cho EDR</sub><sup>GFSK cho BR</sup> <small>GFSK</small>

<b><small>8</small></b> <small>Hướng truyền thôngĐịnh hướng hai chiều (Bidirectional)Hướng một chiều (Unidirectional)</small>

<b><small>9</small></b> <small>Ghép nối thiết bịu cầuKhơng u cầu</small>

<b><small>10</small></b> <small>Có khả năng giọng nóiĐúngKHƠNG</small>

<b><small>11</small></b> <small>Độ trễ100 mili giây6 mili giây</small>

<b><small>12</small></b> <small>Trường hợp sử dụng</small> <sup>Được sử dụng để phát trực tuyến các ứng dụng </sup><small>như truyền phát âm thanh, truyền tệp và tai nghe</small>

<small>Được sử dụng cho dữ liệu cảm biến, điều khiển thiết bị và ứng dụng băng thông thấp</small>

<small>12</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Bluetooth cung cấp khả năng giao tiếp liên tục theo

hai hướng. BLE chỉ giao tiếp theo từng đợt ngắn và

một số kết nối BLE chỉ đi theo một hướng

Bluetooth thực hiện truyền dữ liệu với tốc độ 1-3MB. BLE được giới hạn ở 125KBs-

Bluetooth có khả năng thoại cịn BLE thì khơng

có độ trễ là 6ms. Hãy nhớ rằng độ trễ càng thấp càng

Bluetooth sử dụng công suất

1 Watt. BLE sử dụng từ 0,01 đến 0,5 Watt. Điều này có nghĩa là một số thiết bị BLE

sử dụng ít năng lượng hơn 100 lần

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Mơ hình mạng truyền thông cho BLE

<i>BLE Technology </i>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Một thiết bị BLE có thể giao tiếp với bên

ngồi thơng qua 2 cơ chế: Broadcasting hoặc Connection

Mỗi cơ chế có thế mạnh và giới hạn riêng, cả hai được thiết lập bởi GAP (Generic Access Profile).

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Broadcasting và Observing</b>

<b><small>• Thiết bị Broadcaster: Gửi các gói tin quảng bá </small></b>

<small>phi kết nối đến bất kỳ thiết bị nào có thể nhận.</small>

<b><small>• Thiết bị Observer: Qt liên tục theo tần số </small></b>

<small>đặt trước để nhận các gói tin quảng bá phi kết nối</small>

<small>Đây là kiểu truyền thông cho phép một thiết bị có thể truyền dữ liệu đến nhiều thiết bị khác nhau cùng lúc (một chiều). Đây là cơ chế nhanh chóng và dễ sử dụng, là lựa chọn tốt nếu muốn truyền lượng nhỏ dữ liệu đến nhiều thiết bị cùng lúc. Hạn chế là dữ liệu khơng được bảo đảm an ninh, vì thế khơng phù hợp để truyền các dữ liệu nhạy cảm.</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

•Thiết bị Central (Master): Qt các gói tin quảng bá hướng kết nối theo tần số đặt trước, khi phù hợp thì khởi tạo một kết nối với một peripheral. Central quản lý timing và bắt đầu những sự trao đổi dữ liệu theo chu kỳ.

•Thiết bị Peripheral (Slave): Phát các gói tin quảng bá hướng kết nối theo chu kỳ và chấp nhận kết nối do central yêu cầu.

•Khởi tạo kết nối:

oKhi muốn kết nối, slave phát các gói tin quảng bá ra khơng gian.

oCentral nhận được các gói tin quảng bá của slave, trong đó chứa các thông tin cần thiết cho phép kết nối với slave đó.

oDựa trên đó, central gửi yêu cầu kết nối đến slave để thiết lập một kết nối riêng giữa hai thiết bị.

oKhi kết nối được thiết lập, slave dừng quảng bá và hai thiết bị có thể bắt đầu trao đổi dữ liệu hai

chiều. Vai trò Master và Slave không ảnh hưởng đến việc truyền dữ liệu, mặc dù Master là bên quản lý thiết lập kết nối.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Phương pháp điều chế GFSK</b>

BLE Technology

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>Phương </b>

<b>pháp điều chế GFSK</b>

• Kỹ thuật FSK vận chuyển thông tin bằng cách thay đổi tần số sóng mang để đại diện cho mức 0 và 1. Nhị phân 1 được đại diện bằng cách tăng tần số sóng mang và nhị phân 0 được đại điện bằng cách giảm tần số sóng mang.

• GFSK sử dụng bộ lọc Gaussian cho tín hiệu trước khi điều chế bằng FSK. Bộ lọc Gaussian sẽ lọc trơn các cạnh nhọn của xung tần số do vậy có thể tránh được các tần số cao tại thời điểm switching.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Sơ đồ điều chế GFSK</b>

Sóng băng gốc Bộ lọc Gauss Điều chế FSK Sóng truyền đi

Sóng mang

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>Kênh truyền và gói tin của BLE</b>

BLE Technology

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>I. Kênh truyền</b>

 Ở BLE có tổng cộng 40 kênh truyền khác nhau trong dải 2.4Ghz và có băng bảo vệ 2Mhz

 Kênh 37 (2402Mhz), 38

(2426Mhz) ,39 (2480Mhz ) được gọi là các kênh quảng cáo chính có chức năng là thơng báo với các thiết bị ngoại vi

 37 kênh còn lại là kênh quảng cáo phụ chúng cũng là những kênh để truyền dữ liệu khi được kết nối

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>II. Gói tin của BLE</b>

 Ở trong BLE gói tin hay gói quảng cáo có cấu trúc tương tự nhau  Với lớp vật lý khơng mã hóa (UNCODED PHY)

1) Preamble (1 bytes): để đảm bảo tín hiệu bên thu có thể nhận được bằng các bit đồng bộ2) Access Address (4 bytes): xác định một kênh truyền cụ thể trong q trình truyền thơng3) CRC (3bytes): Mã phát hiện lỗi CRC

4) Protocol Data Unit (2 – 39 bytes): giúp định dạng cách dữ liệu được gửi và nhận giữa các thiết bị BLE

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

a) Gói quảng cáo

+PDU type: Xác định kiểu quảng cáo

 ADV_IND (Advertising Indication): Loại PDU này được sử dụng trong quảng cáo không cụ thể. Truyền bản tin tới mọi thiết bị

 ADV_DIRECT_IND (Advertising Direct

Indication): Loại PDU này được sử dụng để quảng cáo trực tiếp với một thiết bị cụ thể.

 ADV_SCAN_RSP (Scanning Response): Loại PDU này được sử dụng để cung cấp thông tin bổ sung khi một thiết bị quét đã gửi yêu cầu quét

+Length: Chiều dài trường payloadPayload

+Chứa địa chỉ, dữ liệu quảng cáo

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

b) Gói dữ liệu

Ở đây có thêm trường MIC "Message Integrity Check" (Kiểm tra tính tồn vẹn của tin nhắn). Trường MIC được sử dụng để đảm bảo rằng dữ liệu trong PDU (Packet Data Unit) kênh dữ liệu khơng bị thay đổi trong q trình truyền

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>LLID: Trường này cho biết gói tin là PDU dữ liệu LL hay PDU điều khiển LL. LLID chủ yếu xác </b>

định loại dữ liệu mà PDU đó mang theo và quy định cách thiết bị BLE nên xử lý dữ liệu đó.

<b>SN (Sequence Number): Trường này có chiều dài 1 bit và xác định số thứ tự của PDU hiện </b>

tại. Nó giúp xác định thứ tự trong một truyền dữ liệu.

<b>MD (More Data): Trường này có chiều dài 1 bit và chỉ ra xem có thêm dữ liệu nằm ở phía </b>

sau PDU hiện tại hay khơng. Nếu giá trị là 1, có thêm dữ liệu. Nếu giá trị là 0, khơng cịn dữ liệu.

<b>Length (Độ Dài): Trường này có chiều dài 8 bit và chỉ độ dài của dữ liệu payload.</b>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Với lớp vật lý mã hóa (CODED PHY)

Khối FEC 1 ln ln được mã hóa với S = 8

Khối FEC 2 được mã hóa S=2 hoặc S=8 (tùy vào cấu hình của khối CI)

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<b>Kỹ thuật truyền kênh của BLE</b>

BLE Technology

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>Kỹ thuật truyền </b>

<b>Đặt vấn đề:</b>

BLE hiện tại đang sử dụng băng tần 2.4GHz là 1 băng tần khơng có cho giấy phép vì vậy rất nhiều thiết bị sử dụng băng tần này cho nên nhiễu tín hiệu rất là cao. Vậy BLE đã xử lí việc này thế nào

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>Frequency hopping spread spectrum (FHSS) </b>

•Ở FHSS, BLE sẽ chia băng tần thành 40 kênh nhỏ hơn (0 – 39) và nhảy (hopping) liên tục giữa các kênh đó khi truyền dữ liệu

•Hopping 1600 times/s

•Chỉ Tx và Rx mới biết mẫu nhảy (hopping pattern) của tín hiệuTín hiệu nhảy 1 cách ngẫu nhiên

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<b><small>Hopping pattern</small></b>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Sơ đồ khối máy phát

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<b>Adaptive frequency hopping</b>

- Được sử dụng ở phiên bản v1.2 của Bluetooth truyền thống

- Kỹ thuật dựa trên FHSS

- Có khả năng thích nghi với mơi trường truyền

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<b>Adaptive-frequency-hopping (AFH)</b>

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Phương pháp phát hiện lỗi và sửa lỗi của BLE

BLE Technology

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

Giá trị chuỗi bit kiểm tra hay chuỗi CRC là số dư của phép chia của chuỗi bit dữ liệu cho một chuỗi bit đa thức sinh (Generator Polynomial). Đa thức sinh là số chia sẽ khác nhau tùy vào mỗi giao thức quy định. Phép chia trong tính tốn CRC sử dụng cách tính module - 2.

Chuỗi CRC sẽ được tạo bởi bên phát

Kiểm tra CRC được thực hiện bằng cách: Lấy chuỗi dữ liệu có cả các bit kiểm tra CRC chia cho đa thức sinh. Nếu số dư khác "0" thì dữ liệu nhận bị lỗi.

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

• FEC (Forward error

correction) phương pháp sửa lỗi trước là phương pháp tự phát hiện lỗi và sửa lỗi khơng u cầu truyền lại

• Các loại mã: Hamming, tích chập, mã lặp ,…

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<b>Bảo mật AES – 128 trong BLE</b>

BLE Technology

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<b>Tiêu chuẩn bảo mật AES</b>

Tiêu chuẩn Advanced Encryption

Standard (AES) - Tiêu chuẩn mã hóa tiên tiến là một thuật tốn tiêu chuẩn của

<b>chính phủ Hoa Kỳ nhằm mã hóa và giải </b>

<b>mã dữ liệu do Viện Tiêu chuẩn và Công </b>

nghệ quốc gia Hoa Kỳ (National Institute Standards and Technology – NIST) phát hành ngày 26/11/2001

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<b>Đặc điểm kỹ thuật</b>

<small>AES là một thuật tốn mã hóa khối đối xứng với độ dài khóa là 128 bít (một chữ số nhị phân có giá trị 0 hoặc 1), 192 bít và 256 bít tương ứng gọi là AES-128, AES-192 và AES-256. AES-128 sử dụng 10 vòng </small>

<small>(round), AES-192 sử dụng 12 vòng và AES-256 sử dụng 14 vịng.</small>

<small>Vịng lặp chính của AES thực hiện các hàm sau: SubBytes()</small>

<small>ShiftRows() MixColumns() AddRoundKey()</small>

<small>Ba hàm đầu của một vòng AES được thiết kế để ngăn </small>

<b><small>chặn phân tích mã bằng phương thức “mập mờ“ (confusion) và phương thức “khuếch tán“ (diffusion), còn hàm thứ tư mới thực sự được thiết kế để mã hóa dữ liệu. Trong đó “khuếch tán“ có nghĩa là các kiểu mẫu trong bản rõ (Dữ liệu đầu vào của phép mã hóa hoặc dữ liệu đầu ra của phép giải mã) được phân tán trong các bản mã (Dữ liệu đầu ra của phép mã hóa hoặc dữ liệu đầu vào của phép giải mã), “mập mờ“ nghĩa là mối quan hệ giữa bản rõ và bản mã bị che </small></b>

<small>Một cách đơn giản hơn để xem thứ tự hàm AES là: Trộn từng byte (SubBytes)</small>

<small>Trộn từng hàng (ShiftRows)Trộn từng cột (MixColumns)Mã hóa (AddRoundKey)</small>

</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41">

<b>Đặc tả thuật tốn AES</b>

• Đối với thuật tốn AES-128, độ dài của khối đầu vào, khối đầu ra và trạng thái là 128 bít, số các cột (các từ có độ dài 32 bít) tạo nên trạng thái là Nb = 4,

• Độ dài khóa mã K là 128. Độ dài khóa được biểu diễn bằng Nk = 4 thể hiện số lượng các từ 32 bít (số cột) của khóa mã.

• Số vòng này được ký hiệu là Nr. Nr = 10 khi Nk = 4

• Đối với phép mã hóa và phép giải mã, thuật toán AES sử dụng một hàm vòng gồm bốn phép biến đổi byte như sau: phép thay thế byte (một nhóm gồm 8 bít) sử dụng một bảng thay thế (Hộp-S), phép dịch chuyển hàng của mảng trạng thái theo các offset (số lượng

byte) khác nhau, phép trộn dữ liệu trong mỗi cột của mảng trạng thái, phép cộng khóa vịng và trạng thái. Các phép biến đổi này (cũng như các phép nghịch đảo tương ứng của

chúng) được mô tả trong phần dưới đây.

</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">

<b>Phép mã hóa</b>

• Tại thời điểm bắt đầu phép mã hóa, đầu vào được sao chép vào mảng trạng thái sử dụng các quy ước. Sau phép cộng khóa vịng khởi đầu, mảng trạng thái được biến đổi bẳng cách thực hiện một hàm vòng liên tiếp với số vòng lặp là 10, vòng cuối cùng khác biệt không đáng kể với Nr - 1 vòng đầu tiên. Trạng thái cuối cùng được chuyển thành đầu ra. Hàm vịng được tham số hóa bằng cách sử dụng một lược đồ khóa – mảng một

chiều chứa các từ 4 byte nhận từ phép mở rộng khóa.

• Phép biến đổi cụ thể gồm SubBytes(),

ShiftRows(), MixColumns() và AddRoundKey() dùng để xử lý trạng thái.

</div>

×