ĐẠ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 TOÁN
MẬT MÃ HẠNG NHẸ
Chuyên ngành: Cơ sở toá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
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
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 toán mã hóa của PRESENT . . . . . . . . . . . . . . . . . . .
31
5
Sơ đồ thuật toán giải mã của PRESENT . . . . . . . . . . . . . . . . . . .
35
6
Quá trình sinh khóa của PRESENT - 80 . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . .
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) . . . . . . . . . .
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
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 toán trộn khóa . . . . . . . . . . . . . . . . . . . . . . . . .
35
2.4.2
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 . . . . . . . . . . . . . . . . . . . . . . . . .
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 toá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
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 quá 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 quán 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 toà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ị
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 toá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 toán nhỏ.
Ngoà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 toá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 toán khắp nơi" (ubiquitous computing) sẽ là mô hình tiếp theo
trong công nghệ thông tin.
Tính toá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 toán. Thay vì chúng ta tính toá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 toá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 toá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
lực tính toá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 quá nhiều về tính an toàn. Thực tế, vấn đề
chính của mật mã hạng nhẹ là “thỏa hiệp” giữa độ an toà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 toà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 toá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), 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 toà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 toá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ã hoàn toà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 toán lớn hơn so với các nguyên thủy mật mã khóa đối xứng.
Việc thiết kế được một thuật toá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 nguyên hạn chế thì việc triển khai một thuật toán khóa đối xứ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 yêu cầu khoảng 1570 GE. Thuật toá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 toà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 toá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 nguyên. Ngoà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
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 toá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 hoán vị bít.
Ngoà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):
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 hoá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 hoá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 toán đặc trưng, thường là phép
cộng ⊕ (XOR).
Sơ đồ tính toá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
Yê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 toá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 toàn, chi phí cài đặt
và hiệu suất. Một yêu cầu quan trọng đối với các thiết bị này là có khả năng tính toán trên
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ư luôn 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
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 toá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
• Dòng (Current): Điện năng tiêu thụ chia cho điện áp lõi điển hình của quá 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 thuât toá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 quá 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