Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
1,62 MB
Nội dung
Giải pháp xác thực số MỞ ĐẦU Sự đời internet, phát triển nhanh chóng cơng nghệ thông tin tạo thay đổi lớn lĩnh vực đời sống người Internet đời, nhu cầu truyền thông tin mạng nhu cầu tất yếu Và đặc biệt với đời thương mại điện tử nhu cầu rõ rệt cấp thiết Vấn đề đặt phải tạo phương pháp truyền thông tin an tồn, tránh phá hoại, ăn cắp thơng tin hay làm sai lệch thông tin Cùng với nhu cầu loạt giải pháp đời Mã hóa, chữ ký điện tử đảm bảo tính xác thực, an tồn thơng tin chưa đủ để xác thực người sử dụng cặp khóa cơng khai bí mật chối bỏ thơng tin khóa sử dụng Từ lý mà người ta thấy cần phải có bên thứ ba đứng xác nhận thông tin khóa dùng để mã hóa gắn liền với chủ thể sử dụng Chứng số đời Chứng số tệp tin điện tử quan, tổ chức cấp lưu trữ thơng tin chủ thể sử dụng thông tin khóa Đồ án đề cập đến chứng số sử dụng chứng số để xác thực Đồ án gồm chương • Chương I: Các khái niệm Trong chương đề cập đến số khái niệm tốn học, vấn đề mã hóa, chữ ký điện tử, xác thực, chứng thực điện tử • Chương II: Chứng số Trong chương trình bày chi tiết chứng số • Chương III: Xây dựng hệ thống quản lý chứng số Trong chương giới thiệu việc xây dựng chương trình hệ thống quản lý chứng số viết ngôn ngữ PHP Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN 1.1 Các khái niệm toán học 1.1.1 Số nguyên tố nguyên tố Số nguyên tố số chia hết cho Ví dụ: 2, 3, 5, 7, 17, … số nguyên tố Hệ mật mã thường sử dụng số nguyên tố lớn 10150 Hai số m n gọi nguyên tố ước số chung lớn chúng Ký hiệu: gcd(m,n) = Ví dụ: 14 nguyên tố 1.1.2 Đồng dư thức Cho a b số nguyên tố, n số nguyên dương a gọi đồng dư với b theo modulo n n|a-b (tức a - b chia hết cho n, hay chia a b cho n số dư nhau) Số nguyên n gọi modulo đồng dư Kí hiệu: a ≡ b (mod n) Ví dụ: 67 ≡ 11 (mod 7), 67 (mod 7) = 11 (mod 7) = Tính chất đồng dư: Cho a, a1, b, b1, c ∈ Z Ta có tính chất: • a≡b mod n a b có số dư chia cho n • Tính phản xạ: a ≡ a mod n • Tính đối xứng: Nếu a ≡ b mod n b ≡ a mod n • Tính giao hoán: Nếu a ≡ b mod n b ≡ c mod n a ≡ c mod n • Nếu a ≡ a1 mod n, b ≡ b1 mod n a+b ≡ a1 + b1 mod n Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng Giải pháp xác thực số ab ≡a1b1 mod n 1.1.3 Không gian Zn Zn* Không gian Zn (các số nguyên theo modulo n) tập hợp số nguyên {0,1,2,…,n-1} Các phép toán Zn cộng, trừ, nhân, chia thực theo module n Ví dụ: Z11 = {0,1,2,3,…,10} Trong Z11: + = 2, + = 13≡ (mod 11) Không gian Zn* tập hợp số nguyên p∈Zn, nguyên tố n Tức là: Zn* = { p ∈ Zn | gcd (n,p) =1} Φ(n) số phần tử Zn* Nếu n số nguyên tố thì: Zn* = { p ∈ Zn |1≤ p ≤ n - 1} Ví dụ: Z2 = {0,1} Z2*= {1} gcd(1,2) = 1.1.4 Phần tử nghịch đảo Định nghĩa: Cho a ∈ Zn Nghịch đảo a theo modulo n số nguyên x ∈ Zn cho ax ≡ (mod n) Nếu x tồn giá trị nhất, a gọi khả nghịch, nghịch đảo a ký hiệu a-1 Tính chất: • Cho a,b∈ Zn Phép chia a cho b theo modulo n tích a b−1 theo modulo n, xác định b có nghịch đảo theo modulo n • Cho a∈ Zn, a nghịch đảo gcd(a, n) = Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phòng Giải pháp xác thực số • Giả sử d=gcd (a, n) Phương trình đồng dư ax ≡ b mod n có nghiệm x d chia hết cho b, trường hợp nghiệm d nằm khoảng đến n - nghiệm đồng dư theo modulo n/d Ví dụ: 4-1 = (mod 9) 4.7 ≡1 (mod 9) 1.1.5 Hàm băm 1.1.5.1 Giới thiệu Một hàm băm (hash function) hay giải thuật băm phương pháp sinh địa phần nhớ dành cho khóa thứ tự Các hàm cung cấp cách tạo "vân tay" số nhỏ từ loại liệu Hàm cắt trộn (thay chuyển vị) liệu để tạo giá trị thường gọi giá trị băm Giá trị băm thường biểu diễn hệ số 16 Hàm băm tốt hàm cho đụng độ băm (hash collision) miền liệu trông đợi Trong bảng băm việc xử lý liệu, đụng độ dẫn đến chi phí cao cho việc tìm kiếm ghi sở liệu Hình 1.1 Hai điều kiện sau người ta cho hai điều kiện chủ yếu cho hàm băm: Hàm băm phải hàm phía nghĩa cho x tính z=h(x) việc dễ ngược lại, biết z tính x việc cực khó (có thể quy ước dễ hay khó tính thời gian đa thức hay không) Đồ án tốt nghiệp – Khoa công nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số Hàm băm phải hàm không va chạm mạnh theo nghĩa sau đây: khơng có thuật tốn tính thời gian đa thức giả tốn “tìm x1 x2 thuộc Σ cho x1 ≠ x2 h(x1) = h(x2)”; nói cách khác tìm hai văn khác có đại diện khó Danh sách hàm băm: Hình 1.2 1.1.5.2 Cấu trúc hàm băm Hầu hết hàm băm mật mã đầu có cấu trúc giải thuật sau: • Cho trước thơng điệp M có độ dài Tùy theo thuật toán sử dụng cần bổ sung số bit vào thông điệp để nhận thông điệp có dộ dài bội số số cho trước Chia nhỏ thơng điệp thành khối có kích thước nhau: M1, M2, ,Ms Đồ án tốt nghiệp – Khoa công nghệ thông tin trường DHDL Hải Phịng Giải pháp xác thực số • Gọi H trạng thái có kích thước n bit, f “hàm nén: thực thao tác trộn khối liệu với trạng thái hành - Khởi gán H0 vector khởi tạo - H1 = f(Hi-1,Mi) với I = 1,2,3,….,s • Hs thơng điệp rút gọn thông điệp M ban đầu 1.1.5.3 Một số loại hàm băm Hàm băm MD5: Hàm băm MD4 (Message Digest 4) giáo sư Rivest đề nghị vào năm 1990 Vào năm sau, phiên cải tiến Thông điệp ban đầu x mở rộng thành dãy bit X có độ dài bội số 512 Một bit thêm vào sau dãy bit x, tiếp đến dãy gồm d bit cuối dãy 64 bit l biểu diễn độ dài thông điệp x Dãy gồm d bit thêm vào cho dãy X có độ dài bội số 512 Quy định thể thuật toán sau: Thuật toán xây dựng dãy bit X từ dãy bit x Hình 1.3 Đơn vị xử lý trog MD5 từ 32-bit nên dãy X biểu diễn thành dãy tư X[i] 32 bit: X=X[0]X[1]………X[N-1] với N bội số 16 Thuật tốn MD5: Đồ án tốt nghiệp – Khoa cơng nghệ thơng tin trường DHDL Hải Phịng Giải pháp xác thực số Hình 1.4 Đầu tiên bốn biến ABCD khởi tạo Những biến gọi chaining variables Bốn chu kỳ biến đổi MD5 hoàn toàn khác sử dụng hàm F,G,H I Mỗi hàm có tham số X,Y,Y cá từ 32 bit kết từ 32 bit F(X,Y,Z)= (X∧Y)∨((¬X)∧Z) G(X,Y,Z)= (X∧Z)∨(Y(¬Z)) H(X,Y,Z)= X⊕Y⊕Z I(X,Y,Z)= Y⊕(X∨(¬Z)) Với quy ước: X∧Y: Phép toán AND bit X Y X∨Y: Phép toán OR bit X Y X⊕Y: Phép toán XOR bit X Y ¬X: Phép tốn NOT bit X X+Y: Phép cộng (modulo 232) X