giáo trình an toàn thông tin - chương 1 an toàn dữ liệu trên mạng máy tính

88 1.8K 2
giáo trình an toàn thông tin - chương 1 an toàn dữ liệu trên mạng máy tính

Đ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

MỤC LỤC Trường Đại học Hải Phòng Bài giảng: An toàn thông tin CHƯƠNG 1 AN TOÀN DỮ LIỆU TRÊN MẠNG MÁY TÍNH Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin việc ứng dụng các công nghệ mạng máy tính trở nên vô cùng phổ cập và cần thiết. Công nghệ mạng máy tính đã mang lại những lợi ích to lớn. Sự xuất hiện mạng Internet cho phép mọi người có thể truy cập, chia sẽ và khai thác thông tin một cách dễ dàng và hiệu quả. Các công nghệ E-mail cho phép mọi người có thể gửi thư cho người khác cũng như nhận thư ngay trên máy tính của mình. Gần đây có công nghệ E-business cho phép thực hiện các hoạt động thương mại trên mạng máy tính. Việc ứng dụng các mạng cục bộ trong các tổ chức, công ty hay trong một quốc gia là rất phong phú. Các hệ thống chuyển tiền của các ngân hàng hàng ngày có thể chuyển hàng tỷ đôla qua hệ thống của mình. Các thông tin về kinh tế, chính trị, khoa học xã hội được trao đổi rông rãi. Tuy nhiên lại nảy sinh vấn đề về an toàn thông tin. Đó cùng là một quá trình tiến triển hợp logic: khi những vui thích ban đầu về một siêu xa lộ thông tin, bạn nhất định nhận thấy rằng không chỉ cho phép bạn truy nhập vào nhiều nơi trên thế giới, Internet còn cho phép nhiều người không mời mà tự ý ghé thăm máy tính của bạn. Thực vậy, Internet có những kỹ thuật tuyệt vời cho phép mọi người truy nhập, khai thác, chia sẻ thông tin. Những nó cũng là nguy cơ chính dẫn đến thông tin của bạn bị hư hỏng hoặc phá huỷ hoàn toàn. Có những thông tin vô cùng quan trọng mà việc bị mất hay bị làm sai lệch có thể ảnh hưởng đến các tổ chức, các công ty hay cả một quốc gia. Các thông tin về an ninh quốc gia, bí mật kinh doanh hay các thông tin tài chính là mục tiêu của các tổ chức tình báo nước ngoài về chính trị hay công nghiệp hoặc kẻ cắp nói chung. Bọn chúng có thể làm mọi việc có thể để có được những thông tin quý giá này. Thử tưởng tượng nếu có kẻ xâm nhập được vào hệ thống chuyển tiền của các ngân hàng thì ngân hàng đó sẽ chịu những thiệt hại to lớn như mất tiền có thể dẫn tới bị phá sản. Chưa kể nếu hệ thông thông tin an ninh quốc gia bị đe doạ thì hậu quả không thể lường trước được. Theo số liệu của CERT(Computer Emegency Response Team - “Đội cấp cứu máy tính”), số lượng các vụ tấn công trên Internet được thông báo cho tổ chức này là ít hơn 200 vào năm 1989, khoảng 400 vào năm 1991, 1400 vào năm 1993, và 2241 vào năm 1994. Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tính của tất cả các công ty lớn như AT&T, IBM, các trường đại học, các cơ quan nhà nước, các tổ chức quân sự, nhà băng Một số vụ tấn công có quy mô khổng lồ (có tới 100.000 máy tính bị tấn công). Hơn nữa, những con số này chỉ là phần nổi của tảng băng. Một phần rất lớn các vụ tấn công không được thông báo, vì nhiều lý do, trong đó có thể kể đến nỗi lo bị mất uy tín, hoặc đơn giản những người quản trị hệ thống không hề hay biết những cuộc tấn công nhằm vào hệ thống của họ. Không chỉ số lượng các cuộc tấn công tăng lên nhanh chóng, mà các phương pháp tấn công cũng liên tục được hoàn thiện. Điều đó một phần do các nhân viên quản trị hệ thống được kết nối với Internet ngày càng đề cao cảnh giác. Cũng theo CERT, những cuộc tấn công thời kỳ 1988-1989 chủ yếu đoán tên người sử dụng-mật khẩu (UserID- password) hoặc sử dụng một số lỗi của các chương trình và hệ điều hành (security hole) làm vô hiệu hệ thống bảo vệ, tuy nhiên các cuộc tấn công vào thời gian gần đây bao GV. Lê Đắc Nhường Trang 2 Trường Đại học Hải Phòng Bài giảng: An toàn thông tin gồm cả các thao tác như giả mạo địa chỉ IP, theo dõi thông tin truyền qua mạng, chiếm các phiên làm việc từ xa (telnet hoặc rlogin). Để vừa bảo đảm tính bảo mật của thông tin lại không làm giảm sự phát triển của việc trao đổi thông tin quảng bá trên toàn cầu thì một giải pháp tốt nhất là mã hoá thông tin. Có thể hiểu sơ lược mã hoá thông tin là che đi thông tin của mình làm cho kẻ tấn công nếu chặn được thông báo trên đường truyền thì cũng không thể đọc được và phải có một giao thức giữa người gửi và người nhận để có thể trao đổi thông tin, đó là các cơ chế mã và giải mã thông tin. Ngày nay thì việc mã hoá đã trở nên phổ cập. Các công ty phần mềm lớn trên thế giới đều có nghiên cứu và xây dựng các công cụ, thuật toán mã hoá để áp dụng cho thực tế. Mỗi quốc gia hay tổ chức đều có những cơ chế mã hoá riêng để bảo vệ hệ thống thông tin của mình. Một số vấn đề an toàn đối với nhiều mạng hiện nay:  Một người dùng chuyển một thông báo điện tử cho một người sử dụng khác. Một bên thứ ba trên cùng mạng LAN này sử dụng một thiết bị nghe trộm gói để lấy thông báo và đọc các thông tin trong đó.  Cũng trong tình huống trên bên thứ ba chặn thông báo, thay đổi các thành phần của nó và sau đó lại gửi cho người nhận. Người nhận không hề nghi ngờ gì trừ khi nhận ra thông báo đó là vô lý, và có thể thực hiện vài hành động dựa trên các thành phần sai này đem lại lợi ích cho bên thứ ba.  Người dùng log vào một server mà không sử dụng mật khẩu được mã hoá. Một người khác đang nge trộm trên đường truyền và bắt được mật khẩu logon của người dùng, sau đó có thể truy nhập thông tin trên server như người sử dụng.  Một người quản trị hệ thống không hiểu về khía cạnh an toàn và yêu cầu của hệ thống và vô tình cho phép người dùng khác truy nhập vào thư mục chứa các thông tin hệ thống. Người dùng phát hiện ra họ có thể có được các thông tin hệ thống và có thể dùng nó phục vụ cho loựi ích của mình. GV. Lê Đắc Nhường Trang 3 Trường Đại học Hải Phòng Bài giảng: An toàn thông tin CHƯƠNG 2 CÁC VẤN ĐỀ CƠ BẢN Trong phần này sẽ trình bày về một số cơ sở toán học của mã hóa, điều này sẽ giúp ta nắm được một cách chi tiết hơn về các phương pháp mã hóa. 2.1 Lý thuyết số 2.1.1 Khái niệm đồng dư Modulo Định nghĩa 1: Giả sử a và b là các số nguyên và m là một số nguyên dương. Khi đó ta viết a ≡ b(mod m) nếu m chia hết cho b-a. Mệnh để a ≡ b(mod m) được gọi là “a đồng dư với b theo mođun m”. Giả sử chia a và b cho m và ta thu được thương nguyên và phần dư, các phần dư nằm giữa 0 và m-1, nghĩa là a = q 1 m + r 1 và b = q 2 m + r 2 trong đó 0 ≤ r 1 ≤ m-1 và 0 ≤ r 2 ≤ m-1. Khi đó có thể dễ dàng thấy rằng a ≡ b(mod m) khi và chỉ khi r 1 = r 2 . Ta sẽ dùng ký hiệu a mod m để xác định phần dư khi a được chia cho m (chính là giá trị r 1 ở trên). Như vậy: a≡b(mod m) khi và chỉ khi (a mod m) = (b mod m). Nếu thay a bằng a mod m thì ta nói rằng a được rút gọn theo modulo m. Nhận xét: Nhiều ngôn ngữ lập trình của máy tính xác định a mod m là phần dư trong dải -m+1,…,m-1 có cùng dấu với a. Ví dụ -18 mod 7 sẽ là –4, giá trị này khác với giá trị 3 là giá trị được xác định theo công thức trên. Tuy nhiên, để thuận tiện ta sẽ xác định a mod m luôn là một số không âm. Bây giờ ta có thể định nghĩa số học mođun m: Z m được coi là tập hợp {0,1,…,m-1} có trang bị hai phép toán cộng và nhân. Việc cộng và nhân trong Z m được thực hiện giống như cộng và nhân các số thực ngoại trừ một điểm là các kết quả được rút gọn theo mođun m. 2.1.2 Định lý về đồng dư thức Định lí 1: Đồng dư thức ax ≡ b (mod m) chỉ có một nghiệm duy nhất x ∈ Z m với mọi b ∈ Z m khi và chỉ khi UCLN(a,m) = 1. Ta giả sử rằng, UCLN(a,m) = d >1. Khi đó, với b = 0 thì đồng dư thức ax ≡ 0 (mod m) sẽ có ít nhất hai nghiệm phân biệt trong Zm là x = 0 và x = m/d. 2.1.3 Khái niệm phần tử nghịch đảo Định nghĩa 2: Giả sử a ∈ Z m . Phần tử nghịch đảo (theo phép nhân) của a là phần tử a -1 ∈ Z m sao cho aa -1 ≡ a -1 a ≡ 1 (mod m) Bằng các lý luận tương tự như trên, có thể chứng tỏ rằng a có nghịch đảo theo mođun m khi và chỉ khi UCLN(a,m) = 1, và nếu nghịch đảo này tồn tại thì nó phải là duy nhất. Ta cũng thấy rằng, nếu b = a -1 thì a = b -1 . Nếu m là số nguyên tố thì mọi phần tử khác không của Z m đều có nghịch đảo. 2.1.4 Thuật toán Euclide Cho hai số tự nhiên a,n. Ký hiệu (a,n) là ước số chung lớn nhất của a,n; φ (n) là số các số nguyên dương < n và nguyên tố với n. Giả sử n > a. Thuật toán Euclide tìm UCLN (a,n) được thực hiện bằng một dãy các phép chia liên tiếp sau đây: Đặt r 0 = n, r 1 = a, GV. Lê Đắc Nhường Trang 4 Trường Đại học Hải Phòng Bài giảng: An toàn thông tin r 0 = q 1 r 1 + r 2 , 0 < r 2 < r 1 r 1 = q 2 r 2 + r 3 , 0 < r 3 < r 2 ……………………… r m-2 = q m-1 r m-1 + r m , 0 < r m < r m-1 r m-1 = q m r m Thuật toán phải kết thúc ở một bước thứ m nào đó. Ta có: (n,a) = (r 0, r 1 ) = (r 1, r 2 ) = …… = (r m-1, r m ) = r m Vậy ta tìm được r m = (n,a). Mở rộng thuật toán Euclide bằng cách xác định thêm dãy số t 0 , t 1 ,…,t m : t 0 = 0, t 1 = 1, t j = t j-2 – q j-1 t j-1 mod r 0 , nếu j ≥ 2 , ta dễ chứng minh bằng qui nạp rằng: r j ≡ t j r 1 (mod r 0 ) Do đó, nếu (n,a) = 1, thì t m = a -1 mod n 2.1.5 Phần tử nguyên thủy và logarith rời rạc Cho số n nguyên dương. Ta biết rằng tập các thặng dư thu gọn theo mođun n (tức là tập các số nguyên dương < n và nguyên tố với n) lập thành một nhóm với phép nhân mod n, ta ký hiệu là Z n * . Nhóm đó có cấp (số phần tử) là φ (n). Một phẩn tử g ∈ Z n * có cấp m, nếu m là số nguyên dương bé nhất sao cho g m = 1 trong Z n * . Theo một định lý đại số, ta có m | φ (n) (ký hiệu m là ước số của φ (n)) vì vậy với mọi b ∈ Z n * ta luôn có: b φ (n) ≡ 1 (mod n) Nếu p là số nguyên tố, thì do φ (p) = p-1, nên ta có với mọi b nguyên tố với p b p-1 ≡ 1 (mod p) (1) Nếu b có cấp p-1, thì p-1 là số mũ bé nhất sao cho có công thức (1), do đó các phần tử b, b 2 ,…, b p-1 đều khác nhau, và lập thành Z p * . Nói cách khác, b là một phẩn tử sinh, hay như thường gọi là phần tử nguyên thủy của Z p * ; và khi đó Z p * là một nhóm cyclic. Trong lý thuyết số, người ta đã chứng minh đươc các định lý sau đây: • Với mọi số nguyên tố p, Z p * là nhóm cyclic, và số các phần tử nguyên thủy của Z p * bằng φ (p-1) • Nếu g là phần tử nguyên thủy theo mođun p, thì β = g i , với mọi i mà (i,p-1) = 1, cũng là phần tử nguyên thủy theo mođun p 2.1.6 Thặng dư bậc hai và ký hiệu Legendre Cho p là một số nguyên tố lẻ, và x là một số nguyên dương ≤ p-1. x được gọi là một thặng dư bậc hai theo mođun p, nếu phương trình: y 2 ≡ x (mod p) có lời giải. Ta có tiêu chuẩn Euler sau đây: x là thặng dư bậc hai theo mođun p, nếu và chỉ nếu GV. Lê Đắc Nhường Trang 5         p a 0 nếu a 0 (mod p) 1 nếu a là thặng dư bậc hai theo mod p -1 nếu a không là thặng dư bậc hai theo mod p Trường Đại học Hải Phòng Bài giảng: An toàn thông tin x (p-1)/2 ≡ 1 (mod p) Tiêu chuẩn đó được chứng minh như sau: Giả sử có x ≡ y 2 (mod p). Khi đó có: x (p-1)/2 ≡ (y 2 ) (p-1)/2 ≡ y p-1 ≡ 1 (mod p) ; Ngược lại, giả sử rằng x (p-1)/2 ≡ 1 (mod p). Lấy b là một phần tử nguyên thủy (mod p), ta có x ≡ b i (mod p) với số i nào đó. Ta có: x (p-1)/2 ≡ (b i ) (p-1)/2 (mod p) ≡ b i(p-1)/2 (mod p) Vì b có cấp p-1, do đó p-1 phải là ước số của i(p-1)/2, suy ra i phải là số chẵn, và căn bậc hai của x là ±b i/2 . Giả sử p là số nguyên tố lẻ. Với mọi a ≥0, ta định nghĩa ký hiệu Legendre như sau: Ta có tính chất quan trọng sau đây: nếu p là số nguyên tố lẻ thì với mọi số nguyên a≥0, ta có: ≡ a (p-1)/2 (mod p). 2.1.7 Một số thuật toán kiểm tra tính nguyên tố Ta phát biểu một số tính chất sau đây, chúng là cơ sở cho việc phát triển một số thuật toán xác suất thử tính nguyên tố của các số nguyên. Solovay_Strassen : Nếu n là số nguyên tố, thì với mọi 1 ≤ a ≤ n-1:       n a ≡ a (n-1)/2 (mod n). Nếu n là hợp số thì: |{a: 1 ≤ a ≤ n-1,       n a ≡ a (n-1)/2 (mod n)}| ≤ (n-1)/2 Solovay_Strassen (cải tiến bởi Lehmann): Nếu n là số nguyên tố, thì với mọi 1 ≤ a ≤ n-1: a (n-1)/2 ≡ ±1 (mod n); Nếu n là hợp số thì: |{a: 1 ≤ a ≤ n-1, a (n-1)/2 ≡ ±1(mod n)}| ≤ (n-1)/2 2.2 Lý thuyết về độ phức tạp tính toán GV. Lê Đắc Nhường Trang 6         p a Trường Đại học Hải Phòng Bài giảng: An toàn thông tin 2.2.4 Độ phức tạp tính toán Lý thuyết thuật toán và các hàm tính ra đời từ những năm 30 đã đặt nền móng cho các nghiên cứu về các vấn đề “tính được”, “giải được”, và đã thu được nhiều kết quả rất quan trọng. Nhưng từ cài “tính được” một cách trừu tượng, tiềm năng đến việc tính được trong thực tế của khoa học tính toán bằng máy tính điện tử là một khoảng cách rất lớn. Lý thuyết về độ phức tạp tính toán được nghiên cứu bắt đầu từ những năm 60 đã bù đắp cho khoảng trống đó, cho ta nhiều tri thức cơ bản, đồng thời có nhiều ứng dụng thực tế rất phong phú. Độ phức tạp (về không gian hay thời gian) của một quá trình tính toán là số ô nhớ hay số các phép toán được thực hiện trong quá trình tính toán đó. Độ phức tạp tính toán của một thuật toán được hiểu là một hàm số f, sao cho với mỗi n, f(n) là là số ô nhớ hay số các phép toán tối đa mà thuật toán thực hiện quá trình tính toán của mình trên các dữ liệu vào có độ lớn n. Độ phức tạp tính toán của một bài toán (của một hàm) được định nghĩa là độ phức tạp của một thuật toán tốt nhất có thể tìm được để giải bài toán (hay tính hàm) đó. Một bài toán được cho bởi: • Một tập các dữ liệu vào Y • Một câu hỏi dạng R(I)? với I ∈ Y, lời giải bài toán là đúng hay không Ví dụ: • Bài toán đồng dư bậc hai o Dữ liệu: Các số nguyên dương a,b,c o Câu hỏi: Có hay không số x < c sao cho x 2 ≡ a mod b ? • Bài toán hợp số o Dữ liệu: Số nguyên dương N o Câu hỏi: Có hay không hai số m,n > 1 sao cho N = m×n ? 2.2.5 Các lớp phức tạp Ta định nghĩa P là lớp các bài toán có độ phức tạp thời gian là đa thức tức lớp các bài toán mà đối với chúng có thuật toán giải bài toán đó trong thời gian đa thức. Một lớp quan trọng các bài toán đã được nghiên cứu nhiều là lớp NP, tức các bài toán mà đối với chúng có thuật toán không đơn định để giải trong thời gian đa thức. Thuật toán không đơn định là một mô hình tính toán trừu tượng, được giả định là sau mỗi bước có thể có một số hữu hạn bước được lựa chọn đồng thời tiếp sau. Nhiều bài toán được chứng tỏ là thuộc lớp NP, nhưng chưa ai chứng minh được là chúng thuộc lớp P hay không. Và một vấn đề cho đến nay vẫn còn mở, chưa có lời giải là: NP = P ? Một cách trực giác, lớp NP bao gồm các bài toán khó hơn phức tạp hơn các bài toán thuộc lớp P, nhưng điều có vẻ hiển nhiên trực giác đó vẫn chưa được chứng minh hay bác bỏ. GV. Lê Đắc Nhường Trang 7 Trường Đại học Hải Phòng Bài giảng: An toàn thông tin Giả sử NP ≠ P, thì trong NP có một lớp con các bài toán được gọi là NP_đầy đủ , đó là những bài toán mà bản thân thuộc lớp NP, và mọi bài toán bất kỳ thuộc lớp NP đều có thể qui dẫn về bài toán đó bằng một hàm tính được trong thời gian đa thức. Cho đến nay, người ta đã chứng minh được hàng trăm bài toán thuộc nhiều lĩnh vực khác nhau là NP_đầy đủ. Bài toán đồng dư bậc hai kể trên là NP_đầy đủ, bài toán hợp số không là NP_đầy đủ, nhưng chưa tìm được một thuật toán làm việc trong thời gian đa thức giải nó. GV. Lê Đắc Nhường Trang 8 Trường Đại học Hải Phòng Bài giảng: An toàn thông tin 2.3 Hàm một phía và hàm cửa sập một phía Hàm f(x) được gọi là hàm một phía, nếu tính y = f(x) là dễ, nhưng việc tính ngược x=f -1 (y) là rất khó. Có thể hiểu “dễ” là tính được trong thời gian đa thức (với đa thức bậc thấp), và “khó” là không tính được trong thời gian đa thức. Ví dụ: Hàm f(x) = g x (mod p) (p là số nguyên tố, g là phần tử nguyên thủy theo mođun p) là hàm một phía. Vì biết x tính f(x) là khá đơn giản, nhưng biết f(x) để tính x thì với các thuật toán đã biết hiện nay đòi hỏi một khối lượng tính toán cỡ O(exp(lnp lnlnp) 112 ) phép tính (nếu p là số nguyên tố cỡ 200 chữ số thập phân, thì khối lượng tính toán trên đòi hỏi một máy tính 1 tỷ phép tính/giây làm việc không nghỉ trong khoảng 3000 năm) Hàm f(x) được gọi là hàm cửa sập một phía, nếu tính y = f(x) là dễ, tính x = f -1 (y) là rất khó, nhưng có cửa sập z để tính x = f z -1 (y) là dễ Ví dụ: Cho n = p×q là tích của hai số nguyên tố lớn, a là số nguyên, hàm f(x)=x a (mod n) là hàm cửa sập một phía, nếu chỉ biết n và a thì tính x = f -1 (y) là rất khó, nhưng nếu biết cửa sập, chẳng hạn hai thừa số của n, thì sẽ tính được f -1 (y) khá dễ. Trên đây là hai thí dụ điển hình, và cũng là hai trường hợp được sử dụng rộng rãi về hàm một phía và hàm cửa sập một phía. Vì đây là những điểm then chốt của lý thuyết mật mã khóa công khai, nên việc tìm kiếm các loại hàm một phía và cửa sập một phía được nghiên cứu rất khẩn trương, và đến nay tuy có đạt được một số kết quả, nhưng việc tìm kiếm vẫn tiếp tục, đầy hứng thú nhưng cũng đầy khó khăn. GV. Lê Đắc Nhường Trang 9 Trường Đại học Hải Phòng Bài giảng: An toàn thông tin CHƯƠNG 3 GIỚI THIỆU VỀ MÃ HÓA 3.1 Các thuật ngữ Hệ mật mã là tập hợp các thuật toán và các thủ tục kết hợp để che dấu thông tin cũng như làm rõ nó. Mật mã học nghiên cứu mật mã bởi các nhà mật mã học, người viết mật mã và các nhà phân tích mã. Mã hoá là quá trình chuyển thông tin có thể đọc gọi là bản rõ thành thông tin không thể đọc gọi là bản mã. Giải mã là quá trình chuyển ngược lại thông tin được mã hoá thành bản rõ. Thuật toán mã hoá là các thủ tục tính toán sử dụng để che dấu và làm rõ thông tin. Thuật toán càng phức tạp thì bản mã càng an toàn. Một khoá là một giá trị làm cho thuật toán mã hoá chạy theo cách riêng biệt và sinh ra bản rõ riêng biệt tuỳ theo khoá. Khoá càng lớn thì bản mã kết quả càng an toàn. Kích thước của khoá được đo bằng bit. Phạm vi các giá trị có thể có của khoá được gọi là không gian khoá. Phân tích mã là quá trình hay nghệ thuật phân tích hệ mật mã hoặc kiểm tra tính toàn vẹn của nó hoặc phá nó vì những lý do bí mật. Một kẻ tấn công là một người (hay hệ thống) thực hiện phân tích mã để làm hại hệ thống. Những kẻ tấn công là những kẻ thọc mũi vào chuyện người khác, các tay hacker, những kẻ nghe trộm hay những các tên đáng ngờ khác, và họ làm những việc thường gọi là cracking 3.2 Định nghĩa hệ mật mã. Hệ mật mã: là một hệ bao gồm 5 thành phần (P, C, K, E, D) thoả mãn các tính chất sau P ( Plaintext ) là tập hợp hữu hạn các bản rõ có thể. C ( Ciphertext ) là tập hợp hữu hạn các bản mã có thể. K ( Key ) là tập hợp các bản khoá có thể. E ( Encrytion ) là tập hợp các qui tắc mã hoá có thể. D ( Decrytion ) là tập hợp các qui tắc giải mã có thể. Chúng ta đã biết một thông báo thường được tổ chức dưới dạng bản rõ. Người gửi sẽ làm nhiệm vụ mã hoá bản rõ, kết quả thu được gọi là bản mã. Bản mã này được gửi đi trên một đường truyền tới người nhận sau khi nhận được bản mã người nhận giải mã nó để tìm hiểu nội dung. Dễ dàng thấy được công việc trên khi sử dụng định nghĩa hệ mật mã : E K ( P) = C và D K ( C ) = P 3.3 Những yêu cầu đối với hệ mật mã Cung cấp một mức cao về độ tin cậy, tính toàn vẹn, sự không từ chối và sự xác thực. GV. Lê Đắc Nhường Trang 10 [...]... 00 010 00 010 000 011 111 110 010 110 000 011 000 011 111 1 010 0 K10 = 10 110 0 011 111 0 011 010 0 011 110 111 010 010 0 011 0 010 011 11 E(R9) ⊕ K10 = 10 1000 010 111 000 010 111 110 110 110 1 010 00 010 110 111 011 S-box outputs 11 011 010 0000 010 0 010 10 010 011 1 010 1 f(R9,K10) = 011 00 010 1 011 110 010 011 1000 010 0 010 L 11 = R10 = 10 110 111 110 1 010 111 010 111 1 011 0 010 E(R10) = 010 110 1 011 111 110 1 010 1 011 111 010 1 011 111 1 011 010 010 1 K 11 = 0 010 00 010 1 011 111 110 10 011 110 111 1 011 010 011 1000 011 0... outputs 011 10 011 0000 010 111 010 0 010 00000 01 f(R 11, K12) = 11 000 010 011 010 0 011 0 011 111 110 1 010 L13 = R12 = 011 1 010 110 111 1 010 0 011 000 010 110 00 E(R12) = 0 011 1 010 1 011 110 111 111 010 100 011 110 0000 010 111 10000 K13 = 10 010 111 110 0 010 111 010 0 011 111 1 010 1 011 1 010 010 000 01 E(R12) ⊕ K13 = 10 1 011 010 111 10000 010 1 011 011 1 010 110 111 00 010 110 0 01 Sbox outputs 10 011 010 110 100 011 00 010 110 10 011 11 f(R12,K13) = 11 011 1 011 011 1 011 0 010 10 010 010 0 010 GV... 00 011 011 00000 010 111 011 111 111 110 0 011 10000 011 10 010 E(R0) ⊕ K1 = 011 000 010 0 010 111 1 011 1 010 1000 011 0 011 0 010 10 010 011 1 S-box outputs 010 111 0 010 000 010 1 011 010 110 010 111 f(R0,K1) = 0 010 0 011 010 010 1 010 1 010 011 011 1 011 L2 = R1 = 11 1 011 110 10 010 10 011 0 010 1 010 0 010 0 E(R1) = 011 1 010 111 1 010 10 010 1 010 00 011 000 010 1 010 10000 010 01 K2 = 011 110 011 010 111 011 011 0 011 1 011 011 110 010 011 110 010 1 E(R1) ⊕K2 = 000 011 00 010 0 010 010 0 011 011 110 1 011 011 00 011 111 011 00 S-box outputs 11 111 00 011 010 0000 011 1 010 1 010 111 0... 011 00 011 1 010 010 10 011 111 0 010 10000 011 110 110 010 111 1 E(R5) ⊕ K6 =10 10 011 011 10 011 1 011 000 011 000000 010 111 010 10000000 S-box outputs 010 000 011 111 0 011 010 011 000 011 110 1 f(R5,K6) = 10 011 110 010 0 010 111 0 011 010 010 110 0 L7 = R6 = 11 1 010 010 110 011 111 0 011 010 110 10 01 E(R6) = 11 110 1 010 010 1 011 000 011 111 110 010 110 1 010 110 1 010 011 K7 = 11 1 011 0 010 00 010 010 110 111 111 1 011 000 011 00 010 111 100 E(R6) ⊕ K7 = 00 011 0 011 010 111 110 111 00000 010 011 1 011 0 011 111 011 11 S- box outputs 00 010 000 011 1 010 1 010 0000 010 1 011 01. .. 0 010 011 100 010 00 011 1000 010 110 111 1 f(R2,K3) = 010 011 010 0 010 110 011 011 1 010 110 000 L4 =R3 = 10 100 010 010 111 00000 010 111 111 010 0 E(R3) = 010 10000 010 00 010 111 110 000000 010 1 011 111 111 010 100 K4 = 011 10 010 1 010 110 111 010 110 110 110 110 011 010 100 011 1 01 E(R3) ⊕K4 = 0 010 0 010 111 011 110 010 111 011 011 110 010 010 1 010 110 100 S-box outputs 0 010 00 011 110 110 110 011 111 0 011 1 010 f(R3,K4) = 10 111 011 0 010 0 011 011 1 011 1 010 011 00 L5 = R4 = 011 1 011 10 010 0 010 00000000 010 0 010 1 E(R4)... 11 000 010 100 011 0 010 010 110 000 011 01 E(R14) = 11 100000 010 1 010 0 010 110 010 10 010 1 011 000000 010 110 11 K15 = 10 111 111 10 010 0 011 00 011 010 011 110 10 011 111 1000 010 10 E(R14) ⊕ K15 = 010 111 111 100 010 111 010 100 011 1 011 111 111 111 010 100 01 S-box outputs 10 110 010 111 010 0 010 0 011 010 011 110 0 f(R14,K15) = 010 110 111 00000 010 010 011 1 011 011 10 R15 = 010 00 011 010 00 010 0 011 0 010 0 011 010 0 E(R15) = 0 010 0000 011 010 100000 010 000 011 010 010 000 011 010 1000 K16 = 11 0 010 110 011 110 110 0 010 110 00 011 1000 010 111 111 1 010 1... 0 010 00 010 1 011 111 110 10 011 110 111 1 011 010 011 1000 011 0 E(R10) ⊕ K 11 = 011 110 111 010 00 010 111 10000 011 010 00 010 111 00 010 0 011 S-box outputs 011 10 011 0000 010 111 010 0 010 00000 01 f(R10,K 11) = 11 1000 010 000 010 011 111 010 00000 010 L12 = R 11 = 11 00 010 1 011 110 000 011 110 0 011 110 00 E(R 11) = 011 0000 010 1 010 111 111 000000 011 111 10000 011 111 100 01 K12 = 011 1 010 1 011 100 011 111 010 110 010 100 011 0 011 111 1 010 01 E(R 11) ⊕ K12 = 00 010 1 011 1 011 010 0000 010 110 0 010 111 110 010 000 011 000 S-box... 011 011 0000 011 000 011 111 0 010 1 011 10 f(R7,K8) = 0 011 110 0000 011 1 010 00 011 011 111 0 01 L9 = R8 = 11 010 1 010 110 10 010 10 010 111 0 010 000 E(R8) = 011 010 1 010 1 010 110 1 010 010 1 010 010 1 011 111 0 010 1000 01 K9 = 11 10000 011 011 011 111 010 111 110 110 111 10 011 110 0000 01 E(R8) ⊕ K9 = 10 0 010 10 011 1000 010 111 0 010 10 010 0 010 011 011 0 010 0000 S-box outputs 00 010 0 010 00 011 00 010 1 011 1 011 1 011 1 f(R8,K9) = 0 010 0 010 0 011 011 0 011 111 00 011 010 10 L10 = R9 = 0 010 010 0 011 111 0 011 00 011 0 011 110 10... 10 111 010 111 010 010 000 010 00000000000000 010 000 010 10 K5 = 011 111 0 011 1 011 000000 011 111 1 010 110 1 010 011 1 010 1000 E(R4) ⊕ K5 = 11 00 011 00000 010 100000 011 111 010 110 1 010 0 011 010 0 010 S-box outputs 010 1000 011 0 010 000 011 00 011 110 1 011 f(R4,K5) = 0 010 100000 010 011 1 010 110 111 000 011 L6 = R5 = 10 0 010 10 010 011 111 010 011 00 011 011 1 E(R5) = 11 00 010 1 010 00 010 010 111 111 1 010 00 011 0000 011 010 111 1 K6 = 011 00 011 1 010 010 10 011 111 0 010 10000 011 110 110 010 111 1... Trang 32 Trường Đại học Hải Phòng Bài giảng: An toàn thông tin L14 = R13 = 00 011 00 011 000 011 00 010 1 010 1 011 010 E(R13) = 000 011 110 0 010 110 0000 011 010 0 010 1 010 1 010 1 011 110 100 K13 = 010 111 110 1000 011 1 011 011 111 110 010 111 0 011 10 011 1 010 E(R13) ⊕ K14 = 010 10000 010 1 010 110 110 0 010 111 1000 010 011 011 10 011 10 S-box outputs 011 0 010 0 011 110 011 0 011 010 111 100 01 f(R13,K14) = 10 110 111 0 011 00 011 00 011 10 010 1 010 1 L15 = R14 = 11 000 010 100 011 0 010 010 110 000 011 01 . Trang 19 19 7 8 18 2 17 24 15 19 14 18 24 2 8 15 7 4 17 2 8 15 7 4 17 21 15 23 25 6 8 0 23 8 21 22 15 18 19 4 12 8 18 13 14 19 18 4 2 2 8 15 7 4 17 2 8 15 7 4 17 20 1 19 19 12 9 15 22 8 15 8 19 20. trên. Ta có: 22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19 sau đó cộng 11 vào mỗi giá trị rồi rút gọn tổng theo modulo 26 7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4 Cuối cùng biến. Phòng Bài giảng: An toàn thông tin CHƯƠNG 1 AN TOÀN DỮ LIỆU TRÊN MẠNG MÁY TÍNH Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin việc ứng dụng các công nghệ mạng máy tính trở nên vô

Ngày đăng: 11/07/2014, 05:07

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1

  • AN TOÀN DỮ LIỆU TRÊN MẠNG MÁY TÍNH

  • CHƯƠNG 2

  • CÁC VẤN ĐỀ CƠ BẢN

    • 2.1 Lý thuyết số

      • 2.1.1 Khái niệm đồng dư Modulo

      • 2.1.2 Định lý về đồng dư thức

      • 2.1.3 Khái niệm phần tử nghịch đảo

      • 2.1.4 Thuật toán Euclide

      • 2.1.5 Phần tử nguyên thủy và logarith rời rạc

      • 2.1.6 Thặng dư bậc hai và ký hiệu Legendre

      • 2.1.7 Một số thuật toán kiểm tra tính nguyên tố

      • 2.2 Lý thuyết về độ phức tạp tính toán

        • 2.2.4 Độ phức tạp tính toán

        • 2.2.5 Các lớp phức tạp

        • 2.3 Hàm một phía và hàm cửa sập một phía

        • CHƯƠNG 3

        • GIỚI THIỆU VỀ MÃ HÓA

          • 3.1 Các thuật ngữ

          • 3.2 Định nghĩa hệ mật mã.

          • 3.3 Những yêu cầu đối với hệ mật mã

          • 3.4 Các phương pháp mã hoá

            • 3.4.1 Mã hoá đối xứng khoá bí mật

              • 3.4.1.1 Nơi ứng dụng

              • 3.4.1.2 Các vấn đề đối với phương pháp mã hoá này

              • 3.4.2 Mã hoá phi đối xứng khoá công khai

                • 3.4.2.1 Nơi ứng dụng

Tài liệu cùng người dùng

Tài liệu liên quan