Thông tin tài liệu
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
ĐẶNG XUÂN ĐIỆP
NGHIÊN CỨU SỬ DỤNG CẤP SỐ NHÂN CYCLIC
VÀO VIỆC TẠO KHÓA CHO CÁC MẬT MÃ KHỐI
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
Người hướng dẫn khoa học: TS NGÔ ĐỨC THIỆN
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2013
1
MỞ ĐẦU
Lý do chọn đề tài
Mật mã khóa bí mật hay còn gọi là mật mã cổ điển có lịch sử phát triển từ lâu
đời. Cho đến ngày này hệ mật này vẫn được sử dụng rộng rãi với các ưu điểm nổi bật
như: Đơn giản (thời gian nhanh, yêu cầu phần cứng không phức tạp); Hiệu quả: (Tỷ
lệ mã bằng 1) dễ sử dụng cho các ứng dụng nhạy cảm với độ trễn và các ứng dụng di
động.
Các phương pháp xây dựng các hệ mật khóa bí mật thường được xây dựng trên
các phép thay thế, hoán vị và kết hợp cả thay thế và hoán vị và nổi bật trong các hệ
mật này là chuẩn mã dữ liệu DES. Đây là một phương pháp mật mã được tổ chức
Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ chọn làm chuẩn chính thức vào
năm 1976, sau đó chuẩn này được sử dụng rộng rãi trên phạm vi thế giới.
Phương pháp xử lý thông tin trong DES theo mật mã khối. Khi sử dụng DES ở
chế độ bình thường ECB có một nhược điểm là khi các khối bản tin rõ đầu vào giống
nhau và sử dụng cùng một khóa thì mã đầu ra sẽ giống nhau, điều này là rất nguy
hiểm và thám mã có thể lợi dụng để phá mã. Để giải quyết vấn đề này ta có thể sử
dụng DES ở chế độ liên kết mã khối (CBC) nhưng ở chế độ này cũng có nhược điểm
là khi giải mã sai một khối thông tin thì toàn bộ các khối thông tin tiếp theo sẽ bị giải
mã sai. Một phương pháp khác để khắc phục điểm yếu này là sử dụng các khóa khác
nhau cho mỗi khối thông tin đầu vào và các khóa này được tạo một cách ngẫu nhiên
là tốt nhất. Tuy nhiên, việc tạo và lưu trữ các khóa kiểu ngẫu nhiên sẽ tốn kém và
không hiệu quả.
Cấp số nhân cyclic trên vành đa thức đặc biệt là trên vành đa thức có hai lớp kề
cyclic có một tính chất là số lượng các phần tử của cấp số nhân rất lớn và xuất hiện
có tính gần giống ngẫu nhiên. Việc tạo các cấp số nhân khá đơn giản, chỉ cần một đa
thức sinh và có thể thêm một đa thức ban đầu. Với tính chất như vậy ta có thể sử
dụng các cấp số nhân cyclic để sinh khóa cho mật mã khối nói chung và hệ mật DES
nói riêng. Đây là một hướng nghiên cứu mở mà luận văn sẽ tập trung vào nghiên cứu.
Các kết quả của luận văn góp một phần vào việc nâng cao tính bảo mật chống lại khả
năng thám mã của các mật mã khối.
Mục đích nghiên cứu
Đề xuất một phương pháp tạo khóa cho mật mã khối trong các hệ khóa bí mật
bằng các cấp số nhân cyclic trên vành đa thức.
Mô phỏng so sánh giữa DES tiêu chuẩn với DES có khóa được xây dựng từ
các cấp số nhân trên vành đa thức, từ đó đưa ra được ưu điểm của phương pháp đề
xuất.
2
Đối tượng và phạm vi nghiên cứu
Đối tương nghiên cứu: Mật mã khối; Nhóm nhân và cấp số nhân trên vành đa
thức.
Phạm vi nghiên cứu: Sử dụng cấp số nhân cyclic trên vành đa thức để tạo khóa
cho hệ mật DES
Phương pháp nghiên cứu
Sử dụng lý thuyết về mật mã học, các cấu trúc đại số trên vành đa thức. Kết
hợp với việc tính toán và mô phỏng hệ mật DES với khóa đề xuất.
Nội dung của đồ án bao gồm
Chương 1: Tổng quan về mật mã học
Chương 2: Nghiên cứu sử dụng cấp số nhân Cyclic vào việc tạo khóa cho mật mã khối
Chương 3: Một số kết quả mô phỏng đánh giá
3
CHƯƠNG 1. TỔNG QUAN VỀ MẬT MÃ HỌC
1.1. Các khái niệm cơ bản về mật mã học
1.1.1 Sơ lược lịch sử về khoa học mật mã
1.1.2 Giới thiệu về hệ mật mã
- Định nghĩa hệ mật mã
- Các thuật ngữ
1.1.3 Những yêu cầu đối với hệ mật mã
1.2. Hệ mật mã khóa bí mật
1.2.1 Sơ đồ chức năng của hệ mật khóa bí mật
Hình 1.1. Sơ đồ chức năng của hệ mật khóa bí mật [1]
1.2.2 Hệ mật thay thế
- Các hệ mật thay thế đơn biểu
- Các hệ mật thay thế đa biểu
1.2.3 Các hệ mật hoán vị
- Mật mã Rail fence
- Mật mã Route
- Mật mã Columnar
4
1.2.4 Chuẩn mã dữ liệu DES
- Giới thiệu về DES
Hình 1.2. Sơ đồ mã DES
- Mô tả thuật toán
- Hàm mật mã f
- Khối tạo khóa
5
Hình 1.3. Khối tạo khóa cho các vòng mã hóa của DES
- Giải mã DES
- Sự an toàn của DES
1.2.5 Chuẩn mã dữ liệu tiên tiến (AES)
- Tổng quan về AES
- Thiết kế tổng quát của AES
Hình 1.4. Thiết kế tổng quát của AES [4]
K
C
0
D
0
LS
-
LS
-
1
C
1
D
1
6
4
bit
28 bit
28 bit
C
16
D
16
PC
-
1
K
1
(48 bit)
PC
-
2
K
16
(48 bit)
PC
-
2
6
1.3. Hệ mật khóa công khai
1.3.1 Sơ đồ chức năng của hệ mật khóa công khai
Hình 1.5. Sơ đồ chức năng của hệ mật khóa công khai
K
CB
: Khóa công khai của B
K
RB
: Khóa bí mật của B
Mã hóa: C = E (M,K
CB
)
Giải mã: M = E
-1
(C, K
RB
) = D (C, K
RB
) [1]
1.3.2 Một số bài toán sử dụng trong hệ mật khóa công khai
1.3.3 Ưu và nhược điểm của hệ mật khóa công khai
1.3.4 Xây dựng các chương trình ứng dụng kiến trúc PGP
Hình 1.6. Chương trình ứng dụng kiến trúc PGP
Với mô hình này sẽ kết hợp 2 ưu điểm của hai hệ mật khóa bí mật và hệ mật khóa
công khai.
1.3.5 Sử dụng mã hóa công khai để truyền khóa bí mật K.
1.3.6 Sử dụng hệ mật mã khóa bí mật để mã hóa bản tin M.
Đích
B
K
CB
M
C M
Thám mã
A
Mã hóa Giải mã Kênh mở
C
Nguồn
K
RB
7
1.4. Kết luận chương
Khi thiết kế mật mã thì vấn đề đảm bảo độ vững chắc của thuật toán là một vấn đề
quan trọng nhất. Đánh giá độ bền vững của thuật toán là một trong các vấn đề lâu nhất và
khó nhất.
Phương pháp mã hóa cổ điển sử dụng giải thuật đơn giản, không gian khóa nhỏ.
Phương pháp mã hoá cổ điển có thể dễ dàng bị giải mã bằng cách đoán chữ dựa trên phương
pháp thống kê tần xuất xuất hiện các chữ cái trên mã và so sánh với bảng thống kê quan sát
của bản rõ. Để dùng được mã hoá cổ điển thì bên mã hoá và bên giải mã phải thống nhất
với nhau về cơ chế mã hoá cũng như giải mã. Việc thay đổi mã là rất khó và dễ bị lộ. Hệ
mật mã khóa đối xứng có khóa lập mã và khóa giải mã là trùng nhau cho nên mật mã đó
phải được giữ bí mật chỉ có người lập mã và người nhận mã được biết mà thôi. Khóa phải
được gửi đi trên kênh an toàn, nếu kẻ địch tấn công trên kênh này có thể sẽ phát hiện ra
khóa.
Thuật toán mã hóa công khai được thiết kế sao cho khóa sử dụng vào việc mã hóa là
khác so với khóa giải mã. Khóa giải mã không thể tính toán được từ khóa mã hóa. Nếu kẻ
tấn công cố tình tìm ra khóa giải mã thì sẽ gặp phải khó khăn về thời gian và số phép thử vô
cùng lớn, như vậy là không khả thi vì bản tin chỉ có giá trị trong một thời gian ngắn. Khóa
mã hóa được gọi là khóa công khai còn khóa giải mã được gọi là khóa riêng. Khóa công
khai và bản tin mã hóa đều được gửi đi trên một kênh thông tin không an toàn.
8
CHƯƠNG 2. NGHIÊN CỨU SỬ DỤNG CẤP SỐ NHÂN CYCLIC
VÀO VIỆC TẠO KHÓA CHO MẬT MÃ KHỐI
2.1. Những vấn đề cơ bản về cấu trúc đại số
Những vấn đề cơ bản được trình bày trong mục này gồm có:
- Nhóm
- Vành
- Trường
- Trường hữu hạn
2.2. Vành đa thức
2.2.1 Khái niệm đa thức
Nếu R là một vành giao hoán thì một đa thức của biến x trên vành R là một biểu thức
có dạng:
1
0
)(
n
i
i
i
xfxf
(2.4)
Trong đó: f
i
– là hệ số thuộc R. Trong trường nhị phân GF
(2)
nó nhận giá trị 0 hoặc 1.
x – biến (ẩn hình thức).
2.2.2 Vành đa thức
Nếu R là một vành giao hoán thì vành đa thức R[x] là một vành được tạo bởi tập tất cả các
đa thức của biến x có các hệ số trong R. Hai phép toán là phép cộng và phép nhân đa thức
thông thường với số học các hệ số được thực hiện trong vành R [1].
Trong trường nhị phân, vành đa thức được ký hiệu:
(f(x); f, ) = Z
2
[x]/x
n
+ 1
e(x) = 0 gọi là phần tử đơn vị, deg e(x) = 0
(f(x), +) là một nhóm đối với phép cộng, thỏa mãn tiên đề của nhóm.
(f(x), *) là nửa nhóm đối với phép nhân, không tồn tại f(x), g(x) mà f(x).g(x) = 0
2.2.3 Vành đa thức có hai lớp kề cyclic
Vành đa thức theo modulo x
n
+1 được gọi là vành đa thức có hai lớp kề cyclic nếu phân
tích của x
n
+1 thành tích của các đa thức bất khả quy trên trường GF(2) có dạng sau:
x
n
+ 1 = (x + 1)
1
0
n
i
i
x
(2.9)
[...]... Việc đề xuất sử dụng các cấp số nhân cyclic vào việc tọa khóa cho mật mã khối sẽ được trình bày ở chương 3 13 CHƯƠNG 3 MỘT SỐ CHƯƠNG TRÌNH TÍNH TOÁN KHÓA VÀ MÃ HÓA 3.1 Tạo khóa mã hóa cho từng khối bản tin của hệ mật khóa bí mật 3.1.2 Sử dụng cấp số nhân có cấp cực đại Sơ đồ mã hóa và giải mã được mô tả như hình 3.1 Các khối bản tin M i Mã hóa Các khối mã Ci Các khóa tương ứng Ki Ci Kênh mở Thám mã. .. khóa K (cấp số nhân cyclic) Các khối mã Ci Ci Kênh mở Thám mã Trao đổi và thỏa thuận khóa DES-1-K Các bộ 16 khóa con K1 K16 Tạo khóa K (cấp số nhân cyclic) Hình 3.2 Sử dụng cấp số nhân tạo các khóa con cho DES Các khối bản tin M i 20 Để tạo các khóa con cho DES ta cũng có thể sử dụng các cấp số nhân có cấp cực đại hoặc các cấp số nhân lấy theo modulo h(x) Các bước tạo khóa cũng tương tự như trong mục... chúng để tạo khóa cho mật mã khối Đồ án đã đạt được một số kết quả như: Sử dụng cấp số nhân cyclic trên vành đa thức có hai lớp kề từ cấu trúc đại số như là nhóm nhân và cấp số nhân để tạo khóa cho mật mã khối nói chung và hệ mật DES nói riêng một cách đơn giản Số khóa được tạo ra khá lớn Giải mã và mã hóa một cách linh hoạt Nghiên cứu cách tạo m dãy lồng ghép trên vành đa thức có hai lớp kề cyclic theo... Thám mã Giải mã Các khóa tương ứng Ki Trao đổi và thỏa thuận khóa Tạo khóa K (cấp số nhân cyclic) Các khối bản tin M i Tạo khóa K (cấp số nhân cyclic) Hình 3.1 Sử dụng cấp số nhân cyclic làm khóa mã hóa cho từng khối bản tin Như đã phân tích trong chương 2, trong vành đa thức có hai lớp kề Z 2 [x] / x n 1 có các phần tử có cấp cực đại là: 2 n1 1 , với n lớn thì ta có thể tạo chuỗi khóa rất dài... một số khái niệm cơ bản về đại số trừu tượng, các khái niệm về: vành đa thức, nhóm nhân, cấp số nhân cyclic trên vành đa thức, đặc biệt là vành đa thức có hai lớp kề cyclic Đây là một vành đặc biệt không được sử dụng trong xây dựng mã cổ điển, tuy nhiên với cấu trúc của các cấp số nhân cyclic trên các vành đa thức có hai lớp kề ta có thể ứng dụng vào việc xây dựng các hệ mật và việc tọa khóa cho các. .. hệ mật khá lý thú Cấp số nhân cyclic trên vành đa thức đặc biệt là trên vành đa thức có hai lớp kề cyclic có một tính chất là số lượng các phần tử của cấp số nhân rất lớn và xuất hiện có tính gần giống ngẫu nhiên Việc tạo các cấp số nhân khá đơn giản, chỉ cần một đa thức sinh và có thể thêm một đa thức ban đầu Với tính chất như vậy ta có thể sử dụng các cấp số nhân cyclic để sinh khóa cho mật mã khối. .. cách Hamming trung bình: d tb 1 32 d(C ,C ) 31,871 31 i 2 1 i 3.2 Tạo các khóa con cho DES Sơ đồ mã hóa và giải mã theo phương pháp này được mô tả như hình 3.2 Trong sơ đồ này các bộ mã hóa DES-K và giải mã DES-1-K cũng tương tự như DES và DES-1 tuy nhiên bộ tạo khóa sẽ được thay thế bằng các cấp số nhân Các khối bản tin M i DES-K Các bộ 16 khóa con K1 K16 Tạo khóa K (cấp số nhân cyclic) Các. .. khi mã hóa một khối bản tin 64 bit, sẽ sử dụng 16 phần tử (các khóa con) của cấp số nhân, ta sẽ sử dụng lần lượt các khóa trong cấp số nhân tạo khóa, tức là cứ hết 16 phần tử ta lại tiếp tục lấy 16 phần tử tiếp theo Chiều dài của các khóa con đưa vào mã hóa là 48 bit, nên ta sẽ xây dựng các cấp số nhân trên vành Z 2 [x] / x53 1 , sau đó loại bỏ 5 bit cuối để còn 48 bit Dưới đây là các mô phỏng hệ mật. .. 2A0223DF803FC410 39 Khoảng cách Hamming trung bình: d tb 1 32 1 d(C1 ,Ci ) 311024 33, 03 31 i 2 3.3 Kết luận chương Nội dung chương 3 đã đề xuất phương pháp tạo khóa cho hệ mật khóa bí mật bằng hai phương pháp: Xây dựng các khóa từ các cấp số nhân cyclic có cấp cực đại và các khóa xây dựng theo dãy m lồng ghép trên vành đa thức có hai lớp kề cyclic, thực chất là các cấp số n 1 nhân lấy theo modulo... nhân cyclic trong vành đa thức - Nhóm nhân cyclic (CMG – Cyclic Multiplicate Groups) - Nhóm nhân cyclic đơn vị - Nhóm nhân cyclic với phần tử sinh a(x) - Đa thức đối xứng và các nhóm nhân cyclic đối xứng 2.3.3 Cấp số nhân cyclic trên vành đa thức Xét vành đa thức Z2[x]/ xn + 1 với n lẻ, giả sử a(x) là số hạng đầu tiên của cấp số nhân cyclic và q(x) là công bội của cấp số nhân Định nghĩa 2.10: Cấp số . sử dụng các cấp số nhân cyclic
để sinh khóa cho mật mã khối nói chung. Việc đề xuất sử dụng các cấp số nhân cyclic vào
việc tọa khóa cho mật mã khối sẽ.
là cấp số nhân cyclic cấp m.
2.4. Phương pháp tạo khóa cho hệ mật mã khối bằng các cấp số nhân cyclic
2.4.1 Đề xuất sử dụng cấp số nhân cyclic cho việc
Ngày đăng: 17/02/2014, 09:01
Xem thêm: Nghiên cứu xây dựng cấp số nhân cyclic vào việc tạo khóa cho các mật mã khối, Nghiên cứu xây dựng cấp số nhân cyclic vào việc tạo khóa cho các mật mã khối