Đề cương ôn thi môn học an toàn thông tin

34 1K 2
Đề cương ôn thi môn học an toàn thông tin

Đ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

Câu 1: Các khái niệm cơ bản của lý thuyết mã, các thao tác mã hóa cơ bản, khóa và thuật toán mã/giải mã. 1.1 Các khái niệm cơ bản của lý thuyết mã. - Bản gốc là dữ liệu ban đầu, có thể được hiểu mà không cần sử dụng những công cụ, những biến đổi đặc biệt nào. Bản gốc hay còn được gọi là bản rõ. - Bản mã hóa là kết quả của việc áp dụng phương pháp mã hóa lên bản gốc. Với bản mã hóa, ta không thể thu được thông tin đúng mà không áp dụng những cách thức đặc biệt. Bản mã hóa chính là dữ liệu đã được mã hóa. - Mã hóa là phương pháp ngụy trang để ấn dấu đi nội dung thực sự của dữ liệu. - Giải mã là phương pháp chuyển đổi bản mã thành bản rõ. - Khoa học mật mã là khoa học nghiên cứu về việc tạo mã và giải mã. - Khoa học phân tích mã là khoa học nghiên cứu các nguyên lý giải mã mà không biết khóa. - Lược đồ mã hóa là lược đồ mô tả cách thức mã hóa của người gửi và giải mã của người nhận. 1.2 Các thao tác mã hóa cơ bản. - Phép thế: + ) Caesar cipher: Bản chất trong mã hóa của Ceasar là thay thế các ký tự trong thư bằng các ký tự khác theo một nguyên tắc nào đó. +) Monoalphabetic cipher: - Trong mật mã dịch chuyển của Ceasar. Ta có 25cách dịch chuyển khác nhau, mỗi cách dịch chuyển cho một loại mã khác nhau. - Thực ra với ý tưởng là sự thay thế, ta không chỉ hạn chế với phép dịch chuyển trong bảng chữcái, khi đó bảng chữcái mật mã là bất kỳsựsắp xếp lại nào của bảng chữcái thường. Nhưthếvới 26 chữcái ta sẽcó nhiều hơn 4 x 1026 bảng chữcái mật mã khác nhau. - Monoalphabetic cipher là loại mã hóa thay thếchỉsửdụng một bảng chữ cái mật mã đểthay thếcác ký tựtrong thông điệp gốc. +) Substitution ciphers(mã thế) Mã thế(substitution cipher) là hình thức mã hóa mà các ký tự trong thông điệp ban đầu được thay thếbởi các ký tự khác hoặc ký hiệu mới theo một nguyên tắc nhất định. - Phép chuyển vị: +) Mã Rail Fence. Mã Rail Fence còn được gọi là mã zig zag là một hình thức của mã chuyển vị • Thông điệp được viết lần lượt từ trái qua phải trên các cột(rail) của một hàng dào tưởng tượng theo đường chéo từ trên xuống dưới. 1 • Theo đường chéo từ dưới lên khi đạt tới cột thấp nhất. • Và khi đạt tới cột cao nhất, lại viết theo đường chéo từtrên xuống. Cứ lặp lại như thế cho đến khi viết hết toàn bộ nội dung của thông điệp. +) Mã Transposition. Mã chuyển vị là hình thức mã hóa mà các ký tự trong thông điệp ban đầu được hoán đổi vị chí cho nhau. Với những thông điệp ngắn, chẳng hạn Như thông điệp chỉ có một từ thì phương pháp này không đủ an toàn. 1.3 Khóa và thuật toán mã/giải mã. • Thuật toán mã hóa(giải mã) là một thủ tục thể hiện cách thức xử lý bản gốc(bản mã hóa) thành bản mã hóa(bản gốc). Thuật toán mã hóa sẽ là một sự tổ hợp các phép thế và phép chuyển vị theo một trình tự nhất định. • Thuật toán mã hóa được thể hiện như một hàm toán học với tham số vào là bản gốc(M) và khóa(k). Được ký hiệu như sau: E(M,k). • Thuật toán giải mã được thể hiện như một hàm toán học với tham số vào là bản mã hóa(C) và khóa(k). Được ký hiệu như sau: D(C,k). • Khóa là một tham số đặc biệt thường được giữ bí mật. Khóa giúp cho sự mã hóa(giải mã) không lệ thuộc hoàn toàn vào thuật toán. Với cùng một bản gốc, một thuật toán, mã hóa với các khóa khác nhau sẽ cho ra bản mã khác nhau(tương tự như vậy với giải mã). • Số lượng khóa khả dĩ hay tiềm năng của một thuật toán mã hóa(giải mã) là số lượng khóa có thể được lựa chọn như một tham số cho thuật toán mã hóa(giải mã).Số lượng khóa khả dĩ là tùy thuộc vào thuật toán mã hóa(giải mã). Chú ý: nguyên lý Kerckhoff được đưa ra: “ Sự an toàn của một hệ thống mật mã không phải phụ thuộc vào việc giữ bí mật thuật toán mật mã. Sự an toàn này chỉ phụ thuộc vào việc giữ bí mật khóa.” Câu 2: Trình bày về mã đối xứng. Mã đối xứng là loại mật mã mà việc mã hóa và giải mã có thể sử dụng chung một khóa, người mã hóa cũng có thể giải mã và ngược lại người giải mã cũng có thể mã hóa. Mã đối xứng còn được gọi là mã một khóa. +) Mã dịch chuyển Caesar: - Ta lần lượt đánh chỉ số cho các chữ cái bắt đầu từ 0. - Khi đó mã dịch chuyển Caesar có thể mô tả một cách hình thức như sau: + k là một số nguyên từ 0 tới 25 được gọi là khóa. + Hàm mã hóa: E(k,p)=(p+k) mod 26 với p là chỉ số của ký tự cần mã hóa. 2 +Hàm giải mã: D(k,c)=|c-k| mod 26 với c là chỉ số của ký tự cần giải mã. + Như vậy số lượng khóa tiềm năng của mã dịch chuyển Caesar là 25(do k=0 không có giá trịmã hóa). +) Mã Hill. - Ta cũng lần lưlượt đánh chỉ số cho các chữ cái bắt đầu từ 0. - Mã Hill dựa trên ý tư tưởng mã hóa từng nhóm các ký tự. Cụ thể như sau: –k là một ma trận vuông cỡ n(n là số lượng ký tự trong một nhóm). – Hàm mã hóa: E(k,p)=k.p mod 26 với p là ma trận(1xn) với các phần tử là chỉ số của n ký tự liên tiếp trong bản gốc. –Hàm giải mã: D(k,c)=k1c mod 26 với k1 là ma trận đảo của k và c là ma trận(1xn) mà mỗi phần tử là chỉ số của n ký tự liên tiếp trong bản mã hóa.  Để đảm bảo tính bí mật của thông tin, một hệ mã hóa đối xứng phải đáp ứng hai yêu cầu sau: • Thuật toán mã hóa phải mạnh – đảm bảo rằng đối phương không thể giải mã mà không biết khóa mã. • Khóa mã phải được giữ bí mật. Do đó mà mã đối xứng còn được gọi là mã khóa bí mật.  Để có thể thực hiện trao đổi thông tin bí mật bằng mã xứng, người sử dụng phải: - Thống nhất với nhau thuật toán mã hóa và giải mã được sử dụng trong quá trình trao đổi. - Thống nhất với nhau khóa bí mật sẽ đưđược sử dụng trong quá trình trao đổi. Cũng bởi vậy mã đối xứng còn được gọi là mã thỏa thuận.  Việc phải thống nhất khóa bí mật là nhược điểm lớn của mã đối xứng. Nhược điểm này được gọi là vấn đề phân phối khóa. - Mã khóa bí mật, mã thỏa thuận, mã một khóa là các tên Khác nhau của mã đối xứng. - Mã đối xứng chỉ xử dụng một khóa duy nhất đã thỏa thuận trước trong cả tiến trình mã hóa và giải mã. - Tất cả các mã cổ điển đều là mã đối xứng – mã đối xứng có một lịch sử dài và thú vị. - Mã đối xứng là loại mã duy nhất cho đến khi xuất hiện khóa công khai vào năm 1975. Câu 3: Trình bày mã bất đối xứng. +) Vấn đề phân phối khóa. • Như ta đã biết vấn đề chính yếu tồn tại lâu dài trong mã hóa đối xứng là: 3 Làm như thế nào để trao đổi khóa một cách bí mật giữa những người, những tổ chức mong muốn được trao đổi với nhau một cách bí mật?. • Vấn đề này được gọi là vấn đề phân phối khóa. Cái khó của vấn đề là tồn tại một nghịch lý giữa sự bí mật và sự công khai. Khóa mã rõ ràng là bí mật nhưngnhưng lại muốn đưđược biết bởi một số cá nhân hay tổ chức. +) Giải pháp phân phối khóa. Cuối cùng thì giải pháp cho vấn đề phân phối khóa được gọi là Lược đồ trao đổi khóa Diffie-Hellman-Merkle . Lược đồ cho phép thiết lập một kênh trao đổi khóa bí mật trên hệ thống công cộng.  Lược đồ trao đổi khóa Diffie-Hellman-Merkle. A và B thống nhất với nhau hai số Y và P: (7,11). A và B chọn hai số ngẫu nhiên x và z : (3,6). A tính α= Yx mod P : 73 mod 11=2. B tính β= Yz mod P : 76 mod 11=4. A gửi α cho B. B gửi β cho A A Tính βx mod P : 43 mod 11 = 9. B Tính αz mod P : 26 mod 11 = 9 Thật kỳ lạ là A, B đều tính ra số 9. Đó chính là khóa mà A,B sẽ sử dụng để trao đổi thông tin với nhau một cách bí mật.  Alice Alice và Bob ra công khai. Diffie đã đưa ra ý tưởng mã hóa khóa công khai. – Sử dụng một cặp khóa: một khóa công khai và một khóa riêng. – Một trong hai khóa có thể được sử dụng để mã hóa và khóa còn lại để giải mã.  Tính an toàn của mã hóa khóa công khai. • Cũng như với mã hóa đối xứng, mã hóa khóa công khai cũng luôn phải đương đầu với tấn công vét cạn. Do đó tính an toàn của khóa công khai cũng phải dựa trên số lượng khóa tiềm năng. • Tính an toàn của mã hóa khóa công khai phụ thuộc vào tính khó của những vấn đề tính toán. Do dựa trên tính khó của vấn đề tính toán, nên các thuật toán mã hóa khóa công khai thường phải thao tác trên các con số khá lớn để đảm bảo vấn đề tính toán có độ khó đủ để không có lời giải khả thi. Cũng chính vì vậy các thuật toán mã hóa khóa công khai thường chạy chậm.  Ứng dụng của khóa công khai - Mã hóa giúp đảm bảo tính bí mật của thông tin. - Làm nền tảng cho chữ ký điện tử. 4 - Được sử dụng để trao đổi khóa. Câu 4: Trình bày về RSA. RSA: Mã hóa khóa công cộng. - Là mã công khai được biết đến nhiều nhất và sử dụng rộng rãi nhất. - Dựa trên lũy thừa trên trường hữu hạn các số nguyên modulo nguyên tố. - Phép lũy thừa cần O((log n)3) phép toán (dễ) - Sử dụng các số rất lớn 1024 bit. - Tính an toàn dựa vào độ khó phân tích ra thừa số các số lớn. Lũy thừa yêu cầu O(e^log n log log n) phép toán.  Lược đồ sinh khóa - Mỗi người sử dụng sẽ được tạo một RSA publickey và một RSA privatekey tương ứng.Khóa được tạo theo thuật toán sau: Algorithm: Key generation cho RSA public-key encryption - Sinh ra hai sốnguyên tố“lớn” p và q phân biệt và có cỡ Tính n=p.q do đó Ø(n)=(p-1).(q-1). Chọn số ngẫu nhiên e sao cho: 1<e< Ø(n) và gcd(e, Ø(n))=1. Tính số nguyên d sao cho: 1<d <Ø(n) và e.d ≡1 mod Ø(n). Publickey là PU{e,n} và Privatekey là PR{d,n} hoặc PR{d,p,q} RSA Public-key encryption  Lược đồ mã hóa Khi đối tượng B muốn gửi một thông điệp cho đối tượng A. Sau khi đã nhận được khóa công khai(RSA Publickey). B có thể tiến hành mã hóa theo thuật toán sau: Algorithm: RSA Publickey encryption Thi hành việcxácnhận publickey (n,e). Đặc tả thông điệp cần mã hóa như một số nguyên m: m thuộc [0,n-1]. Tính c = m e mod n. Gửi cho c cho A (c chính là cipher text).  Lược đồ giải mã. Khi A nhận được do B gửi đến.A sẽ sử dụng private key tương ứng của mình đề giải mã thông điệp theo thuật toán sau: Algorithm RSA private-key Decryption m= c d mod n RSA Public-key encryption Chứng minh: Ta có e.d đồng dưvới 1 modul Ø(n) do vậy ta có: e.d= 1+k. Ø(n). * Khi đó nếu gcd(m,p)=1 thì theo định lý Fermat ta sẽcó: m p-1 đồng dư với 1 modul 5 p vậythì: m 1+k(p-1)(q-1) ≡m (mod p) => m e.d ≡m (mod p) * Nếugcd(m,p) =p thì m e.d ≡m (mod p). Tương tự ta chứng minh: m e.d ≡m (mod q). Cuối cùng do p,q là hai số nguyên tố phân biệt nên ta có m e.d ≡m (mod n). Vậyc d = (m e ) d ≡m (mod n).Tức m= (m e ) d mod n=c d mod n . (đpcm)  Sinh khoá RSA - Người sử dụng RSA cần phải Xác định ngẫu nhiên 2 số nguyên tố. Chọn e hoặc d và tính số kia. - Các số nguyên tố p, q không dễ suy ra nếu biết tích n = p.q Như vậy p, q cần phải là các sốđủlớn. p, q thường được đoán và qua kiểm tra xác suất số nguyên tố. Các số e và d là nghịch đảo nhau, có thể dùng thuật toán nghịch đảo để tính số nọ khi biết số kia.  An toàn của RSA. Có các cách tấn công – Tìm kiếm khoá bằng phươngphương pháp vét cạn (không khả thi với kích thước đủ lớn của các số). – Tấn công bằng toán học dựa vào độ khó việc tính ø(n) bằng cách phân tích n. Tấn công toán học có 3 dạng – Phân tích n = p.q, sau đó tính ø(n) và d. – Tìm n trực tiếp và tính d. – Tìm d trực tiếp. - Hiện tại tin rằng tất cả đều tương đương với bài toán phân tích thừa số nguyên – Có các bước tiến chậm theo thời gian – Hiện tại cho rằng RSA 1024 hoặc 2048 là an toàn – Tấn công thời gian (trong khi giải mã). + Paul Kocher chỉ ra rằng kẻ thám mã có thể xác định được khoá riêng nếu theo dõi thời gian máy tính cần để giải mã các bản tin. + Tấn công thời gian không chỉ áp dụng cho RSA, mà cả với các hệ mã công khai khác. + Tấn công thời gian giống như kẻ cướp đoán sự an toàn bằng cách quan sát một người nào đó trong bao lâu chuyển quay điện thoại từ số này sang số khác. – Tấn công với bản mã chọn trước. + RSA có điểm yếu với tấn công bản mã chọn trước. + Kẻ tấn công chọn bản mã và đoán bản rõ được giải mã. + Chọn bản mã để khám phá RSA cung cấp thông tin để thám mã. 6 + Có thể tính với bộ đệm ngẫu nhiên của bản rõ. Hoặc sử dụng bộ đệm mã hoá phả xứng (OASP). Câu 5: Mã hóa RABIN  Cơ sở toán học Cũng như các giải pháp mã hóa khác, Rabin public-key encryption cơ bản dựa trên hai vấn đề tính toán lớn là: - Vấn đề thừa số nguyên(Integer factorization problem). -Vấn đề SQ-Root(Square roots modulo composite n). Đưa ramột hợp số n và một số a thuộc tập Q n (tập các số thặng dư bậc hai modulo n).Vấn đề đặt ra là tìm căn bậc hai của a modulo n tức là tìm số x sao cho: x 2 đồng dư với a modulo n.  Lược đồ sinh khóa Mỗi thực thể được tạo một publickey và một privatekey tương ứng.Khóa được tạo theo thuật toán sau: Algorithm: Key generation cho Rabin-key encryption Sinh ra hai sốnguyên tố“lớn” p va q phân biệt và có cỡ“tuơng tự nhau” Tính n=p.q Publickey là n và Privatekey là (p,q)  Lược đổ mã hóa: Khi đối tượng B muốn gửi một thông điệp cho đối tượng A. B tiến hành mã hóa như sau: Algorithm Rabin Publickey encryption Thi hành việc xác nhận publickey n Đặc tả thông điệp cần mã hóa như một số nguyên m:m thuộc [o,n-1] Tính c=m 2 mod n Gửi cho c cho A(c là cipher text)  Lược đổ giải mã: Khi đối tượng A nhận được thông điệp từ B. A tiến hành giải mã như sau: Algorithm Rabin Publickey dencryption Trước hết cần tìm bốn số m 1 ,m 2 ,m 3 và m 4 là cănbậc hai của c modulo n.Thông điệp được gửi có thể là một trong bốn số m 1 ,m 2 ,m 3 ,m 4 .A bằng một phương pháp nào đó có thể quyết định được đâu là m(plain text thực sự). Câu 6: Mã hóa khóa công khai ELGAMAL.  Cơ sở toán học. 7 ELGamal public-key encryption key encryption còn được xem là Diffie- Hellman key agreement là một kỹ thuật xây dựng giao thức phân phối khóa. - Tính bảo mật của nó cơ bản dựa trên tính “rắn” của vấn đề tính toán là : + The discrete logarithm problem The discrete logarithm problem là một vấn đề tính toán được áp dụng khá nhiều trong các giải pháp bảo mật.The discrete logarithm problem liên quan tới một số vấn đề toán học đặc thù như: Vần đề có phát biểu toán học như sau: Cho G là một nhóm cyclic hữu hạn sinh bởi phần tử sinh α cấp n và cho β thuộc G. The discrete logarithm của β với cơ số α là log α β là số nguyên duy nhất x sao cho 0 ≤ x ≤ n-1 và β=α x + The Diffie-Hellman problem. Vấn đề này có phát biểu toán học đơn giản như sau: Cho một số nguyên tố p,α là một phân tử sinh của Z* p .Đồng thời cho α a mod p và α b mod p.Vấn đề đặt ra là tìm α a.b mod p. Vấn đề tổng quát hơn của DHP là GDHP(Generalized Diffie-Hellman Problem) có phát biểu toán học như sau: Đưa ra một nhóm cyclic hữu hạn G với phần tử sinh α và các phân tử α a ,α b .Vấn đề đặt ra là tìm:α a.b  Lược đồ sinh khóa. Mỗi thức thể được tạo một publickey và một privatekeytương ứng.Khóa được tạo theo thuật toán sau: Algorithm: Key generation cho EL Gmal-key encryption Sinh ngẫu nhiên số nguyên tố p và phần tử sinh α của nhóm nhân Z* p của modulo p. Chọn một số ngẫu nhiên a sao cho: 1≤a ≤p-2.Tính α a mod p Publickey là : (p,α,α a ) và Privatekey là : a.  Lược đổ mã hóa: Khi đối tượng B muốn gửi một thông điệp cho đối tượng A. B tiến hành mã hóa như sau: Algorithm EL Gamal Publickey encryption Thi hành việcxácnhận publickey (p,α,α a ). Đặc tả thông điẹpcần mã hóa như một số nguyên m:m thuộc [o,p-1] Chọn mộtsố nguyên ngẫu nhiên k sao cho 1 ≤k ≤p-2 . Tính γ=α k mod p và δ=m.(α a ) k mod p. Gửichoc =(γ,δ) cho A (c là cipher text)  Lược đổ giải mã. Khi đối tượng A nhận được thông điệp từ B. A tiến hành giải mã như sau: 8 Algorithm EL Gamal Publickey dencryption Sử dụng private key a tính γ p-1-a mod p Khôi phục plaintext như sau:m= (γ -a ).δmod p. Chứng minh:Như miêu tả việc mã hóa ta có : (γ -a ).δ≡α –a.k .m.α a.k ≡m (mod p) Câu 7: Xét trên một phương diện nào đó, mã khối tổng quát tương tự như một mật mã một bảng chữ cái cổ điển? Anh chị hãy chỉ ra sự tương đương đó? Từ đó giải thích vì sao mã khối tổng quát lại tỏ ra an toàn hơn so với mã một bảng chữ cái cổ điển? Theo anh chị thì mã khối có an toàn tuyệt đối không, giải thích vì sao? Trả lời: • Chứng minh mã khối tổng quát tương tự như một mật mã một bảng chữ cái hiện đại: Để chứng minh trước hết, ta giả thiết mỗi khối có cỡ là n bit. Khi đó: Bảng chữ cái gốc chính là bảng chữ cái mà mỗi chữ cái là một bộ n bits Quá trình mã hóa khối đơn giản có thể hiểu là thay thế n bits ban đầu bằng n bits mã hóa.Vậy nên nó cũng giống như việc thay thế chữ cái này thành chữ cái khác. Như thế phương thức mã hóa có thể được diễn đạt thông qua một bảng chữ cái mã hóa mà ở đó mỗi chữ cái cũng là một bộ n bits => Như vậy mã khối tổng quát tương đương với mã một bảng chữ cái cổ điển • Mã khối tổng quát tỏ ra an toàn hơn mã môt bảng chữ cái cổ điển: - Mã một bảng chữ cái:Việc mã hóa được tiến hành bằng cách thay thế một chữ cái trong bản rõ thành một chữ cái trong bản mã.Như vậy số lượng hoán vị của 26 chữ cái là 26!.Đây cũng chính là số lượng khóa của phương pháp này. Vì 26! Là khá lớn nên khó có thể tấn công vét cạn tuy nhiên nó bị tấn công bằng cách phân tích tần suất các chữ cái tiếng anh:Trong ngôn ngữ TA tần suất sử dụng của các chữ cái không đều nhau, chữ E được sử dụng nhiều nhất, còn các chữ ít được sử dụng thường là Z,Q,J. Tương tự như vậy đối với cụm hai chữ cái và ba chữ cái, cụm chữ TH được sử dụng nhiều nhất, - Mã khối tổng quát: Mã hóa theo từng khối, mỗi khối có kích thước là n bits. Với ngõ vào là n bits => sẽ có 2 n bản rõ khác nhau,và cũng sẽ có 2 n bản mã khác nhau, để có thể giải mã được, mỗi bản rõ này cần tạo ra 1 bản mã duy nhất.Như vậy số phép biến đổi là 2 n !. Khi n càng lớn thì mã khối tổng quát càng an toàn vì không thể tìm ra mối liên hệ thống kê và không thể vét cạn vì hàm E tăng lên rất nhanh  Mã khối tổng quát tỏ ra an toàn hơn mã một bảng chữ cái 9 • Mã khối không an toàn tuyệt đối vì: Khi n lớn rõ ràng là rất an toàn nhưng chưa hẳn khả thi với nhà lập mã: - Vì để tạo ra hàm E tổng quát => khóa đơn giản chính là mô tả của hàm E. - Khi đó với n lớn => để mô tả hàm E sẽ rất phức tạp. Chẳng hạn: với n=64 Để mô tả hàm E cần 64*2 64 =2 70 bits Câu 8: Anh chị hãy trình bày ý tưởng xấp xỉ mã hóa khối của Feistel, từ đó xác định các vấn đề cơ bản phải quan tâm khi thiết kế một mã khối dựa trên ý tưởng chứa Horst Feistel. Trả lời: • Ý tưởng xấp xỉ mã hòa khối của Horst Feistel: - Theo lý thuyết của Shannon để có môt giải thuật mã hóa đủ mạnh, cần xây dựng từ hai thao tác cơ bản: 1. confusion: Sự rối loạn là thuật ngữdùng để chỉ những kỹ thuật nhằm làm cho quá trình tìm kiếm mối quan hệ thống kê giữa khóa và bản mã trở nên “không thể” và được thể hiện qua phép thay thế(substitution) 2. diffusion: Sự khuyếch tán là thuậtngữ dùng để chỉ những kỹ thuật nhằm làm cho quá trình tìm kiếm mối quan hệ thống kê giữa bản gốc và bản mã trở nên “không thể” và được thể hiện qua phép hoán vị - Horst Feistel đề nghị sủ dụng mã tích thay vì các hàm tuyến tính - Ông đề nghị sử dụng luân phiên phép thế và phép hoán vị để tạo nên một thuật toán mã hóa mạnh - Horst Feistel thực sự thành công trong việc thực hiện ý tưởng S-P Network của Claude Shannon * Cấu trúc của mã Feistel: 1. Mã hóa - Một khối của plaintext(PB) sẽ chạy qua n vòng mã hóa để sinh ra một khối của ciphertext(CB). - Đầu tiên PB được chia làm 2 phần ký hiệu là:R 0 ,L 0. -Khoá mã hóa K sẽ được sử dụng để sinh ra n khóa con: k i với 1≤i≤n -Tại vòng mã hóa i: 2. Giải mã: Để giải mã quá trình được thực hiện qua các vòng theo thứ tự ngược lại: 10 [...]... ít hơn và trả ra 128 bits hash – MD5 thực hiện nhanh hơn SHA Câu 20:MAC là gì và mục đích? Trình bày l(n) – restricted MAC Trả lời: • MAC – mã xác thực thông điệp là một xâu bits được sử dụng để xác thực tính toàn vẹn của thông điệp +) Mục đích: - Các mã xác thực thông điệp MAC cung cấp sự tin cậy cho người nhận là thông điệp không bị thay đổi từ đích danh người gửi - Mục đích sử dụng mã xác thực MAC... tác: o Làm N lần các công việc sau: ™ - Tạo bảng phân bố thông điệp (message schedule) từ khối thứ i ™ - Dùng bảng phân bố thông điệp cùng với các hàm, hằng số, các thao tác trên từ để tạo ra giá trị băm i o Sử dụng giá trị băm cuối cùng để tạo thông điệp rút gọn 1 Tiền xử lý: +) Padding message(Mở rộng thông điệp): 25 - Mục đích : Thêm x bits vào thông điệp để được bội của 1024: l+x = N*1024 - Phương... băm của thông điệp : 512 bits - Cỡ của từ: 64 bits - Sử dụng 8 biến trung gian, mỗi biến là một từ 64 bits * Thuật toán hàm băm SHA-512 gồm 2 bước: tiền xử lý và tính toán giá trị băm ™ Bước tiền xử lý bao gồm các thao tác: o Mở rộng thông điệp o Phân tích thông điệp đã mở rộng thành các khối m bit o Khởi tạo giá trị băm ban đầu ™ Bước tính toán giá trị băm bao gồm các thao tác: o Làm N lần các công việc... hiện bằng cách đảo ngược vị trí hai nửa b) từ đó xác định các vấn đề cơ bản phải quan tâm khi thi t kế một mã khối dựa trên ý tưởng chứa Horst Feistel - Tăng kích thước khối sẽ làm tăng độ an toàn , nhưng làm giảm tốc độ mã - Tăng kích thước khóa sẽ làm tăng độ an toàn, tìm khóa khó hơn nhưng làm chậm mã - Tăng số vòng làm tăng độ an toàn nhưng làm chậm mã - Phát sinh khóa con càng phức tạp làm cho... => không an toàn Năm 2004 đã phát hiện đụng độ trong SHA-1 • n tối thi u là 128 bits • Ngày nay để đảm bảo an toàn, n được khuyến cáo tối thi u là 160 bits Câu 18: Anh chị hãy trình bày tư tưởng chính của SHA – 512? Chứng minh hoặc bác bỏ khẳng định SHA – 512 được xây dựng trên ý tưởng của Merkle – Damgard Trả lời: a) Tư tưởng chính của SHA – 512 +) Một số tính chất của SHA – 512 - Cỡ của thông điệp... thêm một số bước tăng độ phức tạp/tính an toàn  Substitute Bytes • Là một phép thế các bytes đơn giản • Sử dụng cách cài đặt dạng bảng  Shift Row • Dịch vòng quanh trên mỗi hàng + Hàng 1 không đổi + Hàng 2 dịch quay vòng sang trái 1 bytes + Hàng 3 dịch quay vòng sang trái 2 bytes + Hàng 4 dịch quay vòng sang trái 3 bytes • Hàm ngược đơn giản chỉ là dịch sang phải • Do add round key thực hiện... một cách song song CBC không thể thực hiện song song - Software effeciency: Do tận dụng được lợi thế xử lý song song nên CTR sẽ chạy nhanh hơn - Xử lý : Nếu bộ nhớ cho phép và vẫn đảm bảo được sự an toàn thì các output của khối mã hóa có thể được tính trước, từ đó mà tốc độ mã hóa sẽ rất nhanh - Cho phép truy nhập ngẫu nhiên các khối +)Nhược điểm của CTR - Về tính an toàn CTR không mạnh như các chế độ... hiện vòng lặp để biến đổi giá trị các biến trung gian + Tính giá trị băm thứ i - Giá trị băm thứ N là giá trị băm của thông điệp(Message digest) +) phân bố thông điệp(message schedule) - Tại lần lặp thứ i: Tức là: 16 từ đầu tiên của message=16 từ đầu của khối đó, còn các từ còn lại từ 17 đến 80 được tính bằng công thức + )Thi t lập các biến trung gian - Tại lần lặp thứ i: a = H0i-1 b= H1i-1 c = H2i-1... trong thi t kế của DES(S-box) • Sử dụng kết quả thống kê=> cần một lượng thông tin lớn Một số hình thức chính - Thám mã sai phân - Thám mã tuyến tính - Tấn công khóa liên kết +) Timing Attack • Dựa trên cơ sở là: việc mã và giải mã cần một lượng thời gian khác nhau với những input khác nhau • DES là hoàn hảo để đối phó với hình thức tấn công này • DES có thể kháng cự được với hình thức tấn công Differential... hàm băm có khóa + Để đảm bảo tính an toàn: việc tìm đươc một cặp (m,MAC(k,m)) mà không có khóa là không thể +) Xây dựng MAC (k,m) như thế nào?( hay chính là câu hỏi trình bày l(n) – restricted MAC) b)l(n) – restricted MAC - Một lược đồ MAC tổng quát có thể thực hiện trên các thông điệp có chiều dài bất kỳ: M={0,1}* - Việc xây dựng MAC sẽ dễ dàng hơn nếu tất cả các thông điệp vào được ràng buộc bởi một . giải mã các bản tin. + Tấn công thời gian không chỉ áp dụng cho RSA, mà cả với các hệ mã công khai khác. + Tấn công thời gian giống như kẻ cướp đoán sự an toàn bằng cách quan sát một người. quát càng an toàn vì không thể tìm ra mối liên hệ thống kê và không thể vét cạn vì hàm E tăng lên rất nhanh  Mã khối tổng quát tỏ ra an toàn hơn mã một bảng chữ cái 9 • Mã khối không an toàn tuyệt. khi viết hết toàn bộ nội dung của thông điệp. +) Mã Transposition. Mã chuyển vị là hình thức mã hóa mà các ký tự trong thông điệp ban đầu được hoán đổi vị chí cho nhau. Với những thông điệp ngắn,

Ngày đăng: 26/02/2015, 14:28

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan