CÁC KHÁI NIỆM CƠ SỞ & HỆ MÃ CỔ ĐIỂN

29 251 0
CÁC KHÁI NIỆM CƠ SỞ & HỆ MÃ CỔ ĐIỂN

Đ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

Chương CÁC KHÁI NIỆM CƠ SỞ & HỆ MÃ CỔ ĐIỂN Chương bắt đầu đưa bạn đọc làm quen với giới mật mã Mặc dầu chương đầu, khái niệm sở giới thiệu có tầm bao quát trừu tượng Chúng hy vọng ví dụ cụ thể hỗ trợ đắc lực Các hệ mật mã cổ điển từ lâu không sử dụng thực tế, chúng tạo nguồn kiến thức quí giá, hỗ trợ đắc lực cho việc làm quen với lĩnh vực Các chủ đề chương sau:  Các khái niệm sở  Một số hệ mật mã cổ điển  Đọc thêm: Lý thuyết bí mật tuyệt đối (Shannon) 1.1 CÁC KHÁI NIỆM CƠ SỞ Mật mã lĩnh vực khoa học chuyên nghiên cứu phương pháp kỹ thuật đảm bảo an toàn bảo mật truyền tin liên lạc với giả thiết tồn lực thù địch, kẻ muốn ăn cắp thông tin để lợi dụng phá hoại Tên gọi tiếng Anh, Cryptology dẫn giải nguồn gốc từ tiếng Hy lạp, kryptos nghĩa “che dấu”, logos nghĩa “từ ngữ” Cụ thể hơn, nhà nghiên cứu lĩnh vực quan tâm xây dựng phân tích (để điểm yếu) giao thức mật mã (cryptographic protocols), tức phương thức giao dịch có đảm bảo mục tiêu an toàn cho bên tham gia (với giả thiết môi trường có kẻ đối địch, phá hoại) Ngành Mật mã (cryptology) thường quan niệm kết hợp lĩnh vực con: Sinh, chế mã mật (cryptography): nghiên cứu kỹ thuật toán học nhằm cung cấp công cụ hay dịch vụ đảm bảo an toàn thông tin Phá giải mã (cryptanalysis): nghiên cứu kỹ thuật toán học phục vụ phân tích phá mật mã và/hoặc tạo đoạn mã giản nhằm đánh lừa bên nhận tin Hai lĩnh vực tồn hai mặt đối lập, “đấu tranh để phát triển” thể thống ngành khoa học mật mã (cryptology) Tuy nhiên, lĩnh vực thứ hai (cryptanalysis) phổ biến quảng đại nên dần dần, cách hiểu chung đánh đồng hai thuật ngữ cryptography cryptology Theo thói quen chung này, hai thuật ngữ dùng thay Thậm chí cryptography thuật ngữ ưa dùng, phổ biến sách phổ biến khoa học, cryptology xuất phạm vi hẹp nhà nghiên cứu học thuật túy Mặc dù trước mật mã ứng dụng phổ biến giới hẹp, với phát triển vũ bão công nghệ thông tin đặc biệt phổ biến mạng Internet, giao dịch có sử dụng mật mã trở nên phổ biến Chẳng hạn, ví dụ điển hình giao dịch ngân hàng trực tuyến hầu hết thực qua mật mã Ngày nay, kiến thức ngành mật mã cần thiết cho quan phủ, khối doanh nghiệp cho cá nhân Một cách khái quát, ta thấy mật mã có ứng dụng sau:  Với phủ: bảo vệ truyền tin mật quân ngoại giao, bảo vệ thông tin lĩnh vực tầm cỡ lợi ích quốc gia  Trong hoạt động kinh tế: bảo vệ thông tin nhạy cảm giao dịch hồ sơ pháp lý hay y tế, giao dịch tài hay đánh giá tín dụng …  Với cá nhân: bảo vệ thông tin nhạy cảm, riêng tư liên lạc với giới qua giao dịch sử dụng máy tính và/hoặc kết nối mạng 1.1.1 Những kỷ nguyên quan trọng ngành mật mã Thời kỳ tiền khoa học: Tính từ thượng cổ 1949 Trong thời kỳ này, khoa mật mã học coi ngành mang nhiều tính thủ công, nghệ thuật tính khoa học Các hệ mật mã phát minh sử dụng thời kỳ gọi hệ mật mã cổ điển Sau ta làm quen với hai ví dụ hệ mã tiếng thời kỳ Một phép mã hoá (cipher) thời kỳ Xe-da (Caesar's cipher), cách 2000 năm: chữ thay chữ cách chúng vị trí bên phải alphabet: DASEAR  FDHVDU Vernam cipher (1926): người ta đem thực phép XOR văn gốc (plaintext) với chuỗi nhị phân ngẫu nhiên có độ dài độ dài văn gốc (chuỗi là khoá phép mã hoá) Trong cipher loại này, khoá dùng lần Vernam tin cipher ông phá chứng minh Kỷ nguyên mật mã coi ngành khoa học: đánh dấu báo tiếng Claude Shannon “Commication theory of secretcy systems” , công bố năm 1949 Công trình dựa báo trước ông mà ông khai sáng ngành khoa học quan trọng khác, lý thuyết thông tin (inforrmation theory) Bài báo năm 1949 Shannon móng cho việc áp dụng công cụ toán, cụ thể xác suất, xây dựng mô hình đánh giá tính mật hệ mã mật Tuy nhiên bùng nổ thực lý thuyết mật mã (Cryptology) báo hai nhà bác học Diffie Hellman, “New directions in cryptography”, công bố vào năm 1976 Trong đó, ông chứng tỏ truyền tin bí mật, không thiết hai bên phải nắm khoá bí mật (tức bên gửi phải làm cách chuyển khoá mật cho bên nhận) Hơn họ lần giới thiệu khái niệm chữ ký điện tử (digital signature) Mặc dù mật mã coi ngành toán học phát triển cao, đòi hỏi tư cao để nắm thành tựu đại nó, sở xuất phát ban đầu lại mô hình thực tiễn đơn giản sau 1.1.2 Mô hình truyền tin mật Y=EZ(X) X=DZ(Y) Sender S Key Z Enemy E Y Receiver R Key Z‟ Hình vẽ 1.1: Mô hình truyền tin bảo mật Chúng ta xem xét mô hình toán truyền tin mật Khác với quan niệm truyền tin thông thường, mô hình đưa thêm vào yếu tố mới, khái niệm kẻ địch ẩn giấu Vì giải pháp chống lại đưa vào khối xử lý mã hoá (encryption) giải mã (decryption) Các hoạt động tóm tắt sau Người phát S (sender) muốn gửi thông điệp (message) X tới người nhận R (receiver) qua kênh truyền tin (communication channel) Kẻ thù E (enenmy) lấy/nghe trộm thông tin X Thông tin X dạng đọc được, gọi rõ (plaintext) Để bảo mật, S sử dụng phép biến đổi mã hoá (encryption), tác động lên X, để chế biến mã Y (cryptogram, hay ciphertext), đọc Ta nói mã Y che giấu nội dung rõ X đầu Giải mã (decryption) trình ngược lại cho phép người nhận thu rõ X từ mã Y Để bảo mật, khối biến đối sinh giải mã hàm toán học với tham số khoá (key) Khóa thông số điều khiển mà sở hữu kiến thức thông thường hạn chế Thông thường khoá (Z) biết đến bên tham gia truyền tin S R Sơ đồ mô hình nói thể điều toàn tính bảo mật chế phụ thuộc vào tính mật khóa, tính mật thuật toán hàm sinh hay giải mã (encryption decryption) Điều khẳng định Luật Kirchoff, giả thiết mật mã: Toàn chế sinh mã giải mã ngoại trừ thông tin khoá không bí mật với kẻ thù Điều ngược với suy luận đơn giản đa phần người bên lĩnh vực Họ thường cho thuật toán mật mã cần giữ bí mật đặc biệt để đảm bảo an toàn cho hệ thống Như khóa giữ vai trò trung tâm mô hình truyền tin mật Những quan niệm tổ chức quản lý khóa khác đem đến hệ thống mật mã có tính khác Sau xem xét hai hệ loại hệ thống mật mã quan niệm tổ chức sử dụng khóa tương phản 1.1.3 Hệ thống mật mã đối xứng (Symmetric Key Cryptosystem SKC) Loại hệ thống gọi hệ mật mã khóa bí mật (Sycret Key Crytosystem) Trong mô hình hệ thống này, khóa hai thuật toán sinh mã giải mã giống bí mật tất người khác; nói cách khác, hai bên gửi nhận tin chia sẻ chung khóa bí mật nhật Vai trò hai phía tham gia giống đánh đổi vai trò, gửi nhận tin, hệ thống gọi “mã hóa đối xứng” Chúng ta sử dụng ký hiệu viết tắt theo tiếng Anh SKC Hệ thống mật mã khóa bí mật đối xứng có nhược điểm lớn phương diện quản lý lưu trữ, đặc biệt bộc lộ rõ giới đại liên lạc qua Internet phát triển Nếu giới trước liên lạc mật mã hạn chế lĩnh vực quân ngoại giao ngày đối tác doanh nghiệp giao dịch qua Internet mong muốn bảo mật thông tin quan trọng Với hệ thống khóa bí mật, số lượng khóa bí mật mà công ty hay cá nhân cần thiết lập với đối tác khác lớn khó quản lý lưu trữ an toàn thông tin khóa riêng biệt Một khó khăn đặc thù khác vấn đề xác lập phân phối khóa bí mật hai bên, thường xa liên lạc với qua kênh truyền tin thông thường, không đảm bảo tránh nghe trộm Với hai người xa cách chí chưa biết từ trước có thể thiết lập bí mật chung (tức khóa) kênh bí mật từ trước (mà điều đồng nghĩa với tồn khóa bí mật chung)? Có vẻ chẳng có cách sử dụng “thần giao cách cảm” để hai người trao đổi, thiết lập thông tin bí mật chung? Đây thách thức lớn hệ thống mật mã khóa đối xứng Tuy nhiên độc giả thấy câu hỏi trả lời giao thức mật mã thiết lập khóa mà giới thiệu chương sau 1.1.4 Hệ thống mật mã khóa công khai hay phi đối xứng (Public Key Cryptosystem – PKC) Ý tưởng hệ thống mật mã loại đời vào năm bảy mươi kỷ 20 Khác với SKC, mô hình khóa thuật toán sinh mã giải mã khác từ thông tin khóa sinh mã, lý thuyết tìm khóa giải mã (có thể thử vét cạn) khả thực tế việc không (bất khả thi khối lượng tính toán) Chúng ta làm quen cụ thể với mô hình chương Ý tưởng cho phép thực thể cá nhân công ty cần tạo cho cặp khóa, với hai thành phần:  Thành phần khóa công khai, đăng ký phổ biến rộng khắp, dùng để sinh mã để xác thực chữ ký điện tử (cụ thể chương 3)  Thành phần khóa bí mật, dành riêng cho thân, dùng để giải mã tạo chữ ký điện tử Chỉ với cặp khóa này, thực thể chủ giao dịch bảo mật với quảng đại xã hội, việc quản lý lưu trữ tổ chức chặt chẽ mà việc phải tự nhớ thông tin mật tối thiểu (giống việc nhớ mật hay số PIN tài khoản ngân hàng) 1.1.5 Đánh giá tính bảo mật hệ mật mã Các thuật toán, hệ thống mật mã biết đến giới không Làm để ta đánh giá tính an toàn, hay tính bảo mật hệ mã đặt ra? Trên sở thiết lập niềm tin nhiều không nhiều vào hệ mã đó? Ta kết luận hệ mã mật không an toàn (insecure), việc cách phá mô hình công (khái niệm giới thiệu sau đây) phổ biến, ta rõ mục tiêu ATBM (security) không đảm bảo Tuy nhiên để kết luận hệ mã an toàn cao công việc phức tạp nhiều Thông thường, người ta phải đánh giá hệ mật mã nhiều mô hình công khác nhau, với tính thách thức tăng dần Để khẳng định tính an toàn cao, cách làm lý tưởng đưa chứng hình thức (formal proof), người ta chứng minh công cụ toán học tính ATBM hệ mã xét tương đương với hệ mã kinh điển, mà tính an toàn khẳng định rộng rãi từ lâu Như nói trên, người ta phủ định tính an toàn hệ mã mật thông qua việc cách phá cụ thể hệ mã mô hình công (attack model) cụ thể Mỗi mô hình công định nghĩa rõ lực kẻ công, bao gồm lực tài nguyên tính toán, loại thông tin mà có khả tiếp cận để khai thác khả tiếp xúc với máy mật mã (thiết bị phần cứng có cài đặt thuật toán sinh giải mã) Các mô hình công thường xếp theo thứ tự mạnh dần lực kẻ công Nếu hệ mật mã bị phá vỡ mô hình công (năng lực kẻ công bình thường) bị đánh giá hoàn toàn không an toàn Sau số mô hình công phổ biến Tấn công chỉ-biết-bản-mã (ciphertext-only attack) Ở kẻ địch E kẻ hoàn toàn bên ngoài, tìm cách nghe trộm đường truyền để lấy giá trị Y, mã thông tin gửi Mặc dù kẻ địch E biết rõ Y, mục tiêu hướng tới khám phá nội dung một/nhiều rõ X lấy khóa mật Z (trường hợp phá giải hoàn toàn) Đây mô hình công kẻ địch lực quan hệ đặc biệt (như số hình thức công sau), diện thông tin tiếp xúc mã Rõ ràng hệ mã mà không đứng vững mô hình phải đánh giá không đáng tin cậy Tấn công biết-bản-rõ (known-plaintext attack) Mặc dù tên gọi dễ hiểu nhầm, thực chất mô hình ta giả thiết E biết số cặp X-Y (bản rõ mật tương ứng) Nguyên nhân E thu hoàn toàn tình cờ nhờ vài tay nhân viên thấp cấp hệ thống Tất nhiên mục tiêu E khám phá nội dung rõ quan trọng khác và/hoặc lấy khóa mật Rõ ràng mô hình công làm mạnh so với công qua mã: Việc biết số cặp X-Y làm bổ sung thêm đầu mối phân tích; đặc biệt từ E dùng phép thử loại trừ để vét cạn không gian khóa (exshautive key search) tìm khóa tức cho Enc (K,X)=Y Tấn công bản-rõ-chọn-sẵn (chosen-plaintext attack) Trong mô hình này, E thu nhặt số cặp X-Y mà số rõ X thân E soạn (chosen plaintext) Điều nghe không khả thi thực tế, nhiên ta tưởng tượng E có tay thư ký văn phòng công ty bị công, qui định máy móc tất văn dù quan trọng hay không truyền gửi mật mã phân phát chi nhánh công ty Có thể nhận xét thấy rằng, việc tự chọn giá trị số rõ X thêm nhiều lợi ích cho E phân tích quan hệ mã rõ để từ lần tìm giá trị khóa Một cách tương tự, người ta sử dụng mô hình công bản-mã-chọn-sẵn (chosen-ciphertext attack) kẻ địch thu nhặt số cặp X-Y mà Y giá trị thiết kế sẵn Trong thực tế điều xảy kẻ địch truy nhập vào máy mật mã chiều (có thể sử dụng với chức sinh mã giải mã) Tất nhiên hai dạng công mạnh nói kẻ thù khôn ngoan sử dụng chiến thuật thiết kế rõ (hay mã) chọn sẵn theo kiểu thích nghi (adaptive), tức rõ chọn sau thiết kế dựa vào kiến thức phân tích dựa vào cặp X-Y thu nhặt từ trước Để đánh giá tính an toàn hệ mã mật (khi áp vào hay số mô hình công cụ thể) người ta áp dụng mô hình đánh giá với mức độ mạnh đến yếu đây: Bảo mật vô điều kiện (unconditional security): Đây mô hình đánh giá ATBM mức cao nhất, “vô điều kiện” hiểu theo ý nghĩa lý thuyết thông tin (information theory), ý niệm “lượng tin” hình thức hóa thông qua phép toán xác suất Trong mô hình này, kẻ địch coi không bị hạn chế lực tính toán, tức thực khối lượng tính toán cực lớn đặt khoảng thời gian ngắn Mặc dù có lực tính toán siêu nhiên vậy, mô hình giả thiết kẻ công người hoàn toàn (tức ứng với mô hình công chỉ-biết-bản-mã) Một hệ mật mã đạt mức an toàn vô điều kiện, tức đứng vững trước sức mạnh kẻ địch bên (chỉ biết mã) có khả không hạn chế tính toán, gọi đạt đến bí mật tuyệt đối (perfect secretcy) Một cách khái quát, việc nghe trộm mã đơn giản cung cấp lượng kiến thức zero tuyệt đối, không giúp cho việc phá giải mã kẻ địch Việc biết mã không đem lại chút đầu mối cho khả lần tìm khóa hệ mã Bảo mật chứng minh (provable security): Đây mô hình đánh giá mức cao, lý tưởng hầu hết trường hợp Một hệ mật mã đạt mức đánh giá mo hình công cụ thể đó, ta chứng toán học tính an toàn hệ mật qui tính NP-khó toán biết từ lâu (ví dụ toán phân tích thừa số nguyên tố, toán túi, toán tính logarit rời rạc ) Nói cách khác ta phải chứng minh kẻ thù muốn phá hệ mã phải thực khối lượng tính toán tương đương với việc giải toán NP-khó biết Bảo mật tính toán được, hay bảo mật thực tiễn (computational security hay practical security): Đây mức đánh giá thường áp dụng thực tế (khi mức bảo mật cao cho đạt tới) Khi đánh giá mức với hệ mã cụ thể, người ta lượng hóa khối lượng tính toán đặt để phá hệ mã này, sử dụng kiểu công mạnh biết (thường kèm theo mô hình công phổ biến mạnh nhất) Từ việc đánh giá khối lượng tính toán thời gian thực (với lực kẻ địch mạnh thực tế), so sánh với thời gian đòi hỏi đảm bảo tính mật thực tế, ta đánh giá hệ mã có đạt an toàn thực tiễn cao hay không Đôi khi, sở đánh giá dựa vào toán khó không đưa chứng minh tương đương thực Ví dụ: Giả thiết hệ mã X sử dụng mã mật loại văn hợp đồng có giá trị sử dụng năm Nếu kẻ địch có lực tính toán mạnh phải thời gian đến 20 năm để phá (chẳng hạn sử dụng toàn lực lượng tính toán công ty IT lớn Microsoft hay Google), hệ mã X đánh giá đảm bảo mức an toàn thực tiễn Bảo mật tự tác (ad hoc security): Một số hệ mật mã riêng số công ty cá nhân tự chế để phục vụ mục đích đặc biệt dùng nội Tác giả loại hệ mật mã sử dụng lập luận đánh giá hợp lý định dựa việc ước đoán khối lượng tính toán kẻ địch sử dụng công mạnh nhấn biết lập luận tính bất khả thi thực tiễn để thực Mặc dù hệ mật mã bị phá công tồn mà chưa biết tới đến thời điểm đó; vây, thực tế bảo mật mức hàm nghĩa chứng minh đảm bảo thực sự, nên coi tin cậy với đại chúng 1.2 MỘT SỐ HỆ MẬT MÃ CỔ ĐIỂN Việc nghiên cứu hệ mã mật (cipher) cổ điển cần thiết để qua làm quen với nguyên tắc thiết kế phân tích hệ mật mã nói chung 1.2.1 Mật mã bảng (Monoalphabetic cipher) Ở thuật toán dựa phép hoán vị bảng chữ alphabet Ví dụ 1.1 Một cipher dựa bảng hoán vị tiếng Anh sau a b c d e x y z F G N T A K P L Qua bảng biến đổi thấy a F, bG … Qua có Plaintext: a bad day F GFT TFP  Ciphertext: Như khoá cipher loại bảng hoán vị (A F, bG, , zL) trên, biểu diễn ngắn gọn bằngdòng thứ hai phép biến đổi này, tức FGNT PL Dòng thứ bảng biến đổi bảng chữ gốc, cố định nên không tính tới khoá Dòng thứ hai, gọi bảng thay (substitution alphabet) Chú ý không thiết phải dùng bảng chữ mà ta dùng thứ bảng ký hiệu Ví dụ 1.2 Ở bảng chữ rõ, plaintext alphabet, tập hợp xâu nhị phân với độ dài Bảng biến đổi: p.text 000 001 010 011 100 101 110 111 c.text 101 111 000 110 010 100 001 011 Do xâu nhị phân plaintext 100101111 mã hoá thành 010100011 Để giải mã rõ nhận từ thuật toán mật mã trên, người có mã ciphertext cần biết khóa, yêu cầu giao thức trao khoá Đơn giản thực người gửi tin ghi khoá đĩa chuyển đĩa cho người nhận Rõ ràng cách làm đơn giản thực tế không an toàn Trong thực tế người ta sử dụng nhiều giao thức phức tạp tinh vi Nếu kẻ thù khoá liệu chúng đoán không ? Hiển nhiên điều phụ thuộc vào số lượng khoá có (độ lớn không gian khoá có) Nếu kích thước bảng alphabet N số khoá N! =N(N1) tính xấp xỉ theo công thức: n N!  (2πn)1/2(n/e) Cho N=26, ta có N!=26!926 Chú ý rằng, số lượng bit chuyển mật gọi chiều dài khoá Ví dụ 1.3 Chiều dài khoá cipher loại xét 26*5=130 bits, số lượng bit tin cần dùng để chuyển dòng thứ hai bảng chuyển vị (Dòng thứ ngầm định ABC XYZ, nên không cần chuyển) Chú ý: Không phải tất cipher che giấu nội dung thông tin Ví dụ 1.4: Sau cipher không làm thay đổi plaintext ab c d e x y z A B C D E X Z Y Mật mã cộng (Additive cipher) - Mật mã Xeda (Ceasar) Mật mã cộng (Additive cipher) mật mã bảng đặc biệt đó, phép biến đổi mã biểu diễn thông qua phép cộng đồng dư sau Giả sử ta gán giá trị từ A-Z với số 1-25,0 Thế chữ plaintext X mã thành ciphertext Y theo công thức: Y = X  Z, Z giá trị khoá,  ký hiệu phép cộng đồng dư modulo 26 Ví dụ 1.5 Xét mật mã bảng sau đây: a b c d e x y z D E F G H A B C Đây mật mã Ceasar giới thiệu từ đầu chương, giá trị khóa Z=3: D=a 3, E=b 3, A=x 3, B=y 3, C=z 3 Rõ ràng số lượng khoá dùng 25 số lượng bít cần thiết cho việc chuyển khoá (24 < 25k Tăng k lên đơn vị lặp lại bước 1.2.5 One-time-pad (Vernam cipher) Mật mã One-time-pad đề xuất G Vernam (1917); sau chứng minh đảm bảo bí mật tuyệt đối (perfect secretcy - 1949) Như tên gọi nó, One-time-pad khóa viết băng (tape) dài, sử dụng lần Đồng thời chuỗi khóa chuỗi văn sinh ngẫu nhiên, có độ dài văn sử dụng 18 Thao tác mã hóa đơn giản phép dịch theo bảng ứng với chữ khóa tương ứng XOR xử lý theo chuỗi nhị phân Sinh mã: Y = X + Z (mod 26) Giải mã : X = Y - Z (mod 26) Vì vậy, One-time-pad coi mã Vigenere với khóa chuỗi ngẫu nhiên có độ dài văn bản, ví dụ sau cho thấy VD 1.12 X: x n t f u h b z t Z: A s u n ny d a y Y: Y GOI I G FA S Ở A hiểu dịch nên X+A=Y Chú ý khóa dùng lần, tức vứt bỏ sau dùng Nếu dùng lại không đảm bảo an toàn 19 CÂU HỎI VÀ BÀI TẬP MỞ RỘNG  Phân biệt thuật ngữ cryptography, cryptanalysis cryptology “Khoa học mật mã” tương ứng với thuật ngữ tiếng Anh nào?  Trong thời kỳ nào, kỹ thuật mật mã chưa coi ngành khoa học? Tại sao?  Hãy phân biệt hệ biến đổi mã thông thường (Morse code, ASCII code) với hệ mật mã  Hãy phân tích ý nghĩa Luật Kirchoff để thấy mật mã đại không chấp nhận quan điểm cần che giấu thuật toán mật mã  Phân tích nhược điểm nguyên lý hệ mật mã đối xứng (SKC)  Ưu điểm mật mã khóa công khai (PKC) so với SKC?  Giải thích thuật ngữ công biết-bản-rõ (known-plaintext attack) lấy ví dụ tình thực tế làm sở cho hình thức công  Tại hình thức công bản-rõ-chọn-sẵn (chosen-plaintext attack) xem mạnh so với công biết-bản-rõ  Khái niệm bí mật tuyệt đối (perfect secretcy) gắn liền với mô hình công nào? Tại sao?  Phân biệt bảo mật chứng minh (provable security) bảo mật thực tiễn (practical security)  Tìm số lượng khóa thực dùng với mật mã nhân tính Hãy lập luận chi tiết  Hãy tìm (và đưa lập luận chi tiết) số khóa khả thi mật mã affine  Tại nói khóa mật mã một-bảng-thế an toàn nhau?  Tại ta sử dụng quan hệ thứ tự nhóm tần suất phân tích giải mã? Giải thích qua ví dụ  Tại nói qui luật tần xuất không đồng chi phối mạnh mẽ từ có độ dài lớn hơn?  Hãy giải tới mật mã ví dụ 1.8 dịch nghĩa rõ sang tiếng Việt  Hãy giải thích đồ thị tần xuất mật mã đồng âm lại phẳng mã lại có dư thừa?  Hãy so sánh IC rõ M IC mã ngẫu nhiên R có độ dài Lập luận để giải thích chặt chẽ 20  Trong khứ có nhiều người muốn sử dụng One-time-pad với khóa chọn từ sách mà hai bên nhận gửi có (mỗi lần mã lại chọn lại khóa) Như có đảm bảo tính bí mật tuyệt đối?  Tại nói mật mã one-time-pad trường hợp đặc biệt mật mã Vigenere? Có thể nói IC mật mã one-time-pad Phần đọc thêm 1.3 LÝ THUYẾT VỀ SỰ BÍ MẬT TUYỆT ĐỐI (SHANNON) 1.3.1 Bí mật tuyệt đối gì? Tại nói mật mã One-time-pad đảm bảo bí mật tuyệt đối? Claude Shannon trả lời câu hỏi công trình khoa học đặt móng cho ngành khoa học mật mã đại (Communication Theory of Secrecy Systems, 1949) Trong phần này, làm quen với khái niệm quan trọng Như nói để khảo sát phân tích hệ mật mã, trước hết ta cần định nghĩa mô hình công áp dụng Ở đây, sử dụng mô hình công thông thường khái quát nhất, mô hình chỉ-biết-bản-mã (ciphertext-only attack), kẻ công Eve người bên hoàn toàn nên có khả nghe trộm đường truyền Khái niệm hệ mật mã đạt bí mật tuyệt đối hiểu hệ mật mã đứng vững mô hình công chỉ-biết-bản-mã dù kẻ địch Eve mạnh đến đâu: tức giả sử Eve có phương tiện hùng hậu (coi vô hạn) để tiến hành phép tìm kiếm vét cạn không gian khóa (hữu hạn) khoảng thời gian ngắn tùy ý Tất nhiên ta phải giả thiết Eve thu (nghe trộm) mã có độ dài tùy ý để dùng phân tích tìm khóa mật mã Yếu tố độ dài mã nghe trộm quan trọng Các hệ mật mã dù không an toàn không bị phá hoàn toàn, tức Eve tìm khóa nhất, độ dài mã bị nghe trộm không đủ dài để phân tích Các ví dụ sau minh họa rõ điều Giả sử Eve nghe trộm mã (cryptogram) Y tạo từ hệ mã hóa bảng Để tìm rõ tương ứng, Eve sử dụng tìm kiếm thử - vét cạn không gian khóa (eshautive key search) Với Y ngắn ta tìm nhiều rõ X 21 có thẻ tạo mã Y với khóa khác tương ứng (các phép khác nhau) Ví dụ ta có đoạn mã sau: AZNPTFZHLKZ Ta tạo đoạn rõ tương ứng bảng sau: Ví dụ 1.13: Bảng a B c d E f g h i j k l m n o p q r s t u v w x y z K B C D T E G I J M O L A Q R H S F N P U V W X Z Y i j k l m n o p q r s t u v w y z K T Bảng hai a B c d E L P H N Z f g h A x F E Do đoạn mã có rõ tương ứng với bảng trên: Mã: A Z N P T F Z H L K Z Bản rõ 1: m y s t e r Y p l a y Bản rõ 2: r e d b l u e c a k e Cả hai chuỗi “mysteryplay” “redbluecake” giả định thông điệp có nghĩa hợp lý (đã loại bỏ bớt dấu trắng) Ví dụ 1.14 Với MÃ „HLKZ‟ dễ dàng tìm TIN tương ứng: Với MÃ „HLKZ‟ dễ dàng tìm TIN tương ứng: C.text: H L K Z P.text1: p l a y P.text2: c a k e P.text3: m i s t P.text4: w a s h bảng sau: 22 a b C d e f g h i j k K L l m L H Z n o p q r s t u v w H x y z Z K L H K Z (Bảng bỏ trắng ký tự thay giống gốc) Qua ví dụ 1.13-14 thấy mã một-bảng-thế, mã tương đối ngắn luôn tồn lúc nhiều rõ có nghĩa tương ứng (với khoá dự đoán tương ứng) Tuy nhiên với mã có độ dài 50 trở lên có rõ plaintext thoả mãn, tức rõ (với khóa tương ứng) cần tìm Như vậy, Eve – nhà phân tích giải phá mã (cryptanalyst) – “tóm” đoạn mã có độ dài đủ lớn, nói chung luôn phá mã loại một-bảng Trong ví dụ sau đây, ta quan sát trình cụ thể giải phá mã cộng tính Có 26 khoá 26 khả để thử Eve nghe trộm bắt ký tự mã phát đường truyền Mỗi nghe thêm từ mã E tiến hành thử 26 khả để tìm rõ có nghĩa Khi nghe trộm từ mã khả 26 khoá ngang ngửa (xác xuất đoán nhỏ, cỡ nhỏ 0.1), nghe trộm từ khoá 2,3 xác xuất thay đổi, hầu hết tiếp tục giảm đi, trừ trường hợp với khoá 15 Khi nghe từ mã xác suất ứng với khoá 15 xác suất khác không; tức khoá 15 khoá (chữ consi ứng với đoạn đầu số từ có nghĩa tiếng Anh consider, consideration ) Ví dụ 1.15 Hãy xét hệ mã cộng với 26 khóa khác biệt (“đẩy” – 25 vị trí) Giả sử ta bắt MÃ = “sdchx” Ta thử 26 khóa để phá mã Bảng đưới minh họa phép thử vét cạn này, với n độ dài đoạn mã “bị tóm” tính đến thời điểm tương ứng Shift Decruption N=1 n=2 n=3 n=4 rdchx 0.060 0.070 25 24 sediy tfejz 0.063 0.091 0.257 0.003 23 ugfka 0.28 0.052 0.427 0.182 23 n=5 22 vhglb 0.010 21 20 wihmc xjind 0.024 0.002 19 18 ykjoe zlkpf 0,020 0.001 17 16 amlqg bnmrh 0.082 0.015 0.072 0.004 15 consi 0.028 0.202 0.515 14 13 dpotj eqpuk 0.043 0.127 0.044 12 11 frqvl gsrwm 0.022 0.020 0.058 0.015 10 htsxn iutyo 0.061 0.070 0.052 0.001 jvuzp 0.002 kwvaq lxwbr 0.008 0.040 myxcs nzydt 0.024 0.067 0.028 0.028 oazeu pbafv 0.075 0.019 0.014 qcbgw 0.001 0.128 0.001 0.818 0.046 Phần sau trình bày định nghĩa tương đối chặt chẽ khái niệm bí mật tuyệt đối 1.3.2 Khái niệm bí mật tuyệt đối Qua ví dụ 1.15 trên, dễ thấy độ dài đoạn mã nghe trộm tăng lên phân phối xác xuất tính khả thi mối ứng cử viên rõ/khóa thay đổi liên tục: hầu hết xác suất giảm có tăng (để trở thành sau này) Điều rõ ràng cho thấy tính không an toàn mật mã Ngược lại, cho tạm cảm nhận mật mã an toàn: phân phối xác suất ứng viên rõ phải thay đổi không thay đổi Eve thu nhận thêm đoạn mã nghe trộm Vậy, khái niệm bí mật tuyệt đối định nghĩa sau Trong hệ thống đảm bảo bí mật tuyệt đối, mã bị tiết lộ cho kẻ thù không đem lại ý nghĩa cho phân tích tìm khóa phá mã Sự kiện nghe trộm mã (có độ dài bất kỳ) không làm thay đổi phân phối xác xuất ban đầu plaintext 24 Hay là, hệ thống có bí mật tuyệt đối nếu: P(X) = P(X/Y)  TIN X VÀ MÃ Y Định lý Shannon Trong hệ thống có BMTĐ, số lượng khoá (độ lớn không gian khoá) phải lớn số lượng thông báo (độ lớn không gian TIN) Điều cho thấy để đạt BMTĐ khoá phải dài, việc trao chuyển khoa hai bên truyền tin làm cho hệ thống trở nên phi thực tế Như vậy, nhìn chung đạt bí mật tuyệt đối mà có hệ thống với mức an toàn thực tế (Practical security) cài đặt tuỳ theo giá trị thông tin cần bảo vệ thời gian sống 1.3.3 Đánh giá mức độ bảo mật cipher Shannon đưa khái niệm, unicity distance, để “đo” mức an toàn hệ mã: Unicity distance, ký hiệu N0, độ dài tối thiểu mã nghe trộm để xác định khóa Unicity distance tính theo công thức: N0  log E d Trong d độ dư thừa ngôn ngữ sử dụng TIN Ví dụ 1.16 Câu tốc ký sau thực tế khôi phục dạng đầy đủ cách nhất: Mst ids cn b xprsd n fwr ltrs, bt th xprsn s mst nplsnt  Most ideas can be expressed in fewer letters, but the expression is most unpleasant Điều chứng tỏ chữ bị câu ban đầu dư thừa mặt biểu diễn thông tin (nhưng cần thiết để bảo đảm tính dễ hiểu, đọc nhanh) Khái niệm độ dư thừa định nghĩa thông qua công thức: d = R - r bits Trong R: absolute rate r: true rate ngôn ngữ R định nghĩa số lượng bit sử dụng để biểu thị chữ bảng chữ với giả sử chữ có tần xuất xuất nhau: R = log2A bits với A kích thước bảng chữ 25 Ví dụ 1.17 Đối với tiếng Anh ta có R = log226  4.7 bits Đại lượng true rate r định nghĩa số lượng bit trung bình để biểu thị chữ văn biểu diễn dạng tối giản: xử lý theo kiểu tốc ký, gạt bỏ chữ không cần thiết (hoặc áp dụng kỹ thuật nén sở thuộc tính thống kê văn bản) mà không làm thông tin chuyển tải Ví dụ 1.18 Đối với văn tiếng Anh, tính trung bình, r nằm khoảng 1,5 bit Độ dư thừa coi thước đo tính cấu trúc tính “dễ đoán” (predictability) ngôn ngữ Độ dư thừa cao chứng tỏ tính cấu trúc tính “dễ đoán” cao Một nguồn phát tin thực ngẫu nhiên dư thừa Trong tiếng Anh, độ dư thừa nằm khoảng từ 3.2 đến 3.7 bits (gây nên sơ đồ tần xuất ký tự “lồi lõm” mẫu tự 2-chữ, 3-chữ phổ biến) Sử dụng Unicity distance ta so sánh độ an toàn thuật toán mã hóa khác Ví dụ 1.19 Với mã 1-bảng thế, ta quan sát thấy E= |Z| = 26! P(Z) =1/26! log2E = log2(26!)  88.4 bits N0  88.4 / 3.7  23.9 ký tự Như MÃ chứa 24 ký tự trở lên bị giải mã cách Ví dụ 1.20 Với mã one-time-pad: X = không gian khóa = {tập hợp đoạn văn tiếng Anh có độ dài k} Z = không gian khóa = {tập chuỗi chữ độ dài k trông bảng chữ tiếng Anh} Giả thiết khóa chọn cách ngẫu nhiên với xác xuất đồng N0 = log2E/d E= 26k log2(26k) = k log2264.7k N0 = (4.7k)/3.7 = 1.37k Do đó, chí E nghe trộm toàn tất chữ đoạn MÃ, cô ta giải phá mã (tìm TIN tương ứng nhất) 26 Ta “tăng” tính mật hệ mã cho trước hay không? Tăng độ lớn không gian khóa Giảm tính dư thừa ngôn ngữ văn TIN: tiền xử lý qua bước thuật toán nén Chú ý: thuật toán nén lý tưởng đem lại độ dư thừa 0, N0  Có thể chèn thêm đoạn văn ngẫu nhiên để “phẳng hóa“ độ thị tần xuất văn TIN Ta xét cụ thể biện pháp L M Chuỗi ngẫu nhiên chèn Văn TIN gốc thêm Công thức sau cho biết độ dư thừa văn (sau chèn thêm chuỗi ký tự ngẫu nhiên) ~ d  M d LM 27 CÂU HỎI VÀ BÀI TẬP MỞ RỘNG Phân biệt thuật ngữ cryptography, cryptanalysis cryptology “Khoa học mật mã” tương ứng với thuật ngữ tiếng Anh nào? Trong thời kỳ nào, kỹ thuật mật mã chưa coi ngành khoa học? Tại sao? Hãy phân biệt hệ biến đổi mã thông thường (Morse code, ASCII code) với hệ mật mã Hãy phân tích ý nghĩa Luật Kirchoff để thấy mật mã đại không chấp nhận quan điểm cần che giấu thuật toán mật mã Phân tích nhược điểm nguyên lý hệ mật mã đối xứng (SKC) Ưu điểm mật mã khóa công khai (PKC) so với SKC? Giải thích thuật ngữ công biết-bản-rõ (known-plaintext attack) lấy ví dụ tình thực tế làm sở cho hình thức công Tại hình thức công bản-rõ-chọn-sẵn (chosen-plaintext attack) xem mạnh so với công biết-bản-rõ Khái niệm bí mật tuyệt đối (perfect secretcy) gắn liền với mô hình công nào? Tại sao? 10 Phân biệt bảo mật chứng minh (provable security) bảo mật thực tiễn (practical security) 11 Tìm số lượng khóa thực dùng với mật mã nhân tính Hãy lập luận chi tiết 12 Hãy tìm (và đưa lập luận chi tiết) số khóa khả thi mật mã affine 13 Tại nói khóa mật mã một-bảng-thế an toàn nhau? 14 Tại ta sử dụng quan hệ thứ tự nhóm tần suất phân tích giải mã? Giải thích qua ví dụ 15 Tại nói qui luật tần xuất không đồng chi phối mạnh mẽ từ có độ dài lớn hơn? 16 Hãy giải tới mật mã ví dụ 1.8 dịch nghĩa rõ sang tiếng Việt 17 Hãy giải thích đồ thị tần xuất mật mã đồng âm lại phẳng mã lại có dư thừa? 18 Hãy so sánh IC rõ M IC mã ngẫu nhiên R có độ dài Lập luận để giải thích chặt chẽ 28 19 Trong khứ có nhiều người muốn sử dụng One-time-pad với khóa chọn từ sách mà hai bên nhận gửi có (mỗi lần mã lại chọn lại khóa) Như có đảm bảo tính bí mật tuyệt đối? 20 Tại nói mật mã one-time-pad trường hợp đặc biệt mật mã Vigenere? Có thể nói IC mật mã one-time-pad 29

Ngày đăng: 20/10/2016, 07:05

Từ khóa liên quan

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

Tài liệu liên quan