NGHIÊN CỨU KHẢ NĂNG ỨNG DỤNG CỦA HỆ MẬT TRÊN BÀI TOÁN LOGARIT RỜI RẠC TRONG CHỮ KÝ SỐ. Ngày nay cùng với sự phát triển của các ngành khoa học, công nghệ thông tin và truyền thông đã có những bước tiến mang tính đột phá, trong đó phải kể đến sự phát triển của mạng Internet và mạng truyền số liệu.
Trang 1-
LƯƠNG VĂN QUYÊN
NGHIÊN CỨU KHẢ NĂNG ỨNG DỤNG CỦA HỆ MẬT TRÊN BÀI
TOÁN LOGARIT RỜI RẠC TRONG CHỮ KÝ SỐ
Chuyên ngành : Kỹ thuật Viễn thông
Mã số : 60.52.02.08
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2013
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học:
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
TS Ngô Đức Thiện
Trang 3MỞ ĐẦU
1 Lý do chọn đề tài:
Ngày nay cùng với sự phát triển của các ngành khoa học, công nghệ thông tin
và truyền thông đã có những bước tiến mang tính đột phá, trong đó phải kể đến sự phát triển của mạng Internet và mạng truyền số liệu Điều này làm cho việc trao đổi, truyền thông tin qua mạng ngày càng trở nên phổ biến trong mọi lĩnh vực của đời sống xã hội Cùng với sự phát triển của mạng thông tin và truyền thông cũng kéo theo sự gia tăng một số lượng tội phạm lợi dụng kẽ hở bảo mật của mạng để tấn công, ăn cắp, làm giả thông tin gây ra những thiệt hại to lớn
Tại nước ta trong những năm gần đây việc tiến hành xây dựng chính phủ điện
tử đã và đang được các cơ quan chức năng nghiên cứu và đề xuất các giải pháp đầu tư thích hợp, tại các ngân hàng việc cung cấp các dịch vụ giao dịch qua mạng ngày càng phổ biến với hầu hết các khách hàng như dịch vụ Ebank, ví điện tử, dịch vụ thẻ….Về mặt văn hóa báo mạng ngày càng phát triển cả về số lượng và chất lượng, cùng với mạng truyền hình số, truyền hình cable ngày càng trở nên phổ biến, dịch vụ mạng có thể cung cấp cho mọi đối tượng có đủ điều kiện và nhu cầu tiếp cận, và một vấn đề nảy sinh đó là đã có một số lượng tội phạm lợi dụng kẽ hở bảo mật để tấn công, thay đổi thông tin làm ảnh hưởng đến uy tín, gây thiệt hại rất lớn về kinh tế các tổ chức và cá nhân
Để đối phó với những vấn đề đó việc cần thiết là phải xây dựng được hệ thống mật mã đủ mạnh đảm bảo sự bảo mật và an toàn thông tin, đây cũng là nhiệm vụ trọng tâm và then chốt của các nhà nghiên cứu, xây dựng mật mã Hiện nay trên thế giới tồn tại hai hệ thống mật mã, hệ thống mật mã khóa bí mật hiện vẫn sử dụng trong nhiều ứng dụng tuy nhiên có một nhược điểm như khó phân phối, quản lý khóa và không hỗ trợ chữ ký điện tử
Hệ thống mật mã khóa công khai có nhược điểm là khả năng xử lí chậm hơn nhưng có ưu điểm là dễ phân phối và quản khóa do đó có thể hỗ trợ chữ ký số sử dụng cho mục đích đảm bảo tính toàn vẹn dữ liệu Mã khóa công khai dựa trên các hàm một chiều (tính thuận thì dễ, tính ngược thì rất khó) cho đến này thế giới đã tìm ra 5 bài toán một chiều có thể sử dụng xây dựng hệ mật khóa công khai, đó là (1) bài toán
Trang 4logarit rời rạc; (2) bài toán phân tích thừa số (tiêu biểu là hệ mật RSA); bài toán xếp ba lô; (4) bài toán mã sửa sai và (5) bài toán hệ mật xây dựng trên các đường cong elliptic
Trong các thuật toán khóa công khai thì RSA sử dụng phương pháp phân tích thừa số của số nguyên có ưu điểm có tốc độ dữ liệu nhanh hơn nhưng nhược điểm của
hệ đó là các điểm bất động điều này đồng nghĩa với việc thông tin cần mã hóa không thể che dấu được đây cũng là nhược điểm lớn nhất của hệ mã hóa RSA, trong hệ mật
mã Elgamal có ưu điểm là tránh được các điểm bất động tuy nhiên nhược điểm của nó
là tốc độ mã thấp (~1/2) so với phương pháp RSA có tốc độ xấp xỉ bằng 1 Cho nên nếu sử dụng hệ mật này vào việc mã hóa bảo mật để truyền dữ liệu thì không hiệu quả, tuy nhiên ta có thể sử dụng hệ mật này vào lược đồ chữ ký số vì nó chỉ dùng để bảo mật giá trị băm của các bản tin, các giá trị băm thường có kích thước nhỏ hơn nhiều kích thước bản tin
Từ những phân tích trên em đã chọn đề tài “Nghiên cứu khả năng ứng dụng
của hệ mật trên bài toán logarit rời rạc trong chữ ký số” để làm khóa luận tốt
3 Đối tượng và phạm vi nghiên cứu:
+ Đối tương nghiên cứu: Mật mã khóa công khai, hàm băm xác thực và chữ
ký số
+ Phạm vi nghiên cứu: Áp dụng các hệ mật khóa công khai sử dụng bài toán logarit rời rạc vào sơ đồ chữ ký số
4 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 khóa công khai, hàm băm và chữ ký số
Trang 5 Định nghĩa 1.2 [1]: c là ước chung của a và b nếu c|a và c|b.
Định nghĩa 1.3 [1] (ƣớc chung lớn nhất - UCLN) : Số nguyên dương d là
UCLN của các số nguyên a và b ( Ký hiệu ) nếu:
- d là ước chung của a và b
- Nếu c|a và c|b thì c|d
Định nghĩa 1.4 [1] (bội chung nhỏ nhất - BCNN) : Số nguyên dương d là
BCNN của hai số nguyên a và b ( Ký hiệu và
) nếu :
- a|d và b|d
- Nếu a|c và b|c thì d|c
1.1.2 Định nghĩa số nguyên tố và hai số nguyên tố cùng nhau
Định nghĩa 1.5 [1] : Số nguyên được gọi là số nguyên tố nếu các ước dương của nó chỉ bao gồm 1 và A Ngược lại A được gọi là hợp số
Định nghĩa 1.6 [1] : Hai số nguyên dương A và B được gọi là nguyên tố cùng
nhau nếu :
Định nghĩa 1.7 [1] (hàm Phi – Euler) : Với hàm được xác định
là số các số nguyên trong đoạn [ ] nguyên tố cùng nhau với n Hàm được gọi là hàm Phi Euler
Một số tính chất của hàm phi Euler :
- Nếu P là số nguyên tố thì ta có
- Nếu thì
- Nếu trong đó là các số nguyên tố thì
ta có : ( ) ( ) ( )
Trang 61.1.3 Các số nguyên MODULO N
Định nghĩa 1.8 [1] : Cho n là số nguyên dương, hai số nguyên a và b được gọi
là đồng dư với nhau theo modulo n (được ký hiệu là ) nếu :
Các tính chất : Với ta có :
- Tính chất về sự tồn tại : khi và chỉ khi cả a và b đều có phần
dư khi chia cho n
- Tính phản xạ :
- Tính đối xứng : Nếu thì ta có
- Tính chất bắc cầu : Nếu có và thì ta có
- Tính tuyến tính : Nếu và thì ta có
Định nghĩa 1.9 [1] : Các số nguyên modulo n (ký hiệu ) là tập của các số nguyên Các phép cộng, trừ, nhân trong được thực hiện theo modulo n
Định nghĩa 1.10 [1] : Cho , phần tử nghịch đảo của nếu có là một số nguyên thỏa mãn : ( x nếu tồn tại thì nó là duy nhất và a được gọi là khả nghịch, phần tử nghịch đảo của a được ký hiệu là
Định nghĩa 1.11 [1] : Phép chia được xác định khi b
- Phép chia được xác định khi b là phần tử khả nghịch
Trang 7 Định lý 1.2 [1] : Cho , khi đó a là phần tử khả nghịch ( ) nếu
Nếu thì với mọi số nguyên a
với mọi số nguyên a
Định nghĩa1.15 [1] : Cho , nếu cấp của là thì được gọi là phần tử sinh hay phần tử nguyên thủy của Nếu có một phần tử sinh thì được gọi là cyclic
Một số tính chất của phần tử sinh :
- Nếu là một phần tử sinh của thì :
- Nếu là một phần tử sinh của thì khi đó cũng là phần tử sinh của ( ) Từ đó ta có nếu là cyclic thì số phần tử sinh là
- có phần tử sinh khi và chỉ khi hay khi là số nguyên tố lẻ
và Còn nếu n là số nguyên tố thì chắc chắn có phần tử sinh
1.1.5 Các thặng dƣ bậc hai :
Định nghĩa 1.16 [1] : Phần từ được gọi là thặng dư bậc 2 theo modulo n nếu Gọi là tập các thặng dư bậc 2 và ̅̅̅̅ là tập
các thặng dư không bậc 2
Trang 8 Định lý 1.3 (về số lƣợng thặng dƣ bậc 2) [1] :
+ Với p là số nguyên tố, , α là phần tử sinh của , khi đó là thặng dư bậc 2 khi và chỉ khi chẵn Số thặng dư bậc 2 được tính bằng công thức | | | ̅̅̅̅|
+Với trong đó là các số nguyên tố Khi đó khi và chỉ khi
và Vậy số thặng dư bậc 2 là : , số thặng dư không bậc 2 là : ̅̅̅̅
1.2 Các khái niệm cơ bản về mật mã học
- Mật mã học : là lĩnh vực khoa học nghiên cứu về các thuật toán và phương
thức để đảm bảo tính bí mật và xác thực của thông tin Các sản phẩm của lĩnh vực này là các hệ mật mã, các hàm băm, các hệ chữ ký số, các giao thức phân phối và quản lý khóa
- Thám mã : là lĩnh vực khoa học chuyên nghiên cứu, tìm kiếm yếu điểm của
các hệ mật để từ đó đưa ra phương pháp tấn công các hệ mật đó Mật mã và
mã thám là hai lĩnh vực đối lập nhau nhưng gắn bó mật thiết với nhau Không thể xây dựng một hệ mật tốt nếu không hiểu biết sâu về mã thám Thám mã chỉ ra yếu điểm của hệ mật Yếu điểm này có thể được sử dụng để tấn công hệ mật này nhưng cũng có thể được sử dụng để cái tiến hệ mật cho tốt hơn
1.3 Phân loại và sơ đồ chức năng của hệ mật
1.3.1 Hệ mật mật mã khóa bí mật
Trong hệ mật mã khóa bí mật thì trong cả hai quá trình mã hóa và quá trình giải
mã đều sử dụng chung một khóa được gọi là khóa bí mật, nên khi bị lộ khóa thì tính bảo mật của hệ mật cũng không còn Sơ đồ hệ mật mã khóa bí mật được thể hiện như hình 1.1
Trang 9 Nội dung của bản rõ không thể xác thực được nguồn gốc cũng như không có tính chất không thể phủ nhận của chủ thể
1.3.2 Hệ mật mã khóa công khai
1.3.2.1 Sơ đồ hệ mật khóa công khai
Mật mã khóa công khai, sử dụng một cặp chìa khóa có liên quan với nhau về mặt toán học, một khóa công khai dùng để mã hoá (public key) và một khóa riêng dùng để giải mã (private key) Một thông điệp sau khi được mã hóa bởi khóa công khai sẽ chỉ có thể được giải mã với khóa riêng tương ứng, sơ đồ mật mã khóa công khai được thể hiện ở hình 1.2
Bản rõ M Bản mã C
Bản mã C Bản rõ M
Nguồn tin Bộ mã hoá Kênh mở
(không an toàn) Bộ giải mã Nhận tin
Kênh an toàn
Thám mã
Nguồn khoá
K
Trang 10Hình 1.2 Sơ đồ mật mã khóa công khai
Khi thực hiện mật mã khóa công khai, người gửi mã hóa bản rõ(m) bằng khóa công khai thu được bản mã (C) và gửi cho người nhận Do khóa riêng chỉ có người nhận mới có nên chỉ có người nhận mới có thể sử dụng khóa riêng để giải mã được bản bản mã và lấy được bản rõ Trong trường hợp thám mã lấy được bản mã và khóa công khai thì cũng rất khó để tìm được bản rõ vì không có được khóa riêng việc giải
mã nếu thực hiện được thì sẽ mất rất nhiều thời gian
1.3.2.2 Nguyên tắc cấu tạo của các hệ mật mã khóa công khai
Các hệ mã khóa công khai được xây dụng trên các hàm được gọi là các hàm 1 chiều
Hàm một chiều là một hàm mà nếu biết ta có thể dễ dàng tính được hàm Nhưng với việc tìm sao cho là rất khó, điều đó có nghĩa là việc tính hàm thuận thì dễ nhưng việc tìm hàm ngược là rất khó
Để thuận tiện cho việc tính toán mã hóa và giải mã thực hiện nhanh chóng, trong hệ mật mã khóa công khai thực hiện quy ước và sử dụng các thuật toán tính toán nhanh được đồng bộ giữa mã hóa và giải mã giúp cho việc tìm thỏa mãn được thực hiện dễ dàng và nhanh chóng hơn
1.3.2.3 Một số đặc điểm của hệ mật mã khóa công khai
Trong các mật mã khóa công khai thì khóa riêng và khóa công khai có liên quan với nhau về mặt toán học theo kiểu từ khóa riêng có thể dễ dàng tính được khóa công khai, tuy nhiên theo chiều ngược lại từ khóa công khai thì rất khó để tính được khóa riêng
Giải mã
Người gửi
Khóa công khai(public key)
Bản mã (C)
Khóa riêng (private key)
Kênh mở
Trang 11 Mật mã khóa công khai có ưu điểm nổi bật đó là tính an toàn của hệ mã cao hơn, việc phân phối và quản lý khóa đơn giản hơn, và một đặc điểm quan trọng là khi khóa bị lộ dễ dàng xác định được chủ thể làm lộ khóa
Mật mã khóa công khai có nhược điểm là tốc độ chậm nên chưa thể thay thế hoàn toàn hệ thống mã hoá khoá bí mật được, nó ít được sử dụng để mã hoá dữ liệu mà thường dùng để mã hoá khoá
1.4 Hàm băm, một số sơ đồ xác thực thông tin
1.4.1 Định nghĩa và các đặc trƣng của hàm băm
Định nghĩa 1.18[1] : Hàm băm là các thuật toán không sử dụng khóa để mã
hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hóa”), nó có nhiệm vụ “lọc” (băm) thông điệp được đưa vào theo một thuật toán h một chiều nào đó, rồi đưa ra một bản băm – văn bản đại diện – có kích thước cố định Do đó người nhận không biết được nội dung hay độ dài ban đầu của thông điệp đã được băm bằng hàm băm Giá trị của hàm băm là duy nhất, và không thể suy ngược lại được nội dung thông điệp từ giá trị băm này
Các đặc trƣng của hàm băm:
Hàm băm h là hàm băm một chiều (one-way hash) với các đặc tính sau:
- Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’ thì h(x’) h(x) Cho dù chỉ là một sự thay đổi nhỏ hay chỉ là xóa đi 1 bit dữ liệu của thông điệp thì giá trị băm cũng vẫn thay đổi Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng khác nhau
- Nội dung của thông điệp gốc không thể bị suy ra từ giá trị hàm băm Nghĩa là: với thông điệp x thì dễ dàng tính được z = h(x), nhưng lại không thể (thực chất
là khó) suy ngược lại được x nếu chỉ biết giá trị hàm băm h
1.4.2 Tính chất và phân loại hàm băm
1.4.2.1 Tính chất của hàm băm
Tính chất 1: Hàm băm h là không va chạm yếu
hàm h phải thỏa mãn tính không va chạm yếu: Hàm băm h là không va chạm yếu nếu khi cho trước một bức điện x, không thể tiến hành về mặt tính toán để tìm ra một bức điện x’ x mà h(x’) = h(x)
Tính chất 2: Hàm băm h là không va chạm mạnh
Trang 12Hàm băm h là không va chạm mạnh nếu không có khả năng tính toán để tìm ra hai bức thông điệp x và x’mà x x’ và h(x) = h(x’)
Tính chất 3: Hàm băm h là hàm một chiều: Hàm băm h là một chiều nếu khi
cho trước một bản tóm lược thông báo z thì không thể thực hiện về mặt tính toán để tìm ra thông điệp ban đầu x sao cho h(x) = z
1.4.2.2 Phân loại hàm băm
Hàm băm được phân ra thành 2 loại chính :
- Các hàm băm không khóa MDC
- Các hàm băm có khóa MAC
Hình 1.3 Phân loại hàm băm
1.4.3 Tính toàn vẹn và các sơ đồ xác thực thông tin
Tính toàn vẹn của dữ liệu:
Định nghĩa 1.19 [1] : Tính toàn vẹn của dữ liệu là tính chất đảm bảo dữ liệu
không bị sửa đổi một các bất hợp pháp kể từ khi dữ liệu được tạo ra, được phát tán hoặc đang được lưu giữ bởi một nguồn được xác định
Định nghĩa 1.20 [1] : Xác thực tính nguyên bản của dữ liệu là một kiểu xác
thực đảm bảo một bên liên lạc được chứng thực là nguồn thực sự tạo ra dữ liệu đó ở một thời điểm nào đó trong quá khứ
Xác thực thông báo là một thuật ngữ được dùng tương đương với xác thực nguyên gốc của dữ liệu
Các sơ đồ xác thực thông tin:
Trang 13ký tay là không khả thi vì chúng là tài siệu số và không được in trên giấy Vây một yêu cầu đặt ra là làm sao để xây dựng được chữ ký số có các đặc tính như chữ ký tay để có thể sử dụng trên các tài liệu số và các giao dịch diện tử? Để đi tìm lời giải cho vấn đề này trước tiên chúng ta phải hiểu được các đặc tính của chữ ký