1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu họ hệ mật wg trong mật mã hạng nhẹ

57 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 1,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong khi đó, các hệ thống khoá bất đối xứng hay khóa công khai có các phép tính số học có độ phức tạp trên các trường hữu hạn lớn hơn.. Ví dụ với phép toán phức tạp, việc tính toán đa t

Trang 1

LỜI CẢM ƠN

Lời đầu tiên tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy TS Hồ Văn Canh, đã tận tâm, tận lực hướng dẫn, định hướng cho tôi, đồng thời, cũng đã cung cấp nhiều tài liệu và tạo điều kiện thuận lợi trong suốt quá trình học tập và nghiên cứu để tôi có thể hoàn thành luận văn này

Tôi xin chân thành cảm ơn đến các thầy, cô trong Bộ môn Quản lý hệ thống thông tin và Khoa Công nghệ thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội cùng với ban lãnh đạo nhà trường đã nhiệt tình giảng dạy và truyền đạt những kiến thức, kinh nghiệm qúy giá trong suốt quá trình học tập rèn luyện tại trường

Tôi xin gửi lời cảm ơn đến các bạn học viên lớp K22-QLHTTT, nhóm bảo mật UET

đã đồng hành cùng tôi trong suốt quá trình học tập Cảm ơn gia đình, bạn bè đã quan tâm

và động viên giúp tôi có nghị lực phấn đấu để hoàn thành tốt luận văn này

Do kiến thức và thời gian có hạn nên luận văn sẽ không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được những sự góp ý quý báu của thầy cô, đồng nghiệp và bạn bè

Một lần nữa xin gửi lời cảm ơn chân thành và sâu sắc

Hà Nội, 27 tháng 12 năm 2017 Học viên thực hiện

Nguyễn Thị Thuỳ Dung

Trang 2

LỜI CAM ĐOAN

Tôi xin cam các kết quả đạt được trong luận văn “Nghiên cứu họ hệ mật WG trong

mật mã hạng nhẹ” do tôi thực hiện dưới sự hướng dẫn của TS Hồ Văn Canh

Trong toàn bộ nội dung nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và nghiên cứu của cá nhân tôi hoặc là trích dẫn các nguồn tài liệu và một

số trang web đều được đưa ra ở phần Tài liệu tham khảo

Tôi xin cam đoan những lời trên là sự thật và chịu mọi trách nhiệm trước thầy cô và hội đồng bảo vệ luận văn thạc sĩ

Hà Nội, 27 tháng 12 năm 2017

Nguyễn Thị Thùy Dung

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH VẼ 5

DANH MỤC BẢNG 6

DANH SÁCH CÁC TỪ VIẾT TẮT 7

MỞ ĐẦU 9

CHƯƠNG 1 TỔNG QUAN VỀ HỌ HỆ MẬT WG 11

1.1 Lịch sử mật mã dòng WG [2], [7] 11

1.2 Cơ sở toán học [6] 12

1.2.1 Mô đun số học 12

1.2.2 Nhóm và trường 12

1.2.3 Trường hữu hạn 14

1.2.4 Lựa chọn cơ sở 16

1.2.5 Thanh ghi dịch phản hồi tuyến tính LFSR [6] 17

1.3 Họ hệ mật WG [3],[5] 22

1.3.1 Cơ sở 22

1.3.2 Nguyên tắc hoạt động của họ hệ mật WG 23

1.3.3 Khởi tạo khóa và hoạt động của mật mã 27

1.4 Phân tích họ hệ mật WG [3],[9] 30

1.4.1 Các thuộc tính ngẫu nhiên của dòng khóa 30

1.4.2 Chuyển đổi WG 31

1.4.3 An ninh chống lại các cuộc tấn công 31

1.5 Công nghệ RFID và họ hệ mật WG [6], [8] 34

CHƯƠNG 2 CÁC HỆ MẬT WG-8 VÀ WG-16 37

2.1 Tổng quan hệ mật WG-8 [8] 37

2.1.1 Giới thiệu WG-8 37

2.1.2 Thuật ngữ và ký hiệu 37

2.1.3 Đặc tả cấu trúc mật mã dòng WG-8 38

Trang 4

2.1.4 Đánh giá các tấn công mật mã dòng WG-8 40

2.2 Hệ mật WG-16 [1] 43

2.2.1 Giới thiệu WG-16 43

2.1.2 Thuật ngữ và ký hiệu 44

2.1.3 Đặc tả cấu trúc mật mã dòng WG-16 45

2.1.4 Đánh giá các tấn công mật mã dòng WG-16 47

CHƯƠNG 3 ĐỀ XUẤT CẢI TIẾN HỆ MẬT WG – UET VÀ CHƯƠNG TRÌNH DEMO 50

3.1 Đề xuất cải tiến hệ mật WG-UET 50

3.2 Bài toán và cài đặt chương trình 53

KẾT LUẬN 55

HƯỚNG NGHIÊN CỨU TIẾP THEO 56

TÀI LIỆU THAM KHẢO 57

Trang 5

DANH MỤC HÌNH VẼ

Hình 1.1 Sơ đồ khối của LFSR 17

Hình 1.2 LFSR 3 trạng thái 18

Hình 1.3 LFSR 4 trạng thái 19

Hình 1.4 Mạch LFSR 3 bít 20

Hình 1.5 Đa thức đặc trưng cài đặt LFSR 20

Hình 1.6 Đa ứng dụng cài đặt LFSR 21

Hình 1.7 Cài đặt phép chia LFSR 21

Hình 1.8 Sơ đồ mô tả mật mã WG 23

Hình 1.9 Sơ đồ khối của chuyển đổi WG 24

Hình 1.10 Sơ đồ khối cài đặt chuyển đổi WG 25

Hình 1.11 Pha khởi tạo khóa của mật mã WG 28

Hình 1.12 Hệ thống RFID 35

Hình 2.1 Pha thực thi của mật mã WG-8 40

Hình 2.2 Pha khởi tạo của mật mã dòng WG-16 45

Hình 2.3 Pha thực thi của mật mã WG-16 47

Hình 3.1 Sơ đồ giao thức xác thực lẫn nhau của RFID sử dụng WG-5 53

Trang 6

DANH MỤC BẢNG

Bảng 1.1 Bảng các tiên đề định nghĩa nhóm 13

Bảng 1.2 Bảng các tiên đề định nghĩa trường 13

Bảng 1.3 Bảng dải tần RFID 34

Bảng 3.1 Bảng biểu diễn vi phân trong 22 bước 51

Bảng 3.2 Bảng tấn công WG với các cặp khoá/IV có kích thước lớn hơn 80 bít 52

Trang 7

DANH SÁCH CÁC TỪ VIẾT TẮT

TẮT

2 LFSR Linear Feedback Shift Register Thanh ghi dịch chuyển hồi

6 UMTS Universal Mobile

Telecommunications System

Hệ thống viễn thông di động toàn cầu

7 LTE Long Term Evolution Công nghệ Long Term

Evolution

8 WGP Welch Gong Permutation Mô đun hoán vị Welch Gong

9 WGT Wech Gong Tranformation Mô đun chuyển đổi Welch

Gong

10 MLD Maximum Likelihood Decoding Giải thuật Maximum

Likelihood Decoding

11 RFID Radio Frequency Identification Công nghệ nhận dạng đối

tượng bằng sóng vô tuyến

12 ISO Organization for Standardization Tiêu chuẩn Organization for

14 EPC Electronic Product Code Mã sản phẩm điện tử

15 DSS Digital Signature Standard Chuẩn chữ ký số

16 AES Advanced Encryption Standard Chuản mã hoá nâng cao

17 AIDC Automated Identification and

Data Capture

Công nghệ nhận dạng tự động không dây

Trang 8

21 AI Algebraic immunity Khả năng miễn dịch đại số

22 DFT Discrete Fourier Transform Tấn công Chuyển đổi Fourier

rời rạc

25 UHF Ultra-high frequency Tần số cực cao

26 SHF Super-high frequency Tần số siêu cao

Trang 9

MỞ ĐẦU

Ngày nay, hội nhập kinh tế sâu rộng đã mang đến cho đất nước Việt Nam cơ hội tiếp cận với những xu hướng hiện đại của thế giới Con người dần chuyển sang sử dụng các dịch

vụ thông minh hơn, tiện lợi hơn để đáp ứng các nhu cầu cuộc sống một cách hiện đại nhất, tối

ưu nhất Công nghệ RFID được hiểu là công nghệ nhận dạng tần số sóng vô tuyến Công nghệ này được sử dụng ngày càng phổ biến với nhiều ứng dụng trong cuộc sống hàng ngày từ kiểm soát hàng hóa, quản lý và chấm công nhân trong các siêu thị, nhận dạng và kiểm soát tại những bãi gửi xe thông minh, các công ty bảo mật hàng đầu cũng đang sử dụng Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát tần số sóng vô tuyến, từ đó con người có thể giám sát, quản lý hoặc lưu vết từng đối tượng Đây là một phương pháp nhận dạng tự động dựa trên việc lưu trữ dữ liệu từ xa, sử dụng thiết bị thẻ RFID và một đầu đọc

RFID Khoảng cách “không tiếp xúc” để tần số sóng vô tuyến tiếp nhận dữ liệu có thể lên tới

hơn 10m Ngoài ra sự ưu việt của công nghệ này còn thể hiện ở khả năng đọc được thông tin xuyên qua các môi trường, vật liệu như: bê tông, tuyết, sương mù, băng đá, sơn và các điều kiện môi trường thách thức khác mà mã vạch và các công nghệ khác không thể phát huy hiệu quả

Công nghệ RFID được sử dụng rộng rãi trong nhiều ứng dụng nhưng mối quan tâm chính trong công nghệ RFID là bảo mật và riêng tư Do sự giao tiếp giữa thẻ và đầu đọc diễn ra thông qua không dây, nghĩa là thông tin trao đổi giữa chúng diễn ra trên một kênh không an toàn Nói chung, các kênh truyền thông không an toàn dễ bị phá bởi các loại tấn

công khác nhau Do đó, khi một người hoặc một đối tượng sở hữu thẻ cần phải được đảm

bảo được sự riêng tư và an ninh dữ liệu trên thẻ Để khắc phục những mối đe dọa này

trong các thẻ RFID, một trong những giải pháp là triển khai các giải pháp mật mã trong các thẻ RFID

Vì cả hai vấn đề bảo mật và riêng tư trong các hệ thống RFID cần phải được giải quyết bằng các giải pháp mật mã Đó là một nhiệm vụ đầy thách thức chủ yếu là do môi trường hạn chế về mặt tài nguyên và truyền thông, dẫn đến chi phí cao hơn Do những yếu

tố này, việc thiết kế các giải pháp mật mã trong các hệ thống RFID không phải là một nhiệm vụ dễ dàng Do đó, việc thiết kế các thuật toán mật mã và các giao thức đã được đề xuất là mật mã học hạng nhẹ Để tính đến các yêu cầu nghiêm ngặt của các thẻ RFID như khu vực, năng lượng và chi phí, việc thiết kế các hệ thống mã đối xứng và bất đối xứng hạng nhẹ cần phải nằm trong phạm vi hạn chế của RFID Lợi thế của khoá đối xứng đối với hệ bất đối xứng là nó có tính toán toán học giới hạn Cho phép thiết kế phần cứng của

hệ thống khóa đối xứng hiệu quả về mặt diện tích và điện năng để thực hiện chúng trên bất

kỳ nền tảng phần cứng nào Các nghiên cứu gần đây cho thấy các mật mã dòng yêu cầu ít tài nguyên tính toán về diện tích, năng lượng và hiệu năng so với mật mã khối và các hàm

Trang 10

băm Trong khi đó, các hệ thống khoá bất đối xứng hay khóa công khai có các phép tính

số học có độ phức tạp trên các trường hữu hạn lớn hơn Các phép toán này liên quan đến hàng trăm bit do đó cần một lượng lớn kích thước bộ nhớ để lưu trữ chúng Do đó, không tận dụng thiết kế và điện năng tốn nhiều hơn so với các hệ mã hóa đối xứng Vì vậy, các

hệ mật khóa công khai không được ưa chuộng để sử dụng trong các hệ thống RFID trong những năm qua

Họ hệ mật WG được đánh giá là hệ mật có độ bảo mật an toàn cao và hiệu quả hơn nhiều so với hệ mật mã hạng nhẹ khác Trong phạm vi luận văn này, tôi đặt ra vấn đề nghiên cứu ứng dụng mật mã dòng WG vào thẻ RFID nhằm đảm bảo an ninh cho các giao dịch trên các thẻ

Mục đích nghiên cứu:

Luận văn đề cập đến việc nghiên cứu chuyên sâu họ hệ mật WG trong mật mã hạng nhẹ, đánh giá các tấn công đối với các phiên bản gần đây và phát triển ứng dụng vào các thẻ RFID Phần lý thuyết trình bày các kiến thức liên quan về họ hệ mật WG, Mật mã dòng WG-16 và WG-8 Phần thực nghiệm sử dụng cơ sở lý thuyết ở trên cài đặt mật mã WG-5 vào thẻ RFID nhằm đảm bảo an ninh trong thẻ

2 Nội dung của đề tài, các vấn đề cần giải quyết:

a Hướng nghiên cứu:

- Thiết kế thuật toán mã hoá WG và đưa ra các đề xuất phù hợp cài đặt trong môi trường có tài nguyên hạn chế

- Nghiên cứu tấn công họ hệ mật mã WG

Trang 11

Chỉ sau 2 tháng đã có cuộc tấn công thành công vào phiên bản này, Wu và Preneel đã trình bày cuộc tấn công mật mã, cuộc tấn công này tập trung vào việc có thể khôi phục được khóa mà không cần quan tâm đến kích cỡ khóa/IV Để đáp lại cuộc tấn công này, người tạo ra mật mã WG đã đề xuất ý kiến tăng gấp đôi hoặc thậm chí gấp bốn lần số chu kỳ cho pha khởi tạo

Phiên bản cuối cùng của mật mã WG (nay được gọi là họ hệ mật mã dòng) được công bố năm 2013 Nó chuyển sự chuyển đổi WG về cuối LFSR, chính sự thay đổi này làm cho mật mã có thể chống lại cuộc tấn công IV đã được đề cập ở trên mà không cần tăng thêm chu kỳ cho pha khởi tạo

Mật mã WG cuối cùng cũng bị loại khỏi dự án mã dòng - eSTREAM vào cuối giai đoạn 2, với 2 lý do chính:

(1) Về vấn đề an ninh Trong năm 2007, một cuộc tấn công vào máy sinh bộ lọc chung trên

2m

F đã được Rønjom và Helleseth trình bày Cuộc tấn công nhằm khôi phục lại trạng thái bên trong của mật mã WG Tuy nhiên, đặc tả mật mã không cho phép có nhiều hơn 245bít dòng khóa được tạo ra với cùng một cặp khóa/IV Trong khi đó cuộc tấn công này cần

ít nhất 245.0415 bit dòng khóa để cuộc tấn công có thể thành công Mặc dù mật mã WG an toàn chống lại cuộc tấn công này nhưng nó đã rút khỏi eSTREAM với một nghi ngờ rằng mật mã rất có thể bị phá nếu chỉ một chút sơ xuất

(2) Phía eSTREAM cho rằng độ hiệu quả của mật mã khi cài đặt trong phần cứng chỉ tương đương với một số mật mã khác Điều này chủ yếu là do WG-128 - phiên bản gốc của WG, có nhiều phép tính trong F2 29 yêu cầu nhiều không gian khi triển khai trong phần cứng Tất cả các thành phần của họ hệ mật WG sử dụng nhiều trường hữu hạn nhỏ hơn để giải quyết vấn đề này

Trang 12

Mật mã WG-16: Năm 2013 Fan and Gong trình bày mật mã dòng WG-16 Nó được thiết

kế dùng trong mạng 4G-LTE Hai ông cũng chỉ ra các thuật toán bí mật và toàn vẹn sử dụng mật mã WG-16 của họ Để chứng minh tính thực tiễn của mật mã WG-16, họ đưa ra các lý lẽ cho rằng các mật mã hiện tại trong chuẩn 4G-LTE rất khó để phân tích và những giải thuật hiện tại cũng dễ bị phá vỡ WG-16 sử dụng các khóa và bộ mã hoá 128-bit cùng với LFSR có chứa 32 phần tử trên F2 16

Mật mã WG-7: Mật mã WG-7 là tiền nhiệm của WG-8, cũng được thiết kế nhắm đến các

thiết bị bị hạn chế tài nguyên Nó được công bố bởi Luo et al năm 2010 Nó sử dụng các khóa 80-bit và vector IV 80-bit LFSR chứa 23 phần tử trên F2 7 Tuy nhiên, vào năm 2012 mật mã bị phá bởi Orumiehchiha et al

Mật mã WG-5: Aasgaard, Gong và Mota thảo luận về việc triển khai phần cứng và các vấn

đề bảo mật của mật mã dòng WG-5 Mật mã này nhằm vào các thẻ RFID thụ động và chỉ cung cấp mức bảo mật thấp Nó chỉ chống lại các cuộc tấn công chỉ khi dữ liệu được mã hóa với một cặp khóa/ IV không vượt quá 256 kilobyte, đây là một ràng buộc chấp nhận được đối với các thẻ RFID thụ động

1.2 Cơ sở toán học [6]

1.2.1 Mô đun số học

Modul số học đã và đang dần trở lên quan trọng trong lĩnh vực mật mã Lý thuyết

mô đun số học được sử dụng trong các thuật toán mã hoá khoá công khai như thuật toán RSA và Diffie-Hellman, các thuật toán khoá đối xứng như AES, IDEA và RC4 Ưu điểm chính của việc sử dụng mô đun số học là nó cho phép chúng ta thực hiện phép nhân nhanh hơn Ví dụ với phép toán phức tạp, việc tính toán đa thức đó (nhân đa thức) với 1 lượng số nguyên lớn thì việc sử dụng mô đun số học sẽ làm giảm thời gian tính toán của các phép toán lớn này Áp dụng vào ứng dụng sửa mã lỗi, bằng việc sử dụng lý thuyết mô đun số học mỗi chữ số của mã được liên kết đến các phần tử của trường hữu hạn

Toán tử modulo (mod n) ánh xạ tới tất cả các số nguyên trong tập {0, 1, 2, (n − 1)} và tất cả các phép toán số học được thực thi trong tập hợp này Kỹ thuật này

được gọi là mô đun số học

Tập các số nguyên và các số nguyên khác 0 của mod n được ký hiệu bởi Zn và Z*

Ví dụ: cộng và nhân modul trên modulo 23

Giả sử, 12 + 20 = (12 + 20) mod 23 = 32 mod 23 = 9 vì 32 chia cho 23 dư 9 Tương tự, trong phép nhân; 8 × 9 = 72 mod 23 = 3, vì khi 72 chia cho 23 dư 3 1.2.2 Nhóm và trường

Trong đại số trừu tượng, chúng ta làm việc với các tập mà các phần tử được thao tác một cách đại số Ví dụ, chúng ta có thể nói rằng bằng cách kết hợp hai phần tử của một tập theo nhiều cách khác nhau, ta có thể tạo ra được phần tử thứ ba của tập

Trang 13

hợp Tất cả các phép toán sẽ tuân theo một số quy tắc cụ thể được định nghĩa trong tập Một số định nghĩa:

Nhóm:

Định nghĩa 1: Một Nhóm (G) được định nghĩa như là 1 cặp (S, •), với S là tập khác

rỗng, toán tử • sao cho tuân theo tiên đề từ A1-A4 được định nghĩa ở bảng bên dưới Toán tử • có thể gọi là phép cộng, phép nhân hay 1 phép toán nào khác

Ở đây tập S là đại diện của nhóm G, i là phần tử định danh trong G

A1 Đóng kín Cho a, b thuộc G , a • b sẽ thuộc G

A2 Kết hợp Cho tất cả a, b, c thuộc G, a •(b •c) = (a •b) •c

A3 Định danh Tồn tại phần tử e thuộc G, cho a thuộc G với a •e = e •a = a

hay đúng hơn ∃e ∈ G, ∀ a ∈ G, a • e = e • a = a A4 Nghịch đảo Với mọi a thuộc G tồn tại phần tử x thuộc G sao cho a•x =

x•a = e hay nói cách khác ∀a ∈ G, ∃x ∈ G, a•x = x•a=e

Bảng 1.0.1 Bảng các tiên đề định nghĩa nhóm Định nghĩa 2: (A5) Một nhóm được gọi là nhóm abel nếu nó thoả mãn điều kiện

với mọi a, b thuộc G thì a •b = b •a

Định nghĩa 3: Một nhóm được gọi là cyclic nếu có 1 hoặc nhiều phần tử mà có thể

sinh ra tất cả các phần tử trong nhóm, hay có nói cách khác: ∃ g ∈ G, ∀ a ∈ G, ∃ k,

1 = 36, 2 = 32, 3 = 31, 4 = 34, 5 = 35, 6 = 33

Trường:

Định nghĩa: Một trường F được định nghĩa là một tập các phần tử với 2 toán tử nhị

phân  , , được biểu diễn là ( , , )F   và tuân theo các tiên đề bên dưới:

Tiên đề Ý nghĩa

(A1-A5) F tạo thành 1 nhóm abel đối với phép cộng

(A1-A3) và A5 F tạo thành một vị nhóm giao hoán

Trang 14

Ví dụ: Cho trường bất kỳ *

F là tập con của Fkhông bao gồm phần tử 0

1.2.3 Trường hữu hạn

Trường hữu hạn đóng một vai trò quan trọng trong lĩnh vực mật mã Hầu hết các thuật toán mã hoá khoá công khai như DSS, mật mã khóa El Gamal, mật mã trên đường cong Elliptic phụ thuộc rất nhiều vào các thuộc tính của trường hữu hạn, ngoài ra nó cũng được sử dụng trong mật mã AES

Số phần tử của trường hữu hạn phải là một luỹ thừa của một số nguyên tố: pn, trong

đó n là một số nguyên dương Ở đây xuất hiện hai trường hợp:

(1) Với n = 1, trường hữu hạn có dạng GF(p) trong đó GF là viết tắt của trường Galois

(2) Với n > 1, trường hữu hạn có dạng GF(pn) Trường hữu hạn GF(p) có cấu trúc khác so với trường hữu hạn GF(pn)

Các loại trường hữu hạn:

- Trường nguyên tố: Được định nghĩa là trường có dạng GF(p), với p là số nguyên

tố Tất cả các phần tử trong trường và các phép toán số học ( , )  được thực thi theo modulo p

- Trường nhị phân: Được định nghĩa là một trường có dạng GF(pn), trong đó n là một số nguyên dương Thông thường trường nhị phân được xây dựng từ trường nguyên tố

1.2.3.1 Trường hữu hạn của GF(p)

Cho số nguyên tố p bất kỳ, trường hữu hạn p phần tử, các phần tử của GF(p) được định nghĩa là tập {0, 1, 2, (p-1)}, cùng với các phép toán số học theo modulo p GF(p) cũng có thể được ký hiệu bởi tập các số nguyên Zp

Ví dụ: Các phép toán số học trong trường hữu hạn đơn giản nhất của GF(p) Trường hữu hạn đơn giản nhất là GF(2), trong đó p = 2, và các phần tử là {0, 1}, đây là trường hợp đặc biệt mà các phép toán số học + và  tương đương với các phép toán XOR và AND

1.2.3.2 Đa thức số học

Các phần tử của GF(pn), với n > 1, có thể được biểu diễn dưới dạng đa thức, các hệ số của đa thức này thuộc GF(p) và có độ nên nhỏ hơn n Khi p = 2, các phần tử của GF(pn) được biểu diễn dưới dạng số nhị phân {0, 1} Điều này có nghĩa là mỗi ký tự trong một đa thức được biểu diễn bởi một bit trong biểu thức nhị phân tương ứng

Định nghĩa: Một đa thức được định nghĩa là một biểu thức toán học liên quan

đến tổng của 1 hoặc nhiều biến nhân với các hằng số của chúng Một đa thức với 1 biến và các hằng số của chúng được biểu diễn như sau:

Trang 15

f(x) = anxn + an−1xn−1 + + a2x2 + a1x + a0 =

0

i i i

a x

Với n (là số nguyên n ≥ 0) được gọi là độ của đa thức, và hằng số ai , 0 ≤ i ≤ n

F cũng được gọi là một tập hợp khi a n  0và có thể có nhiều đa thức được định nghĩa trên F Có thể có nhiều luỹ thừa giống nhau của x khi so sánh 2 đa thức ( )

m xq xp xr x , với thương q x( ) và số dư r x( )là kết quả của phép chia

Trường hữu hạn dưới dạng GF(p) với p phần tử, trong đó p là số nguyên tố Các thành phần của GF(p) = Zp = {0, 1, 2, (p-1)}, với các phép toán số học ( , )  được thực hiện cùng với phép toán modulo p Chúng ta sử dụng khái niệm tương tự để xây dựng trường hữu hạn có dạng GF(pn), gồm q-1 phần tử, trong đó (q = pn) với phép toán mô đun pn-1

chỉ khi i x( ) không thể biến đổi thành 2 hoặc nhiều đa thức trên trường F Một

đa thức không giảm cũng được gọi là một đa thức nguyên tố

Một phần tử nguyên thủy của GF(pn) là phần tử mà nó là 1 phần tử sinh của nhóm cyclic GF(pn)* Một đa thức không giảm trên GF(p) có 0 là phần tử nguyên thủy trên GF(pn) được gọi là đa thức nguyên thủy trên GF(p) Như vậy tất cả đa thức không giảm đều là đa thức nguyên thủy

= 0 được gọi là gốc của đa thức p(x)

Trang 16

Trường con: Nếu một tập con S có các phần tử thuộc trường F thỏa mãn các

tiên đề trường cùng với các phép toán số học của F, thì S được gọi là trường con của F

GF(pm) là một trường con của GF(pn) khi và chỉ khi m là số chia hết của n ký hiệu là: GF(pm) ⊂ GF(pn)

Ví dụ: GF(22) ⊂ GF(24) và GF(24) ⊂ GF(212)

Trường mở rộng: Một trường F được gọi là trường mở rộng, nếu S là tập con

nằm trong tập F, ta định nghĩa S là một trường con của F và F là một trường

mở rộng của S Chúng được ký hiệu F/S và đọc là "F trên S"

không giảm, độ n trên GF(p)

Cơ sở đa thức đươc được biểu diễn là {1, α, α2 αn-1} của GF(pn) trên GF(p) Với α là phần tử nguyên thủy của GF(pn)

Ví dụ: Nếu p = 3 và n = 2 thì GF(32) là một trường mở rộng của GF(3) với độ bằng

2 Cho α ∈ GF(32), là gốc của đa thức không giảm x2 + 1 trên GF (3), thì cơ sở đa thức là {1, α} của GF(32) trên GF(3)

*Cơ sở thông thường

thông thường cho trường hữu hạn GF(pn) trên GF(p) Nếu γ ∈ GF(pn) là một phần

tử thông thường, thì cơ sở thông thường được biểu diễn là  2 1 2 2 2 1

, , n

    

Trong đó γ được gọi là phần tử sinh hoặc phần tử thông thường của GF(pn) trên GF(p), được biểu diễn dưới dạng ma trận n m và được ký hiệu là M

Trang 17

Ví dụ: Nếu p = 2 và n = 3, thì GF(23) là một trường mở rộng của GF(2) với độ bằng

3 Cho α ∈ GF(23), là gốc của đa thức không giảm x3 + x2 + 1 trên GF(2), thì cơ sở thông thường là {α, α2, 1 + α + α2} của GF(23) trên GF(2)

Lựa chọn cơ sở cho việc cài đặt phần cứng: Trường hữu hạn đóng 1 vai trò quan

trọng trong mật mã đặc biệt là trong các hệ thống mật mã đối xứng và bất đối xứng

mà có các phép toán số học hữu hạn trường

Các phép toán số học thông thường trên GF(2n) được thực hiện theo modulo của đa thức không giảm f (x) trên GF (2) Các phép cộng và trừ số học được thực hiện theo modulo 2 Phép cộng 2 đa thức thì không có gì nhưng phép toán XOR của biểu diễn nhị phân trong phép toán nhân thì độ phức tạp tốn nhiều thời gian trên trường GF(2n) Độ phức tạp còn phụ thuộc vào việc lựa chọn đa thức không giảm và cơ sở

được sử dụng để biểu diễn các phần tử hữu hạn

Cơ sở đa thức được xem là để tối ưu hóa phần cứng vì trong cơ sở đa thức phép nhân có thể được thực hiện đơn giản bằng phép toán dịch và phép toán XOR Trong thực thi phần cứng lựa chọn cơ sở thông thường thì phép bình phương 1 phần tử đơn giản chỉ dịch chuyển đúng 1 vòng tròn của tọa độ Do vậy, phép bình phương trong cơ sở thông thường rất dễ thực hiện nhưng phép nhân trong cơ sở thông thường thì lại phức tạp

1.2.5 Thanh ghi dịch phản hồi tuyến tính LFSR [6]

1.2.5.1 LFSR và mô tả toán học

Thanh ghi dịch phản hồi tuyến tính (LFSR) đã được sử dụng rộng rãi trong máy sinh dòng khóa của mật mã dòng, máy sinh số ngẫu nhiên trong hầu hết các thuật toán mã hoá Mỗi khối vuông trong hình 1.1, là một đơn vị lưu trữ 2 trạng thái (0 hoặc 1) Các đơn vị lưu trữ nhị phân n được gọi là các trạng thái của thanh ghi dịch

và nội dung của chúng ở dạng n bit chiều dài, được gọi là trạng thái nội bộ của thanh ghi dịch

Hình 1.1 Sơ đồ khối của LFSR

Cho (a0, a1, a2, , an-1) ∈ GF (2n) là trạng thái ban đầu của LFSR và

Trang 18

f (x0, x1, x2, , xn-1) là hàm phản hồi hoặc đa thức thông tin phản hồi, như thể hiện trong hình 1.1

Nếu hàm phản hồi là một hàm tuyến tính thì nó có thể được biểu diễn bằng:

Lưu ý: Để b là chuỗi nhị phân Phương trình hồi quy tuyến tính (1) được biểu diễn trong đa thức f (x) = xn + cn-1xn-1 + + c1x + c0, được xem là đa thức đặc trưng của LFSR

Ví dụ 1: Xét một LFSR 3 trạng thái như thể hiện trong hình 1.2 với hàm phản hồi tuyến tính f (x0, x1, x2) = x0 + x1 với trạng thái ban đầu là (1, 0, 0) tương đương với (a0, a1, a2) Dãy đầu ra sẽ là 10010111001011 được lặp lại tuần hoàn với chu kỳ

là 7

Hình 1.2 LFSR 3 trạng thái 1.2.5.2 Các loại chuỗi

- Chuỗi nhị phân: b = bi, bi ∈ GF(2), là một dãy nhị phân trên GF(2)

- Chuỗi - m: Chuỗi đầu ra được tạo ra bởi một LFSR n trạng thái với các giá trị ban đầu khác không và có chu kỳ cực đại là 2n - 1 được xem là chuỗi có chiều dài lớn nhất và được gọi tắt là chuỗi-m

Trang 19

- Chuỗi De-Bruijn: Chuỗi De-Bruijn là đầu ra của một NLFSR n trạng thái

Từ chuỗi m bất kỳ với chu kỳ là 2n - 1, ta có thể tính được chuỗi de-Bruijin bằng cách chèn một bít 0 vào chuỗi m

Ví dụ 2:

Xét một LFSR 4 trạng thái như trong hình 1.3 với đa thức f(x) = x4 + x + 1

và với trạng thái ban đầu là (0, 0, 0, 1) tương đương với (a0, a1, a2, a3, a4) Đầu ra là một chuỗi-m là 000100110101111000100 được lặp lại định

1.2.5.3 Cài đặt phần cứng LFSR trên trường Galios

Trong việc cài đặt phần cứng, LFSR chứa N thanh ghi được kết nối với nhau

để tạo ra một thanh ghi dịch Nói chung, thanh ghi dịch là một dãy flip-flops, trong đó đầu ra của flip flop cuối cùng được nối (phản hồi) với các flip flops trước đó bằng một cổng XOR như thể hiện trong hình 1.4 Giả sử chiều dài của LFSR là N và nó bao gồm của N trạng thái flip-flops và các bit đã lưu được điều khiển bởi một đồng hồ đơn Tại mỗi xung đồng hồ, các bit đã lưu sẽ được dịch chuyển 1 vị trí sang trạng thái tiếp theo, đồng nghĩa với việc là có sự chuyển tiếp từ trạng thái này sang trạng thái tiếp theo

Trang 20

Hình 1.4 Mạch LFSR 3 bít

Các thông số thiết kế cần quan tâm khi thiết kế LFSR là số flip flops, cổng

XOR bên trong hoặc bên ngoài, các taps phản hồi (đầu vào cho XOR) và tín

hiệu cài đặt lại Khi thiết lập cài đặt lại, thanh ghi sẽ cài đặt tất cả 1s và với mục

đích phân tích, ở đây ta sử dụng LFSRs với cổng XOR nội bộ vì mạch của

chúng được kết hợp với các đa thức trên các trường Galois

LFSR tạo ra một chuỗi bit có độ dài tối đa 2n - 1, trong đó n là kích thước của

trường hữu hạn Các tap phản hồi trên LSFR sẽ được chọn dựa vào đa thức đã

được lựa chọn trên trường hữu hạn Các phép toán số học đa thức được thực

thi liên quan tới các phép toán mod 2, tức là các hệ số của đa thức phải là 1

hoặc 0 Những đa thức này được gọi là đa thức đặc trưng hoặc phản hồi Những

đa thức đặc trưng này sẽ biểu diễn các chuỗi bít LFSR Giả sử chuỗi bit là

110011 thì đa thức đặc trưng được biểu thị là x5 + x4 + x1 + 1

Ví dụ: biểu diễn LFSR cho đa thức đặc trưng x5 + x4 + x1 + 1

Hình 1.5 Đa thức đặc trưng cài đặt LFSR

Từ ví dụ trên, số mũ của đa thức được biểu diễn như sau: x0 là đầu vào của

LFSR, x1 là đầu ra của flip flop đầu tiên và x2 là đầu ra thứ hai,… Hơn nữa,

số mũ tối đa của đa thức được thể hiện bằng số flip flops được sử dụng trong

LFSR

Trang 21

1.2.5.4 Nhân và chia đa thức trong LFSR

Trang 22

Đầu vào cho LFSR là 101100, nó là biểu diễn bít vector của m(x) và được đưa vào mạch LFSR 1 cách tuần tự theo thứ tự bậc cao hơn Vào cuối chu kỳ 6, phần dư r(x) = 100(x2) sẽ được lưu trong các flip flops

1.3 Họ hệ mật WG [3],[5]

Một mật mã dòng đồng bộ bao gồm một máy sinh dòng khoá, máy này tạo ra một dãy

số nhị phân Dãy số này được gọi là khoá vận hành hoặc dòng khoá Dòng khoá được

XOR với bản rõ để tạo ra bản mã Một khóa bí mật K được dùng để khởi tạo máy sinh dòng khoá và mỗi khóa bí mật tương ứng sẽ tạo ra một chuỗi sinh đầu ra tương ứng Vì khóa bí mật sẽ được chia sẻ giữa người gửi và người nhận, nên ở phía bên người nhận sinh ra một dòng khoá giống với phía bên người gửi Kết hợp dòng khoá này với bản

mã để khôi phục lại bản rõ ban đầu

Mật mã dòng được chia thành hai loại chính:

 Mật mã dòng hướng bít

 Mật mã dòng hướng từ

Mật mã dòng hướng bít dựa trên các thanh ghi dịch phản hồi tuyến tính (LFSR) cùng với các hàm lọc, kết hợp Chúng có thể được thực thi trong phần cứng rất hiệu quả Tuy nhiên, do tính chất định hướng bít nên việc triển khai trên phần mềm khá chậm Để khắc phục nhược điểm này nhiều mật mã dòng hướng từ đã được đề xuất Hầu hết các mật mã dòng này cũng dựa trên LFSR nhưng chúng hoạt động trên các từ thay vì các bít Điều này đã khắc phục được nhược điểm trên, mật mã có thể thực thi hiệu quả trên phần mềm Mặc dù những mật mã dòng hướng bít này nhanh chóng được phát triển trên phần mềm, nó cũng đáp ứng được mức độ bảo mật cao nhưng nó lại không đảm bảo được các tính chất của dòng khoá như là độ phức tạp tuyến tính hay độ tương quan

lý tưởng cấp hai Mà trong các ứng dụng truyền thông các thuộc tính này thường là các điều kiện bắt buộc

Nhiều mật mã dòng hướng bit như A5, E0 và LILI-128 hoạt động hiệu quả và có thể được thực thi trong môi trường tài nguyên phần cứng hạn chế Tuy nhiên, tất cả chúng đều bị tấn công và không cung cấp thuộc tính mong đợi như chu kỳ, phức tạp tuyến tính và các thuộc tính thống kê tốt, sự tự tương quan lý tưởng cấp hai

Mật mã WG tạo ra một dòng khoá, dòng khoá này đáp ứng được các thuộc tính mong đợi trên và cung cấp mức độ bảo mật cao Mật mã được thiết kế để tạo ra một dòng khoá mà đáp ứng được tất cả các thuộc tính mật mã, có thể chống lại các cuộc tấn công thương mại TMD, các cuộc tấn công đại số và các cuộc tấn công tương quan và cũng

có thể được cài đặt trong phần cứng và thực thi một cách hiệu quả

1.3.1 Cơ sở

Một số thuật ngữ và ký hiệu cơ bản mô tả họ hệ mật WG và hoạt động của mật mã này:

 F2 = GF(2), trường hữu hạn với 2 phần tử: 0 và 1

Trang 23

F2 29= GF(229), trường mở rộng của GF(2) với 229 phần tử Mỗi phần tử trong trường này được biểu diễn bởi một vector nhị phân 29 bit

Mật mã WG sử dụng khóa có độ dài 80, 96, 112, 128 bít Một vector khởi tạo IV

32 bít hoặc 64 bít được sử dụng với khoá có độ dài bất kỳ ở trên Ngoài ra, có thể

sử dụng véc tơ IV có độ dài bằng với độ dài khóa bí mật để tăng thêm mức độ an ninh cho mật mã Mật mã WG là một mật mã dòng đồng bộ bao gồm máy sinh dòng khóa WG Sơ đồ khối đơn giản của máy sinh dòng khóa WG được thể hiện trong hình 1.8 Dòng khóa được tạo ra bởi máy sinh được kết hợp bản rõ để tạo ra bản mã Như hình 1.8, máy sinh dòng khóa bao gồm một thanh ghi dịch phản hồi tuyến tính (LFSR) 11 trạng thái trênF2 29 Đa thức phản hồi của LFSR là đa thức nguyên thủy trên F2 29và tạo ra một chuỗi có độ dài lớn nhất (chuỗi m) trênF2 29, chuỗi m này được lọc bởi 1 hàm chuyển đổi WG phi tuyến tính, F229 F2, để tạo

ra dòng khóa

Hình 1.8 Sơ đồ mô tả mật mã WG

Trang 24

Tất cả các phần tử trong F2 29được biểu diễn trong cơ sở thông thường và tất cả các tính toán trường hữu hạn cũng đều trong cơ sở thông thường Đa thức phản hồi của LFSR được cho bởi biểu thức:

p(x) = x11 + x10 + x9 + x6 + x3 + x + γ với F2 29được sinh ra bởi đa thức nguyên thuỷ trên F2

g(x) = x29 + x28 + x24 + x21 + x20 + x19 + x18 + x17 + x14 + x12 + x11 +

x10 + x7 + x6 + x4 + x + 1

Và γ = β464730077 với β là gốc của g(x) Định nghĩa S(1), S(2), S(3),…, S(11) ∈ F2 29

là trạng thái của LFSR Ta cũng biểu thị đầu ra của LFSR là bi = S(11 - i), i = 0, 1, , 10 Cho i ≥ 11, ta có:

bi = bi−1 + bi−2 + bi−5 + bi−8 + bi−10 + γbi−11, i ≥ 11

* Mô tả toán học của chuyển đổi WG

Xét F2 29được sinh ra bởi đa thức nguyên thuỷ g(x) với β là gốc Cho

Hình 1.9 Sơ đồ khối của chuyển đổi WG

Hàm chuyển đổi WG từ F2 29→ F2 được định nghĩa bởi biểu thức : f(x) = Tr(t(x +

1) + 1), x F2 29 Hình 1.9 minh hoạ sự chuyển đổi ở trên, 29 bit đầu vào của hàm

Trang 25

chuyển đổi WG được coi như là một phần tử của F2 29được biểu diễn trong cơ sở thông thường Tất cả các phép toán được biểu diễn trong hình 1.8 và hình 1.9 đều là những phép toán thông thường Cơ sở thông thường của F2 29 được định nghĩa bởi g(x), được tạo ra bởi phần tử γ ∈ F2 29với γ được cho ở trên bằng γ = β464730077 Đa thức γ được biểu diễn như sau:

γ = β1 + β2 + β3 + β4 + β5 + β6 + β7 + β10 + β11 + β12 + β13 + β14 + β15 + β16 + β17+ β20 + β23 + β24 + β26 + β27

Cơ sở thông thường có thể định nghĩa là  2 0 2 2 2 28

, , , ,

    Một vài phép tính trong F2 29 khi các phần tử trường được biểu diễn theo cơ sở thông thường

 Nếu các phần tử được biểu diễn trong cơ sở thông thường thì phép luỹ thừa có thể tính được bằng phép dịch phải Tức là, nếu x ∈ F2 29được biểu diễn bởi một véc tơ 29 bit, thì 2i

x có thể tính được bằng cách đơn giản là dịch các bít của x

sang phải i bước

Hình 1.10 Sơ đồ khối cài đặt chuyển đổi WG

 Nếu γ là máy sinh của cơ sở thông thường thì

28 2 0

Trang 26

với 1 có thể thực hiện được bằng cách đơn giản là nghịch đảo các bit của phần

* Sơ đồ khối mô tả chuyển đổi WG

Đặc tả trong hình 1.10 mô tả chi tiết việc cài đặt chuyển đổi WG trên phần cứng và phần mềm Từ hình đó, đầu ra của chuyển đổi WG được viết như bên dưới:

Phép toán xybiểu diễn phép XOR của x và y

Phép toán x c biểu diễn sự dịch chuyển của x sang phải c trạng thái, với c là một

số nguyên dương

Ký hiệu ( )x có nghĩa là tất cả 29 bit của x sẽ được tải,

Ký hiệu có nghĩa là thêm 29 bit của x trên F2 (XOR)

Trang 27

1.3.3 Khởi tạo khóa và hoạt động của mật mã

Mô tả quá trình tạo khoá và hoạt động của mật mã WG Như đã giới thiệu bên trên độ dài của véc tơ IV có 2 lựa chọn:

 IV có độ dài 32 bít và 64 bít

 IV có độ dài bằng độ dài khoá

Dưới đây là trình bày chi tiết của 2 cơ chế

1.3.3.1 Tạo khóa (IV 32 bít và 64 bít)

Độ dài khóa được khuyến nghị cho mật mã WG là 80, 96, 112 và 128 bit Véc

tơ khởi tạo (IV) có kích thước 32 hoặc 64 bit có thể được dùng với bất kỳ khoá

có độ dài nào ở trên Để khởi tạo mã, các bít khóa và các bít IV được nạp vào LFSR

Quá trình tải các bit khóa và các bit IV vào LFSR:

Trạng thái của LFSR được biểu diễn S(1), S(2), S(3), , S(11) ∈ F29 Mỗi trạng thái S(i) ∈ F29 được biểu diễn: S1, , 29(i), trong đó 1 ≤ i ≤ 11 Tương tự, các bit khoá được biểu diễn: k1, , j, 1≤ j ≤ 128 và bit IV là IV1, , m, 1 ≤ m ≤ 64

Các bit khoá được chia thành các khối 16 bit và mỗi khối được nạp vào LFSR như sau:

Khoá 80 bit được tải

Trang 28

Hình 1.11 Pha khởi tạo khóa của mật mã WG

Khoá 112 bit được tải

S1, 16(1) = k1, ,16 S1, 16(2) = k17, ,32 S1, 16(3) = k33, ,48

S1, 16(4) = k49, ,64 S1, 16(5) = k65, ,80 S1, 16 (6) = k81, ,96

S1, 16(7) = k97, ,112 S1, 16 (9) = k1, ,16 S1, 16 (10) = k17, 32 ⊕ 1

S1, 16 (11) = k33, ,48Khóa 128 bit được tải

Ngày đăng: 16/03/2021, 11:22

🧩 Sản phẩm bạn có thể quan tâm

w