Tải bản đầy đủ (.pdf) (76 trang)

(Luận văn thạc sĩ) nghiên cứu thiết kế một số thuật toán mật mã hạng nhẹ luận văn ths toán học 604601

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 (1.14 MB, 76 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
—————————

Vũ Thị Ngân

NGHIÊN CỨU THIẾT KẾ MỘT SỐ THUẬT TOÁN
MẬT MÃ HẠNG NHẸ

LUẬN VĂN THẠC SĨ KHOA HỌC

Hà Nội - 2017


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
—————————

Vũ Thị Ngân

NGHIÊN CỨU THIẾT KẾ MỘT SỐ THUẬT TỐN
MẬT MÃ HẠNG NHẸ

Chun ngành: Cơ sở tốn cho tin học
Mã số
: 60460110

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Hải Vinh


Hà Nội - 2017


LỜI CẢM ƠN
Được sự phân cơng của khoa Tốn - Cơ - Tin học, Trường Đại học Khoa Học Tự
Nhiên, Đại Học Quốc Gia Hà Nội, được sự đồng ý của Thầy giáo hướng dẫn TS. Nguyễn
Hải Vinh, tôi đã thực hiện đề tài "Nghiên cứu thiết kế một số thuật tốn mật mã hạng
nhẹ".
Để hồn thành luận văn này, tơi xin bày tỏ lịng biết ơn sâu sắc tới TS. Nguyễn
Hải Vinh - người Thầy đã trực tiếp hướng dẫn và chỉ bảo giúp tơi hồn thành luận văn
thạc sĩ.
Tôi cũng xin chân thành cảm ơn các Thầy, Cô giáo đã tận tình hướng dẫn, giảng
dạy trong suốt quá trình tơi học tập và rèn luyện tại trường.
Qua đây, tơi xin gửi lời cảm ơn tới gia đình, bạn bè, đồng nghiệp - những người
đã luôn bên cạnh cổ vũ, động viên, giúp đỡ tơi trong suốt q trình học tập và thực hiện
luận văn này.
Mặc dù tôi đã vô cùng cố gắng thực hiện luận văn nhưng chắc rằng khơng thể
tránh khỏi những thiếu sót nhất định. Tơi rất mong được sự góp ý của q Thầy, Cơ giáo
và các bạn.
Tôi xin chân thành cảm ơn!.
Hà Nội, ngày..... tháng ..... năm 2017
Học viên

Vũ Thị Ngân


BẢNG KÍ HIỆU, CHỮ VIẾT TẮT
STT
1
2


Kí hiệu
AES
ASIC

3

CMOS

4
5
6
7
8

DES
FF
FSM
GE
RFID

9

SPN

Dạng đầy đủ
Advanced Encryption Standard
Application Specific Integrated
Circuit
Complementary Metal Oxide

Semiconductor
Data Encryption Standard
Flip-Flop
Finite State Machine
Gate Equivalent
Radio Frequency Identification
Substitution-permutation
network

2

Ý nghĩa
Tiêu chuẩn mã hóa tiên tiến
Thuật ngữ chỉ vi mạch
tích hợp chun dụng
Cơng nghệ dùng để chế tạo
mạch tích hợp
Tiêu chuẩn mã hóa dữ liệu
Một đa hài ổn định kép
Máy trạng thái hữu hạn
Cổng tương đương
Công nghệ nhận dạng đối
tượng bằng sóng vơ tuyến
Mạng thay thế - hốn vị


Danh sách hình vẽ
1

Sự thỏa hiệp trong thiết kế mật mã hạng nhẹ . . . . . . . . . . . . . . . .


12

2

Mơ hình mạng Feistel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3

Mơ hình mạng SPN (Substitution and Permutation Network) . . . . . . .

18

4

Sơ đồ thuật tốn mã hóa của PRESENT . . . . . . . . . . . . . . . . . . .

31

5

Sơ đồ thuật toán giải mã của PRESENT . . . . . . . . . . . . . . . . . . .

35

6

Q trình sinh khóa của PRESENT - 80 . . . . . . . . . . . . . . . . . . .


39

7

Phân nhóm các hộp-S trong PRESENT cho mục đích thám mã . . . . . .

41

8

Datapath của kiến trúc PRESENT dựa trên vòng . . . . . . . . . . . . . .

50

9

Datapath của kiến trúc PRESENT nối tiếp . . . . . . . . . . . . . . . . .

52

10

Datapath của kiến trúc PRESENT song song . . . . . . . . . . . . . . . .

53

11

Hộp-S sử dụng trong mã hóa và giải mã của chương trình . . . . . . . . .


61

12

Văn bản cần mã hóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

13

Bản mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

14

Bản kết quả giải mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

3


Danh sách bảng
2

Yêu cầu về diện tích và số lượng cổng tương ứng từ các thành phần tiêu
chuẩn đã chọn của thư viện UMCL18G212T3 . . . . . . . . . . . . . . .


25

3

Bảng thay thế hộp-S của PRESENT . . . . . . . . . . . . . . . . . . . . .

32

4

Bảng lớp hoán vị của PRESENT . . . . . . . . . . . . . . . . . . . . . . .

33

5

Bảng phân phối vi sai của hôp-S PRESENT . . . . . . . . . . . . . . . .

43

6

Yêu cầu diện tích bề mặt của PRESENT [8] . . . . . . . . . . . . . . . . .

51

7

Bảng tóm tắt kết quả thực hiện của PRESENT dựa trên ba kiến trúc . . .


54

8

Bảng so sánh kết quả thực hiện của PRESENT dựa trên ba kiến trúc . . .

55

11

Bảng so sánh thời gian thực hiện của thuật toán PRESENT với AES và
DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

4


Mục lục
Phần mở đầu

7

Chương 1 Tổng quan về mật mã hạng nhẹ

10

1.1

Sơ lược về mật mã hạng nhẹ (lightweight cryptograhy) . . . . . . . . . .


10

1.2

Chiến lược thiết kế cho mật mã hạng nhẹ . . . . . . . . . . . . . . . . . .

14

1.2.1

Thiết kế thuật toán mật mã khối . . . . . . . . . . . . . . . . . . .

15

1.2.2

Yêu cầu thiết kế cho thuật toán mã khối hạng nhẹ . . . . . . . . .

18

Giới thiệu về thiết kế ASIC . . . . . . . . . . . . . . . . . . . . . . . . . .

21

1.3.1

Điện năng tiêu thụ . . . . . . . . . . . . . . . . . . . . . . . . . .

21


1.3.2

Các độ đo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

1.3.3

Chiến lược kiến trúc . . . . . . . . . . . . . . . . . . . . . . . . .

23

Các thuộc tính phần cứng trong xây dựng thiết kế mật mã khối . . . . . .

25

1.4.1

Trạng thái lưu trữ bên trong . . . . . . . . . . . . . . . . . . . . .

25

1.4.2

Gây lẫn và khuếch tán (Confusion and diffusion) . . . . . . . . .

26

1.3


1.4

Chương 2 Thuật toán mật mã khối hạng nhẹ PRESENT

28

2.1

Giới thiệu về mật mã khối PRESENT . . . . . . . . . . . . . . . . . . . .

28

2.2

Các vấn đề thiết kế cho PRESENT . . . . . . . . . . . . . . . . . . . . . .

29

2.3

Mơ tả thuật tốn mã hóa của PRESENT . . . . . . . . . . . . . . . . . . .

31

2.3.1

Phép tốn trộn khóa . . . . . . . . . . . . . . . . . . . . . . . . .

31


2.3.2

Phép toán thay thế . . . . . . . . . . . . . . . . . . . . . . . . . .

32

2.3.3

Phép toán hoán vị . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.3.4

Vòng lặp cuối . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

Mô tả thuật toán giải mã của PRESENT . . . . . . . . . . . . . . . . . . .

35

2.4.1

Phép tốn trộn khóa . . . . . . . . . . . . . . . . . . . . . . . . .

35

2.4.2


Phép toán hoán vị nghịch đảo . . . . . . . . . . . . . . . . . . . .

36

2.4.3

Phép toán thay thế nghịch đảo . . . . . . . . . . . . . . . . . . . .

37

2.4

5


2.5

Sinh khóa của mật mã khối PRESENT . . . . . . . . . . . . . . . . . . .

39

2.6

Đánh giá bảo mật của mật mã khối PRESENT . . . . . . . . . . . . . . .

41

2.6.1


Thám mã vi sai và thám mã tuyến tính . . . . . . . . . . . . . . .

41

2.6.2

Tấn công đại số (Algebraic attacks) . . . . . . . . . . . . . . . . .

47

Thực hiện cứng hóa trên ASIC . . . . . . . . . . . . . . . . . . . . . . . .

49

2.7.1

Kiến trúc dựa theo vòng . . . . . . . . . . . . . . . . . . . . . . .

49

2.7.2

Kiến trúc nối tiếp . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

2.7.3

Kiến trúc song song . . . . . . . . . . . . . . . . . . . . . . . . .


52

2.7.4

So sánh kết quả đạt được giữa các kiến trúc . . . . . . . . . . . .

53

2.7

Chương 3 Xây dựng chương trình thực hiện thuật tốn mật mã khối hạng nhẹ
PRESENT
57
3.1

3.2

3.3

Sơ đồ thuật toán và xây dựng chương trình . . . . . . . . . . . . . . . . .

57

3.1.1

Sơ đồ thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

3.1.2


Ngôn ngữ và môi trường thực hiện . . . . . . . . . . . . . . . . .

61

Kết quả thực hiện chương trình . . . . . . . . . . . . . . . . . . . . . . . .

61

3.2.1

Sử dụng thuật tốn mật mã khối PRESENT để mã hóa và giải mã

61

3.2.2

Sử dụng thuật toán mật mã khối AES và DES để mã hóa và giải
mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

Đánh giá kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

Kết luận

67


Tài liệu tham khảo

68

Phụ lục

72

6


PHẦN MỞ ĐẦU
Trước đây khi cơng nghệ máy tính chưa phát triển, nói đến vấn đề an tồn bảo mật
thơng tin (Information Security), chúng ta thường hay nghĩ đến các biện pháp nhằm đảm
bảo cho thông tin được trao đổi hay cất giữ một cách an tồn và bí mật. Với việc sử dụng
một số các biện pháp như đóng dấu, ký niêm phong hay lưu trữ trong các tủ hồ sơ, két
sắt, thậm trí trong lĩnh vực quân sự cịn sử dụng mật mã hóa thơng điệp.
Tuy nhiên, ngày nay với sự phát triển của cơng nghệ máy tính, thì việc lưu trữ và
bảo mật thơng tin được thực hiện một cách phổ biến trên máy vi tính. Với sự phát triển
mạnh mẽ của công nghệ điện tử bán dẫn, các cơng nghệ mạng khơng dây thì ngày càng
có nhiều thông tin được lưu trữ và gửi đi trên mạng Internet. Đa số các thiết bị cơng nghệ
đều có cấu hình khá cao, điều này dẫn đến việc cho phép triển khai dễ dàng các thuật
tốn mã hóa truyền thống như DES, hay Tiêu chuẩn mã hóa nâng cao AES.
Ngồi ra, khi mà máy tính đã trở nên phổ biến, cùng với xu hướng phát triển của
hệ thống nhúng. "Hệ thống nhúng là một thuật ngữ để chỉ một hệ thống có khả năng tự
trị được nhúng vào trong một mơi trường hay một hệ thống mẹ. Đó là các hệ thống tích
hợp (cả phần cứng và phần mềm) được triển khai trong nhiều lĩnh vực như công nghiệp,
tự động hóa điều khiển, quan trắc và truyền tin" [6]. Đặc điểm của các hệ thống nhúng
là hoạt động ổn định và có tính năng tự động hóa cao. Một phần chức năng không thể
tách rời của các hệ thống nhúng này là lưu trữ, truy cập và truyền tải thơng tin cá nhân.

Do đó, tính bảo mật và tính nhất quán của các nguồn lực và dịch vụ trong các thiết bị ở
các lĩnh vực nói trên là một vấn đề đáng chú ý, cần được xem xét trong q trình thiết kế.
Có rất nhiều kỹ thuật mã hóa như mã hóa khóa đối xứng và mã hóa khóa cơng khai có
thể được sử dụng để bảo vệ tính bảo mật và tính nhất qn của thơng tin được lưu trữ và
truyền đi. Tuy nhiên, trong bối cảnh của các hệ thống nhúng, vấn đề đang gặp phải là hạn
chế về nguồn tài nguyên của thiết bị, kết hợp với nhu cầu cần thiết về kích thước nhỏ và
chi phí sản xuất thấp hơn để phục vụ các cơng việc và giải quyết bài toán chuyên dụng,
đơn giản, như: Các thẻ thơng minh (smartcard), vi điều khiển (microcontroller) thì ngày
càng tăng. Trong khi đó, các mã khối truyền thống hiện có như DES hay tiêu chuẩn mã
hóa nâng cao AES khó có thể thực hiện được cho mọi kiểu thiết bị (bộ vi xử lý), do sự
phức tạp, sử dụng nhiều tài nguyên, năng lượng. Một mật mã an tồn truyền thống khác
cũng khó có thể cài đặt hiệu quả trên các thiết bị có năng lực tài nguyên hạn chế như các
bộ vi điều khiển 4 bít, 8 bít, hay 16 bít có kích cỡ RAM nhỏ, tần số thấp. Vì vậy, nhu
7


cầu cần có các hệ mật mã (mã khóa cơng khai, mã khối, mã dòng, hàm băm...) riêng, áp
dụng cho các thiết bị/hệ thống bị hạn chế đã và đang được đặt ra trong những năm qua.
Một trong những lĩnh vực nghiên cứu mới nổi của mật mã từ vài năm gần đây để đáp ứng
các yêu cầu hạn chế đó là mật mã hạng nhẹ (lightweight cryptography). Trong phần tổng
quan chung của tiêu chuẩn ISO/IEC 29192-1 đã đưa ra khái niệm: Mật mã hạng nhẹ là
mật mã phù hợp với các cài đặt trong những môi trường bị hạn chế và cụ thể trong tiêu
chuẩn ISO/IEC 29192-2 đã đưa ra mật mã tiêu biểu cho các tài nguyên hạn chế là chuẩn
mã khối hạng nhẹ PRESENT. [1].
Những hạn chế đó dựa trên các đánh giá về diện tích chíp (chip area), năng lượng
tiêu thụ (energy consumption), kích cỡ mã nguồn chương trình (program code size), kích
cỡ RAM, băng thơng (communication bandwidth) và thời gian thực hiện (execution time)
tham khảo trong. Trong những trường hợp này, sử dụng các thuật toán mã khối hạng nhẹ
là phù hợp và cần được quan tâm nghiên cứu [1].
Từ nhu cầu cần có các mật mã phù hợp với các cài đặt trong những môi trường bị

hạn chế và theo tiêu chuẩn ISO/IEC 29192-1 đã đưa ra khái niệm về mật mã hạng nhẹ
phù hợp với những mơi trường đó, tơi quyết định chọn đề tài: "Nghiên cứu thiết kế một
số thuật toán mật mã hạng nhẹ".
Mục đích: Nghiên cứu việc thiết kế một thuật tốn mật mã hạng nhẹ mới, có thể
thực hiện trên các thiết bị có tài nguyên hạn chế.
Đối tượng nghiên cứu của luận văn: bao gồm mật mã hạng nhẹ, thuật toán mật
mã khối PRESENT, thực hiện thuật toán mã khối PRESENT trên ASIC.
Nội dung nghiên cứu của luận văn: Nghiên cứu tổng quan mật mã hạng nhẹ.
Nghiên cứu thiết kế mật mã khối hạng nhẹ mới PRESENT dành cho các thiết bị có mơi
trường hạn chế như thẻ RFID, các hệ thống nhúng và mạng cảm biến. Nghiên cứu việc
đánh giá về độ bảo mật và hiệu suất phần cứng trong thiết kế thuật toán, các yêu cầu phần
cứng cho PRESENT đang được so sánh với các mật mã dịng tốt nhất hiện nay. Xây dựng
chương trình thực hiện thuật toán và đánh giá kết quả chạy chương trình.
Dựa vào mục đích, đối tượng và nội dung nghiên cứu, luận văn được trình bày bao
gồm 3 chương chính cùng với phần mở đầu, kết luận và phụ lục:
• Chương 1: Tổng quan về mật mã hạng nhẹ
• Chương 2: Thuật toán mật mã khối hạng nhẹ PRESENT

8


• Chương 3: Xây dựng chương trình thực hiện thuật toán mật mã khối hạng nhẹ

PRESENT

9


Chương 1
1.1


Tổng quan về mật mã hạng nhẹ

Sơ lược về mật mã hạng nhẹ (lightweight cryptograhy)

Một xu hướng phát triển mới của ngành CNTT ngày nay là việc triển khai rộng
rãi các thiết bị tính tốn nhỏ. Các thiết bị này không chỉ thường xuyên được sử dụng trong
các mặt hàng tiêu dùng mà cịn tạo thành một phần khơng thể thiếu của cơ sở hạ tầng
truyền thông phổ biến. Tuy nhiên, việc triển khai như vậy rõ ràng sẽ mang lại một loạt
các nguy cơ bảo mật. Vì vậy, cần có các giải pháp mật mã cho việc triển khai trên các
thiết bị tính tốn nhỏ.
Ngồi ra, ngày càng nhiều các sản phẩm được nâng cấp thành các thiết bị thâm
nhập khắp nơi nhờ năng lực tính tốn nhúng. Quan hệ mật thiết giữa các thiết bị này dẫn
đến triển vọng rằng "tính tốn khắp nơi" (ubiquitous computing) sẽ là mơ hình tiếp theo
trong cơng nghệ thơng tin.
Tính tốn khắp nơi (ubiquitous computing): Là một khái niệm kỹ thuật để chỉ một
xu hướng trong việc phát triển các phương pháp tính tốn. Thay vì chúng ta tính tốn xử
lý trong một chiếc máy tính để bàn hay máy tính xách tay của mình, thì kỹ thuật này sẽ
cho phép chúng ta đưa việc tính tốn vào chính mơi trường sống của mình, hay nói một
cách đơn giản là việc tính tốn xử lý sẽ được thực hiện mọi lúc mọi nơi [4].
Các thiết bị thâm nhập khắp nơi đã phát triển bao gồm khơng chỉ máy tính xách
tay, notebooks và điện thoại thơng minh (smartphones) mà cịn bao gồm máy tính bảng,
"thiết bị có thể mang theo" (wearable devices), hệ thống chiếu sáng, dụng cụ và cảm
biến, vv [4].
Việc triển khai hàng loạt của các thiết bị thâm nhập khắp nơi hứa hẹn đem đến
nhiều lợi ích như chi phí “hậu cần” thấp hơn, các chuỗi cung cấp được tối ưu hoặc có
thêm các dịch vụ dựa trên xác định vị trí. Ví dụ, cơng nghệ RFID có thể là công nghệ cho
phép đối với liên mạng của các vật dụng (IOT - internet of things). Về cơ bản, các thẻ
RFID bao gồm một hệ thống phát nhận tín hiệu và một anten có khả năng nhận dữ liệu từ
xa, từ một máy chủ RFID hoặc thiết bị đọc. Nhìn chung, các thẻ RFID có thể được chia

thành các thiết bị chủ động và bị động: các thẻ chủ động được trang bị nguồn cung cấp
năng lượng riêng (ví dụ ở dạng pin), trong khi các thẻ bị động chỉ dựa vào năng lượng của
tín hiệu mạng được truyền đi bởi thiết bị đọc. Do vậy, các thiết bị RFID bị động khơng
chỉ rẻ hơn, mà cịn có kích thước chíp nhỏ hơn và có chu kỳ sống lâu hơn so với các thẻ
10


RFID chủ động. Tính thâm nhập khắp nơi của thiết bị RFID dẫn đến việc triển khai hàng
loạt và việc triển khai hàng loạt lại kéo theo các ràng buộc giảm giá thành đối với công
nghệ được sử dụng. Các cài đặt phần mềm thông thường bị ràng buộc về dung lượng của
bộ xử lý, bộ nhớ và năng lượng. Vấn đề năng lượng có thể được giải quyết trong quá trình
thiết kế bằng cách tránh các truy cập tiêu thụ năng lượng tới bộ nhớ EEPROM hoặc bộ
nhớ Flash và bằng cách giảm các chu kỳ đồng hồ được u cầu. Các địi hỏi giảm chi
phí đưa đến các yêu cầu năng lực, năng lượng và diện tích cần phải giữ cực tiểu đối với
ASIC. Một thẻ RFID giá thành thấp, đầy đủ tính năng, có thể có từ 1.000 đến 10.000 GE
(Gate Equivalent), trong đó, các thành phần an tồn chỉ có khoảng 200 - 2.000 GE [8].
Bên cạnh những lợi ích ở trên, tính tốn khắp nơi cũng chứa đựng nhiều hiểm họa.
Nhiều ứng dụng yêu cầu cao về độ an toàn, chẳng hạn như các mạng cảm biến không dây
cho các ứng dụng quân sự, tài chính hoặc tự động hóa. Một nhân tố làm tăng nguy cơ mất
an toàn là các thiết bị thâm nhập khắp nơi thường triển khai trong một môi trường không
được kiểm sốt, là một mơi trường mà đối phương có thể truy cập vật lý tới thiết bị hoặc
điều khiển thiết bị. Điều đó làm tăng thêm khả năng tấn công vật lý vào các kịch bản
tấn công tiềm năng, nhất là các tấn công kênh kề, chẳng hạn như phân tích năng lượng
vi sai/phân tích năng lượng tương quan hoặc các tấn công bức xạ điện từ. Thực tế đã chỉ
ra rằng, các giải pháp an tồn có sử dụng một thuật tốn an tồn về mặt mật mã, nhưng
được cài đặt khơng có các biện pháp chống tấn cơng kênh kề thì có thể dễ dàng bị phá
bởi các tấn cơng như vậy. Vì thế, khả năng an toàn của bản thân việc cài đặt cần được hết
sức chú trọng [8].
Chính sự phát triển của tính tốn khắp nơi, mà người ta cần những thuật toán hạng
nhẹ để có thể cài đặt trong các thiết bị thâm nhập khắp nơi với kích thước nhỏ và năng

lực tính tốn ở mức độ thích hợp. Mật mã hạng nhẹ hướng tới việc tạo ra các giải pháp
cài đặt rất gọn nhẹ nhưng khơng làm giảm q nhiều về tính an tồn. Thực tế, vấn đề
chính của mật mã hạng nhẹ là “thỏa hiệp” giữa độ an tồn và tính hiệu quả trong cài đặt
của các thuật toán mật mã và được thể hiện trong hình 1 [1].
Về độ an tồn, mục tiêu xây dựng các hệ mã hạng nhẹ là thiết kế một hệ mật
không quá yếu (và không với mục đích thay thế các thuật tốn mã truyền thống khác),
nhưng phải đủ an tồn (tất nhiên khơng thể kháng lại được các đối phương có đủ mọi
điều kiện), chi phí (cài đặt, sản xuất) thấp và một yêu cầu quan trọng đối với các thiết bị
kiểu này là tính gọn nhẹ. Tóm lại, cần xây dựng một hệ mật không phải tốt nhất, mà phải
cân bằng giữa giá thành, hiệu suất và độ an tồn. Tuy nhiên, rất khó để có thể tối ưu hóa
11


Hình 1: Sự thỏa hiệp trong thiết kế mật mã hạng nhẹ
cả 3 khía cạnh trên [1].
Về hiệu quả trong cài đặt, thường được đánh giá qua các độ đo sau: diện tích bề
mặt (Area), điện năng tiêu thụ và thơng lượng. Trong đó, tỷ lệ thơng lượng với diện tích,
được dùng làm độ đo cho tính hiệu quả phần cứng [1].
Có rất nhiều thuật tốn mật mã hạng nhẹ đã được đề xuất trong thời gian gần đây.
Thay vì thiết kế ra một mật mã hồn tồn mới thì hầu hết các thiết kế được lấy ra từ các
mật mã truyền thống nhưng với một vài thay đổi nhỏ. Thuật toán mật mã hạng nhẹ (giống
như bất kỳ mật mã nguyên thủy khác) có thể được chia thành các loại như sau:
1. Mật mã khóa đối xứng hạng nhẹ
2. Mật mã khóa cơng khai hạng nhẹ
3. Hàm băm hạng nhẹ
Một nhược điểm đã được biết đến của các nguyên thủy mật mã khóa cơng khai là
chúng địi hỏi chi phí tính tốn lớn hơn so với các ngun thủy mật mã khóa đối xứng.
Việc thiết kế được một thuật tốn mật mã khóa cơng khai thuộc hạng nhẹ khó hơn so với
việc thiết kế ra một thuật toán mật mã khóa đối xứng hạng nhẹ. Với nhu cầu ứng dụng
cho các thiết bị có tài ngun hạn chế thì việc triển khai một thuật tốn khóa đối xứng

được coi là phù hợp hơn. Mật mã khóa đối xứng hạng nhẹ gồm có Mã khối hạng nhẹ và
Mã dịng hạng nhẹ. Trong luận văn này chúng ta sẽ tập trung vào mật mã khối hạng nhẹ.
12


Liên quan đến mật mã khối, chúng ta biết rằng thiết kế DES được chú ý với hiệu
suất phần cứng tốt. Với tình trạng giới hạn của các mạch bán dẫn vào đầu những năm
1970, thì khơng có gì đáng ngạc nhiên khi DES có được tính chất thực hiện rất cạnh
tranh. Thực hiện của DES đòi hỏi khoảng 3000 GE, trong khi triển khai nối tiếp có thể
được thực hiện khoảng 2310 GE [4] và thực hiện mã hóa một bản rõ trong vòng 144 chu
kỳ đồng hồ. Đây được coi là một kết quả thực hiện phần cứng tốt nhất của DES. Hơn nữa,
để giảm độ phức tạp của DES, bằng cách thay thế 8 hộp-S ban đầu bởi một cái mới duy
nhất, với việc loại bỏ 7 hộp-S và bộ ghép kênh (multiplexer) ta có được một biến thể mới
của DES là DESL [8] và kết quả thu được có kích thước chíp giảm 20% so với DES (1850
GE so với 2310 GE). Việc lựa chọn hộp-S một cách cẩn thận và được tối ưu hóa cao để
DESL có thể chống lại các cuộc tấn cơng thơng thường như thám mã vi sai và tuyến tính
và tấn công Davies-Murphy. Tuy nhiên, vấn đề bảo mật của DES [8] và DESL [8] bị hạn
chế bởi kích thước khóa là 56 bít, mặc dù có thể phù hợp cho các ứng dụng hạn chế.
Trong trường hợp cần có mức bảo mật cao hơn thì có thể áp dụng phương pháp làm trắng
khóa (key whitening) ta có mật mã DESXL [8] với mức bảo mật tốt. Nhưng DESXL [8]
yêu cầu 2170 GE và mã hóa một bản rõ trong 144 chu kỳ đồng hồ. Với u cầu diện tích
đó của DESXL không phù hợp với các thiết bị hạn chế [8].
Trong một bài báo mang tính bước ngoặt của mật mã khối hiện đại [10] đã đưa
ra một phân tích rất chi tiết về việc thực hiện AES với chi phí thấp [26]. Tuy nhiên, các
nguồn lực cần thiết cho mật mã này là khoảng 3600 GE. Thêm nữa ta có các yêu cầu thực
hiện cho Tiny Encryption Algorithm TEA [34, 35] vẫn chưa được biết, nhưng có một ước
tính sơ bộ là TEA cần ít nhất 2100 GE và XTEA cần ít nhất là 2000 GE. Ngồi ra, có bốn
đề xuất dành riêng cho việc thực hiện chi phí thấp là mCRYPTON [21], HIGHT [17],
SEA [33] và CGEN [31], mặc dù những đề xuất này không phải là dự định chủ yếu như
mật mã khối. MCRYPTON có một đánh giá phần cứng chính xác và yêu cầu khoảng

2949 GE, trong khi SEA cần khoảng 2280 GE.
Tuy nhiên, theo một số chuẩn mã khối như chuẩn mã khối hạng nhẹ ISO/IEC
29192-2 đã đưa ra thuật toán mã khối PRESENT được đánh giá rất cao trên phương tiện
cài đặt cứng hóa [18]. Thiết kế PRESENT là một cách tiếp cận cho mật mã hạng nhẹ với
thực hiện kiến trúc dựa theo vịng PRESENT u cầu khoảng 1570 GE. Thuật tốn mã
khối PRESENT sẽ được nghiên cứu và tìm hiểu chi tiết trong chương 2.

13


1.2

Chiến lược thiết kế cho mật mã hạng nhẹ

Sự lựa chọn cho kích thước khối, kích thước khóa, hàm vịng và kích thước bản
mã phụ thuộc vào đặc điểm kỹ thuật của mãy móc, độ an tồn và mục đích của việc triển
khai. Để tìm hiểu sâu hơn về các khía cạnh kỹ thuật của thiết kế, thì trước tiên chúng ta
nên có một cái nhìn ngắn gọn về các khía cạnh khác của thiết kế bảo mật hay nói một
cách khác, đó là mục đích và chi phí bảo mật. Một vấn đề lâu nay mà các nhà thiết kế cần
phải giải quyết trong khi thiết kế bất kỳ một mật mã nào là "bảo mật như thế nào được
cho là bảo mật tốt". Nó cũng là một nguyên tắc mà ta cần phải chấp nhận vì rằng chúng
ta khơng nên lạm dụng bảo mật vì nó làm tăng thêm giá cả. Vì vậy, nếu một cơ chế an
ninh được triển khai mà không được sử dụng hết khả năng đầy đủ của nó, thì đó là một
sự lãng phí tài nguyên. Ví dụ, tất cả chúng ta đều biết rằng AES (tiêu chuẩn mã hóa tiên
tiến) [26] là một thuật tốn mã hóa khối được áp dụng làm tiêu chuẩn mã hóa. Cho đến
bây giờ, nó đã chống lại một số các cuộc tấn cơng khác nhau. Vì vậy, các nhà sản xuất
thiết bị đã áp dụng và triển khai AES trong các thiết bị của họ. Nhưng vấn đề đặt ra là
AES rất cồng kềnh và đòi hỏi nhiều tài ngun. Ngồi ra nó bảo mật hơn so với những
yêu cầu cần thiết để sử dụng. Do đó, cần phải có một sự thiết kế phù hợp với những thiết
bị có tài nguyên hạn chế và đồng thời nên cung cấp một sự bảo mật phù hợp cho người

sử dụng. Đây cũng chính là lý do để hướng tới một mật mã hạng nhẹ .
Có 3 cách tiếp cận để cung cấp nguyên thủy mật mã cho các ứng dụng hạng nhẹ
như các thẻ RFID thụ động... [8]
1. Thực hiện tối ưu hóa các cài đặt cho các thuật tốn được tin cậy và đã được chuẩn
hóa (như AES, ECC...).
2. Thay đổi một phần trong một thuật tốn mã hóa đã được tin cậy và đã được nghiên
cứu.
3. Thiết kế thuật tốn mã hóa mới với mục tiêu của việc thực hiện chi phí phần cứng
thấp
Với cách tiếp cận thứ nhất thì hầu hết là các thuật toán mật mã khối hiện đại được
thiết kế chủ yếu với các tính chất thực hiện tập trung vào phần mềm mà không nhất thiết
thực hiện trên phần cứng. Đây là cách tiếp cận đúng cho mật mã khối hiện nay, bởi vì
một mặt phần lớn các thuật tốn chạy trên phần mềm trong các máy tính cá nhân hoặc
trong các thiết bị nhúng, và mặt khác diện tích silicon trở nên quá đắt đối với việc triển
14


khai trên phần cứng với điện năng tiêu thụ rất cao (đạt được với thơng lượng diện tích
chip lớn) khơng còn là vấn đề. Tuy nhiên, nếu mục tiêu là cung cấp bảo mật trên các thiết
bị có chi phí cực kỳ thấp mà cả hai giả định thiết kế này khơng được chú ý thì có nghĩa là
nhiều mã hóa hiện đại này khơng hoạt động tốt. Với cách tiếp cận thứ hai, có một mật mã
được tìm hiểu và thiết kế của nó được thực hiện phần cứng với chi phí thấp, mật mã rất
nổi tiếng này là Tiêu chuẩn mã hóa dữ liệu, DES [27] được thiết kế trong nửa đầu năm
1970 và mục tiêu thực hiện nền tảng là phần cứng. Tuy nhiên, theo tiêu chuẩn ngày nay
công nghệ kỹ thuật số đã bị hạn chế rất nhiều. Do đó, việc thực hiện trên phần cứng của
DES là hạn chế và phức tạp. Với cách tiếp cận thứ hai bằng cách thay đổi một chút DES
để đạt được mục tiêu là giảm yêu cầu về phần cứng ta có mật mã mới DESL [8]. Mặc dù,
các kết quả thực hiện của DESL rất đáng khích lệ nhưng nó cũng cho thấy cần có một
tiềm năng tối ưu hơn nữa. Do đó, để đạt yêu cầu tốt nhất về cài đặt phần cứng, chúng ta
sẽ theo phương pháp tiếp cận thứ ba, đó là thiết kế một thuật toán mật mã hạng nhẹ phù

hợp cho các yêu cầu cụ thể của phần cứng và thuật toán phù hợp mà chúng ta sẽ tìm hiểu
là thuật tốn mật mã khối PRESENT, mật mã này sẽ được trình bày chi tiết trong chương
2. Tiếp theo chúng ta sẽ đi tìm hiểu một số yêu cầu đối với thiết kế một mật mã khối hạng
nhẹ [8].
1.2.1

Thiết kế thuật toán mật mã khối

Trong phần này chúng ta sẽ tìm hiểu về các khía cạnh thiết kế của mật mã khối,
sau khi quyết định phương pháp tiếp cận thiết kế và các thơng số đầu vào thì điều tiếp của
thiết kế là hàm vòng. Đặc biệt đối với mật mã khối hạng nhẹ, hàm vòng phải đơn giản để
thực hiện trong phần cứng vì những mật mã này được ghi trực tiếp vào thiết bị. Mơt hàm
vịng bao gồm một hàm phi tuyến tính và một hàm tuyến tính. Hàm phi tuyến tính được
gọi là lớp "gây lẫn" và hàm tuyến tính được gọi là lớp "khuếch tán" do Claude Shannon
giới thiệu vào năm 1946. Mục đích của hai hàm này có thể được nêu như sau:
Gây lẫn (Confusion) : Đây là một hàm phi tuyến tính phức tạp, bởi hàm phi tuyến là
hàm mà từ sự khác biệt của đầu vào chúng ta khơng có thể có được sự khác biệt về
đầu ra với xác suất xảy ra là một và ngược lại. Một hàm gây lẫn sẽ làm phức tạp
hóa mối liên quan giữa bản mã và khóa. Do đó cũng ngăn chặn việc suy ra lại khóa.
Tính chất này có được dựa vào sử dụng hộp thế (S-box).
Khuếch tán (Diffusion) : Đây là một hàm tuyến tính. Theo hàm tuyến tính thì một bít
15


của bản rõ tác động đến tất cả các bít của bản mã, hay nói cách khác, một bít của
bản mã chịu tác động của tất cả các bít trong bản rõ. Việc làm như vậy nhằm làm
giảm tối đa mối liên quan giữa bản rõ và bản mã, ngăn chặn việc suy ra lại khóa.
Hàm tuyến tính thường được thực hiện bởi các hốn vị bít.
Ngồi ra, việc thiết kế mật mã khối được dựa trên hai mơ hình đó là mơ hình mã
Feistel và mơ hình mạng SPN (Substitution Permutation Network):

Mạng Feistel: Trong mạng Feistel, đầu vào được chia thành nửa trái (Li ) và nửa phải
(Ri ) với chiều dài bằng nhau. Tại mỗi vịng, chỉ có một nửa của dữ liệu được thực
hiện theo hàm vòng, sau đó sử dụng phép hốn vị trao đổi hai nửa. Sơ đồ tính tốn
của hệ mã Feistel được thể hiện trong hình dưới đây.

Hình 2: Mơ hình mạng Feistel

Quy tắc biến đổi các nửa trái phải này qua các vòng được thực hiện như sau:
Li = Ri−1
Ri = Li−1 ⊕ F (Ri−1 , Ki )
Ki là một khóa con cho vịng thứ i. Khóa con này được sinh ra từ khóa K ban đầu

theo một thuật tốn sinh khóa con (key schedule): K → K1 → K2 → ... → Kn F là
một hàm mã hóa dùng chung cho tất cả các vịng. Hàm F đóng vai trị như là phép
16


thay thế cịn việc hốn đổi các nửa trái phải có vai trị hốn vị. Bản mã C được tính
từ kết xuất của vòng cuối cùng:
C = Cn = (Ln , Rn )

Mạng SPN (Substitution and Permutation Network): Năm 1949, Shannon đưa ra ý
tưởng mạng thay thế và hoán vị (SPN) là sự kết hợp giữa phép thế và hoán vị hiện
đại với mục đích là cản trở việc thám mã dựa vào các phân tích thống kê. Giả sử kẻ
thám mã biết một số tính chất thống kê của bản rõ như bảng phân bố tần suất của
các chữ cái, bộ các chữ cái. Nếu các đặc trưng thống kê này được phản ánh trong
bản mã, thì kẻ thám mã sẽ tìm cách tìm được khóa hoặc một phần khóa hoặc tìm mị
ra bản rõ. Với một bản mã lý tưởng đó thì mọi đặc trưng thống kê đều độc lập với
khóa riêng được dùng, như vậy kẻ thám mã sẽ khơng có cơ sở để tìm khóa.
Mạng SPN hoạt động trên toàn bộ trạng thái dữ liệu. Thực hiện chuyển đổi trạng

thái bằng cách sử dụng một lớp thay thế và theo sau là một lớp hoán vị.
Lớp thay thế: là một lớp phi tuyến gồm có các hộp-S với các hàm logic vector thay
thế cho một vector nhỏ (thường là 8 bít) của các bít đầu vào với một vector nhỏ
của các bít đầu ra khác (thường là 8 bít).
Lớp hốn vị: (P) là một sự chuyển đổi tuyến tính đến đầu ra của lớp thay thế (gọi là
lớp tuyến tính). Lớp tuyến tính đơn giản nhất là thực hiện hốn vị bít cho các bít của
trạng thái. Tuy nhiên có các lớp tuyến tính phức tạp thực hiện phép nhân ma trận.
Tại mỗi vịng, khóa vịng K (thu được từ khóa ban đầu với một số thao tác đơn giản)
được kết hợp bằng cách sử dụng một số thao tác tính tốn đặc trưng, thường là phép
cộng ⊕ (XOR).
Sơ đồ tính tốn của mạng SPN được thể hiện trong hình dưới đây.

17


Hình 3: Mơ hình mạng SPN (Substitution and Permutation Network)

1.2.2

u cầu thiết kế cho thuật toán mã khối hạng nhẹ

Từ các vấn đề thiết kế cho mật mã khối nói chung thì đối với việc thiết kế và đánh
giá một hệ mật hạng nhẹ, chúng ta cần phải xem xét hai yêu cầu quan trọng. Thứ nhất
là về độ an toàn mục tiêu trong xây dựng các hệ mật mã hạng nhẹ theo nghĩa: Thiết kế
một hệ mật không quá yếu (khơng với mục đích thay thế các thuật tốn mã truyền thống
khác), nhưng phải đủ an toàn (tất nhiên, khơng thể kháng lại được các đối phương có đủ
mọi điều kiện). Thứ hai là về hiệu quả trong cài đặt thường được đánh giá qua các độ đo
tài nguyên được sử dụng bởi thuật toán, yêu cầu này phản ánh chi phí cài đặt cũng như
hiệu suất. Người thiết kế mật mã hạng nhẹ phải thỏa hiệp giữa độ an tồn, chi phí cài đặt
và hiệu suất. Một u cầu quan trọng đối với các thiết bị này là có khả năng tính tốn trên

đường truyền "on-the-fly". Tức là cần có một hệ mật khơng phải tốt nhất, mà phải thỏa
hiệp giữa giá thành, hiệu suất và độ an tồn. Tuy nhiên, rất khó để có thể tối ưu hóa ba
khía cạnh trên [1].
18


Với các mã khối hạng nhẹ, độ dài khóa là sự thỏa hiệp giữa độ an toàn và giá
thành, trong đó, số vịng là sự cân bằng giữa hiệu suất và độ an tồn. Bên cạnh đó, thực
hiện cài đặt bằng phần cứng có hiệu suất cao cũng cần tính tới giải pháp tránh các tấn
công kênh kề. Điều này thường dẫn tới các yêu cầu cao về diện tích, đồng nghĩa với giá
thành cao. Mặt khác, ta cũng có thể thiết kế các mã pháp an tồn và có cài đặt phần cứng
thấp nhưng hiệu suất sẽ rất thấp.
Sau khi tìm hiểu ngắn gọn về các phương pháp tiếp cận và yêu cầu đối với thiết
kế thuật toán mã hóa khối, ta sẽ đi chi tiết các lựa chọn cũng như yêu cầu trong thiết kế
của mật mã khối hạng nhẹ. Các câu hỏi đầu tiên mà các nhà thiết kế cần phải cân nhắc
là phải chọn một trong hai mơ hình thiết kế là Feistel hoặc SPN. Đưa ra được lợi thế và
không lợi thể của hai mô hình. Với hai mơ hình đã được trình bày ở trên ta thấy ưu điểm
chính của Feistel là thiết kế cho q trình giải mã là gần như miễn phí. Nhưng chúng ta
cần nhiều hơn số lượng vòng để làm giảm thơng lượng của mật mã. SPN có ít số hàm
vịng vì hàm vịng hơi phức tạp, nhưng giải mã thì khơng phải là mục tiêu trong SPN, vì
vậy mơ hình này địi hỏi nhiều diện tích hơn. Nhưng một vài đặc điểm giống nhau cho
cả hai mơ hình đó là kích thước khối, kích thước khóa vv. Kể từ khi có sự hạn chế về bộ
nhớ và kích thước dữ liệu, để kích thước khối nhỏ có thể được phù hợp thì việc lựa chọn
64 bít nói chung là sự lựa chọn phù hợp cho các kích thước khối. Vì các thuật tốn mã
hóa được thiết kế cho nhu cầu bảo mật vừa phải nên việc lựa chọn kích thước khóa thay
đổi từ 80 hoặc 128 bít. Các hàm vịng được thiết kế đơn giản để nó khơng chiếm nhiều
không gian. Sự lựa chọn chung của lớp "gây lẫn" (confusion) cho cả hai mơ hình thiết kế
là 4 × 4 bít hộp-S. Các hốn vị bít dễ dàng đạt được trong phần cứng. Vì vậy, sự lựa chọn
cho lớp "khuếch tán" là hốn vị bít.
Mục tiêu của mật mã hạng nhẹ là thực hiện tốt trong phần cứng với các ứng dụng

có yêu cầu bảo mật ở mức vừa phải, thực hiện mã hóa một số lượng dữ liệu nhỏ ví dụ như
các thiết bị thơng minh. Nhưng các thiết bị đó lại rất hạn chế về chi phí. Nếu khối lưu
trữ dữ liệu đủ lớn và điều này được chỉ ra bởi thuật ngữ phổ biến một mạch tích hợp đặc
biệt ứng dụng (ASIC) sẽ gần như ln giảm giá hơn so với việc lập trình được một "máy
vi tính cực nhỏ" (microcomputer). Trong phần cứng giá của một ASIC tương đương với
khoảng diện tích địi hỏi trong silicon. Diện tích này được đo bởi µm2 , nhưng giá trị này
phụ thuộc vào công nghệ chế tạo và thư viện máy tính chuẩn. Hơn nữa, một vấn đề đặc
biệt của tất cả các thiết bị thông minh thụ động như thẻ RFID và thẻ thông minh không
tiếp xúc là hạn chế về điện năng. Vì vậy, ASIC và tất cả các thành phần của nó phải được

19


thiết kế cẩn thận cho tổng điện năng tiêu thụ. Các thiết bị thơng minh có nguồn cung cấp
điện riêng, nghĩa là pin hoặc được cung cấp bởi thiết bị đọc thơng qua tiếp xúc vật lý. Do
đó, các rằng buộc điện năng cho các thiết bị này không bị hạn chế. Mục tiêu thiết kế là
giảm thiểu tổng tiêu thụ điện năng và tổng thời gian thực hiện. Để thực hiện được điều
này, chúng ta phải hiểu được một số vấn đề thiết kế trên ASIC, một số độ đo được thể
hiện trong thiết kế và các kiến trúc thực hiện thiết kế. Tất cả các vấn đề này sẽ được trình
bày trong phần 1.3.

20


1.3

Giới thiệu về thiết kế ASIC

ASIC viết tắt của Application-Specific Integrat ed Circuit trong tiếng Anh, là một
thuật ngữ chỉ các vi mạch tích hợp chuyên dụng trong điện tử học. ASIC là một vi mạch

IC được thiết kế dành cho một ứng dụng cụ thể. ASIC ngày nay được ứng dụng hầu như
khắp mọi nơi, ví dụ như vi xử lý của điện thoại di động, vi xử lý trong các máy móc tự
động, các phương tiện truyền thơng, xe cộ, tàu vũ trụ, các hệ thống xử lý, các dây chuyền
cơng nghiệp, vv. Trong luận văn này thì việc thiết kế ASIC trên cơ sở thư viện phần tử
logic chuẩn, và thay vì mã viết bằng C, Pascal thì vi mạch được viết bằng VHDL (là
ngơn ngữ mơ tả phần cứng cho các mạch tích hợp tốc độ rất cao), cịn thư viện phần tử
logic đóng vai trị như tập lệnh của bộ vi xử lý, thư viện được sử dụng trong phần thiết kế
này là UMCL18G212D3 được dựa trên thư viện phần tử logic chuẩn UMC L180 0.18µm
1P6M có điện áp tiêu biểu là 1.8 volt [8].
1.3.1

Điện năng tiêu thụ

Một vấn đề cụ thể của các ứng dụng thẻ RFID thụ động là các thẻ hạn chế về tiêu
thụ điện năng, nguyên tắc chung là mức tiêu thụ điện năng nên nhỏ hơn 15µA [8].
Cơng thức sau đây tóm tắt điện năng tiêu thụ P trong thiết bị CMOS [11].
1
2 +Q ·V )·f ·N +I
P = ( · C · Vdd
sc
dd
leak · Vdd
2

Trong đó: C biểu thị điện dung mạch, Vdd là điện áp cung cấp, Qsc là short-circuit
charge, f là tần số hoạt động, N là số hoạt động chuyển mạch, Ileak là dòng điện rò rỉ. Tần
số đầu tiên thể hiện mức tiêu thụ năng lượng động và thứ hai là điện năng tiêu thụ tĩnh. Ở
tần số cao hơn, phần năng lượng trở thành yếu tố chi phối của tổng năng lượng tiêu thụ.
Nó có thể được giảm tuyến tính bằng cách giảm tần số hoạt động f, làm giảm hoạt động
chuyển mạch N và làm giảm điện áp cung cấp Vdd . Các điều kiện còn lại của phần năng

lượng C và Qsc phụ thuộc vào công nghệ và không thể bị ảnh hưởng bởi một nhà thiết
kế thuật toán. Tiêu thụ điện tĩnh có thể được giảm tuyến tính bằng cách áp dụng điện áp
cung cấp Vdd thấp hơn. Hơn nữa, vì sự rò rỉ dòng hiện hành (current) Ileak là tỷ lệ thuận
với số lượng các GE cần thiết, giảm số cổng sẽ giảm trực tiếp điện năng tiêu thụ của
mạch. Để giảm tiêu thụ điện năng, các ứng dụng thẻ RFID thường có tốc độ ở tần số thấp
ví dụ 100KHz hoặc 500KHz. Trong dải tần số này thì tiêu thụ điện năng tĩnh là chiếm ưu
21


thế. Các ứng dụng cơng nghệ RFID thường có những hạn chế về chi phí khắc nghiệt và
diện tích silicon của chíp là tỷ lệ thuận với chi phí. Do đó, một cách tốt để giảm thiểu chi
phí và điện năng tiêu thụ là giảm thiểu yêu cầu về diện tích (area). Nó đã trở thành phổ
biến để chỉ việc sử dụng thuật ngữ phần cứng hiệu quả và như là một từ đồng nghĩa cho
các yêu cầu về diện tích nhỏ. Bên cạnh đó nó cũng được sử dụng để đo số đường truyền
cho mỗi khu vực, đó là sự nghịch đảo của time-area product (TA) [8].
1.3.2

Các độ đo

Bên cạnh việc lựa chọn mơ hình thiết kế cũng như các thư viện tiêu chuẩn thiết
kế, các nhà thiết kế cịn phải tập trung vào các thơng số khác nhau đối với việc thực hiện
cứng hóa. Có một số thỏa thuận khác nhau về các số liệu có ảnh hưởng đến thiết kế mã
khối hạng nhẹ. Các nhà thiết kế đã tối ưu duy trì sự cần bằng giữa các mục tiêu cho việc
thiết kế các thuật tốn mã hóa khối hạng nhẹ và được liệt kê dưới đây [8].
• Diện tích (Area): Yêu cầu về diện tích thường được tính bằng µm2 . Nhưng giá trị

này phụ thuộc vào công nghệ chế tạo và thư viện phần tử logic chuẩn. Để so sánh các
yêu cầu về diện tích một cách độc lập, phổ biến người ta thường ghi là cổng tương
đương (GE). Một GE tương đương với diện tích được yêu cầu bởi cổng NAND với
hai giá trị đầu vào của cơng nghệ tích hợp. Diện tích trong GE được suy ra từ việc

chia diện tích bề mặt thành µm2 bởi diện tích của một cổng NAND hai đầu vào.
Cổng NAND: Một công NAND là một cổng logic tạo ra một đầu ra là false nếu tất
cả các đầu vào của nó là đúng.
• Chu kỳ (Cycles): Số chu kỳ đồng hồ để tính và đọc kết quả.
• Nguồn (power): Đó là lượng pin tiêu thụ trong tính tốn của một bit đầu ra. Đơn vị

là watts
• Thời gian (Time): Là khoảng thời gian yêu cầu cho một hoạt động nào đó được tính

bằng cách chu kỳ chia cho tần số hoạt động t = chuk(cycles)/tns(f reg).
• Thơng lượng (Throughput): Tỷ lệ tín hiệu ra (output) mới được sinh ra theo thời

gian, và được tính bằng số bít bản mã chia cho các chu kỳ cần thiết và nhân với tần
số hoạt động. Được thể biện bằng bit-per-second (bps). Với tần suất ngày càng tăng,
thông lượng cũng sẽ tăng lên.
22


• Năng lượng (Energy): Tiêu thụ năng lượng được thể hiện bởi điện năng tiêu thụ

trong một thời gian nhất định. Nó được tính bằng cách lấy điện năng tiêu thụ nhân
với thời gian yêu cầu của hoạt động. Đây cũng là một hình thức đánh giá hiệu quả
của một thuật toán nhờ vào việc biết được mức tiêu thụ năng lượng cho mỗi bít đầu
ra tương ứng. Mức tiêu thụ năng lược được thể hiện bằng micro Joule [µJ ] hoc
micro Joule per bớt [

àJ
].
bt


ã Dũng (Current): in nng tiêu thụ chia cho điện áp lõi điển hình của q trình.

Với AMI 3.3V, IHP 2.5V, UMC 1.8V
• Hiệu quả (Efficiency): Tỷ lệ giữa thơng lượng và diện tích (area) là thước đo hiệu

quả cho việc thực hiện trên phần cứng và được tính bằng cơng thức sau:
FOM = throughput [kbps] / area squared [GE 2 ]
1.3.3

Chiến lược kiến trúc

Việc triển khai cho một thiết bị thông minh thụ động với chi phí thấp, chẳng hạn
như thẻ RFID hoặc thẻ thơng minh khơng tiếp xúc địi hỏi một diện tích nhỏ và tiêu thụ
điện năng thấp, trong khi đó thơng lượng được quan tâm thứ yếu. Mặt khác, một thiết bị
đọc RFID có khả năng đọc nhiều thiết bị cùng một lúc địi hỏi phải có thơng lượng cao
hơn, tuy nhiên diện tích và điện năng tiêu thụ lại ít quan trọng hơn. Các hoạt động của
các thiết bị thông minh, chẳng hạn như thẻ thông minh, không phải đối mặt với những
hạn chế về điện năng tiêu thụ nhưng hạn chế về thời gian và đôi khi bị hạn chế cả về năng
lượng. Để lựa chọn một thiết kế với các mục tiêu thiết kế của các ứng dụng, có ba tùy
chọn cho kiến trúc phần cứng như: Kiến trúc dựa theo vòng, kiến trúc nối tiếp và kiến
trúc song song.
Trong việc thực hiện kiến trúc dựa theo vòng, một trong những hàm vòng của một
khối hoặc mật mã dòng được xử lý trong một chu kỳ đồng hồ. Thơng lượng giảm đi đồng
thời diện tích và điện năng tiêu thụ giảm. Từ một yêu cầu điện năng (power) thấp và diện
tích thấp ta thấy việc triển khai kiến trúc dựa theo vịng thích hợp nhất cho các tht tốn
mã hóa dịng và tạo ra một lựa chọn phù hợp cho việc thực hiện mã hóa khối.
Một kiến trúc song song hoặc lặp đi lặp lại với việc thực hiện mật mã khối là thực
hiện một số vòng hoạt động riêng biệt của q trình mã hóa hoặc giải mã trong một chu
kỳ đồng hồ. Và thường thực hiện song song được truyền liên lục, nghĩa là thanh ghi được
23



×