1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÃ HÓA ĐỐI XỨNG CĂN BẢN

42 179 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 1,38 MB

Nội dung

2.1 Mã hóa Ceasar3 2.2 Mô hình mã hóa đối xứng (Symmetric Ciphers)62.3 Mã hóa thay thế đơn bảng (Monoalphabetic Substitution Cipher)82.4 Mã hóa thay thế đa ký tự122.4.1 Mã Playfair122.4.2 Mã Hill142.5 Mã hóa thay thế đa bảng (Polyalphabetic Substitution Cipher)162.6 OneTime Pad182.7 Mã hoán vị (Permutation Cipher)212.8. CÂU HỎI ÔN TẬP232.9. BÀI TẬP CỦNG CỐ262.10. BÀI TẬP THỰC HÀNH32Các phương pháp mã hóa cổ điển thường dựa trên hai phương thức. Cách thứ nhất là dùng phương thức thay thế một chữ cái trong bản rõ thành một chữ cái khác trong bản mã (substitution). Các mã hóa dùng phương thức này là mã hóa Ceasar, mã hóa thay thế đơn bảng, đa bảng, onetime pad. Cách thứ hai là dùng phương thức hoán vị để thay đổi thứ tự ban đầu của các chữ cái trong bản rõ (permutation). Hai phương thức này cũng đóng vai trò quan trọng trong mã hóa đối xứng hiện đại được trình bày trong chương tiếp theo.Trong chương này chúng ta đã xem xét một số phương thức phá mã. Mục tiêu của việc phá mã là từ bản mã đi tìm bản rõ, hoặc khóa, hoặc cả hai.

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM CHƯƠNG TRÌNH KĨ SƯ CLC VIỆT-PHÁP ………… o0o………… MÃ HÓA ĐỐI XỨNG CĂN BẢN GVHD: TS LÊ XUÂN ĐẠI Nhóm Sinh viên thực hiện: Huỳnh Thế Hào – 1610875 Đỗ Thái Huy – 1611243 Nguyễn Ngọc Duy – 1652103 Đặng Tấn Phát – 1612510 Nguyễn Hoàng Tuấn– 1613895 Phạm Trần Đại Phúc– 1612664 Võ Nguyễn Gia Luật – 1611944 Tp.Hồ Chí Minh, ngày 13/02/2019 MỤC LỤC 2.1 Mã hóa Ceasar 2.2 Mô hình mã hóa đối xứng (Symmetric Ciphers) 2.3 Mã hóa thay đơn bảng (Monoalphabetic Substitution Cipher) 2.4 Mã hóa thay đa ký tự 12 2.4.1 Mã Playfair 12 2.4.2 Mã Hill 14 2.5 Mã hóa thay đa bảng (Polyalphabetic Substitution Cipher) 16 2.6 One-Time Pad 18 2.7 Mã hoán vị (Permutation Cipher) 21 2.8 CÂU HỎI ÔN TẬP 23 2.9 BÀI TẬP CỦNG CỐ 26 2.10 BÀI TẬP THỰC HÀNH 32 Mả hóa đối xứng TS.Lê Xuân Đại Các phương pháp mã hóa cổ điển thường dựa hai phương thức Cách thứ dùng phương thức thay chữ rõ thành chữ khác mã (substitution) Các mã hóa dùng phương thức mã hóa Ceasar, mã hóa thay đơn bảng, đa bảng, one-time pad Cách thứ hai dùng phương thức hoán vị để thay đổi thứ tự ban đầu chữ rõ (permutation) Hai phương thức đóng vai trò quan trọng mã hóa đối xứng đại trình bày chương Trong chương xem xét số phương thức phá mã Mục tiêu việc phá mã từ mã tìm rõ, khóa, hai 2.1 Mã hóa Ceasar Thế kỷ thứ trước công nguyên, nhà quân người La Mã Julius Ceasar nghĩ phương pháp mã hóa tin sau: thay chữ tin chữ đứng sau k vị trí bảng chữ Giả sử chọn k = 3, ta có bảng chuyển đổi sau: Chữ ban đầu: 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 Chữ thay thế: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C (sau Z vòng lại A, x => A, y => B z => C) Giả sử có tin gốc (bản rõ): meet me after the toga party Như tin mã hóa (bản mã) là: PHHW SDUWB PH DIWHU WKH WRJD Thay gửi trực tiếp rõ cho cấp dưới, Ceasar gửi mã Khi cấp nhận mã, tiến hành giải mã theo quy trình ngược lại để có rõ Như đối thủ Ceasar có lấy mã, khơng hiểu ý nghĩa mã Chúng ta gán cho chữ số nguyên từ đến 25: Mả hóa đối xứng TS.Lê Xuân Đại A B C D E F G H I J K L M N O P Q R S T U V WX Y Z 10 11 12 13 14 15 16 17 18 19 20 21 2223 24 25 Phương pháp Ceasar biểu diễn sau: với chữ p thay chữ mã hóa C, đó: C = (p + k) mod 26 (trong mod phép chia lấy số dư) Và trình giải mã đơn giản là: p = (C – k) mod 26 k gọi khóa Dĩ nhiên Ceasar cấp phải dùng chung giá trị khóa k, khơng tin giải mã khơng giống rõ ban đầu Ngày phương pháp mã hóa Ceasar khơng xem an tồn Giả sử đối thủ Ceasar có mã PHHW PH DIWHU WKH WRJD SDUWB biết phương pháp mã hóa giải mã phép cộng trừ modulo 26 Đối thủ thử tất 25 trường hợp k sau: KEY PHHW PH DIWHU WKH WRJD SDUWB 10 11 12 13 14 15 oggv og chvgt vjg vqic rctva nffu nf bgufs uif uphb qbsuz meet me after the toga party ldds ld zesdq sgd snfz ozqsx kccr kc ydrcp rfc rmey nyprw jbbq jb xcqbo qeb qldx mxoqv iaap ia wbpan pda pkcw lwnpu hzzo hz vaozm ocz ojbv kvmot gyyn gy uznyl nby niau julns fxxm fx tymxk max mhzt itkmr ewwl ew sxlwj lzw lgys hsjlq dvvk dv rwkvi kyv kfxr grikp cuuj cu qvjuh jxu jewq fqhjo btti bt puitg iwt idvp epgin assh as othsf hvs hcuo dofhm Mả hóa đối xứng TS.Lê Xuân Đại 16 17 18 19 20 21 22 23 24 25 zrrg zr nsgre gur gbtn cnegl yqqf yq mrfqd ftq fasm bmdfk xppe xp lqepc esp ezrl alcej wood wo kpdob dro dyqk zkbdi vnnc jocna cqn cxpj yjach ummb um inbmz bpm bwoi xizbg tlla tl hmaly aol avnh whyaf skkz sk glzkx znk zumg vgxze rjjy rj fkyjw ymj ytlf ufwyd qiix qi ejxiv xli xske tevxc Trong 25 trường hợp trên, có trường hợp k=3 giải mã tương ứng có ý nghĩa Do đối thủ chắn ”meet me after the toga party” rõ ban đầu Ví dụ 1: Mã hóa mã sau, giả sử mã hóa Ceasar sử dụng để mã hóa với k=6: NGUYEN NGOC DUY Sử dụng cơng thức mã hóa với khóa k = 6: C = (p + k) mod 26= (p + 6) mod 26 Ta bảng mã hóa: P C C I D J E 10 K G 12 M N 13 19 T O 14 20 U U 20 A Y 24 E Như tin mã hóa (bản mã) là: TMAEKT TMUI JAE Ví dụ 2: Giải mã mã sau, giả sử mã hóa Ceasar sử dụng để mã hóa với k=19: VANVFNGZGTFFHBTGDATGZMABGAONHGZ Sử dụng cơng thức giải mã với khóa k = 19: p = (C – k) mod 26 = (C – 19) mod 26 Ta bảng giải mã: A B D F G H M N O T V Z Mả hóa đối xứng C p H I TS.Lê Xuân Đại 10 K 12 M 13 N 14 O 12 19 T 13 20 U 14 21 V 19 A 21 C 25 G Như tin gốc (bản rõ) là: CHUCMUNGNAMMOIANKHANGTHINHVUONG 2.2 Mơ hình mã hóa đối xứng (Symmetric Ciphers) Phương pháp Ceasar phương pháp mã hóa đơn giản mã hóa đối xứng Về mặt khái niệm, phương pháp mã hóa đối xứng tổng qt biểu diễn mơ hình sau: Mơ hình gồm yếu tố:  Bản rõ P (plaintext)  Thuật tốn mã hóa E (encrypt algorithm)  Khóa bí mật K (secret key)  Bản mã C (ciphertext)  Thuật toán giải mã D (decrypt algorithm) Mả hóa đối xứng TS.Lê Xuân Đại Trong đó: C = E (P, K) P = D (C, K) Thuật tốn mã hóa giải mã sử dụng chung khóa, thuật tốn giải mã phép tốn ngược thuật tốn mã hóa (trong mã hóa Ceasar, E phép cộng D phép trừ) Vì mơ hình gọi phương pháp mã hóa đối xứng Bản mã C gởi kênh truyền Do mã C biến đổi so với rõ P, người thứ ba can thiệp vào kênh truyền để lấy mã C, khơng hiểu ý nghĩa mã Đây đặc điểm quan trọng mã hóa, cho phép đảm bảo tính bảo mật (confidentiality) hệ truyền tin đề cập chương Một đặc tính quan trọng mã hóa đối xứng khóa phải giữ bí mật người gởi người nhận, hay nói cách khác khóa phải chuyển cách an toàn từ người gởi đến người nhận Có thể đặt câu hỏi có kênh an tồn để chuyển khóa khơng dùng kênh để chuyển tin, cần đến chuyện mã hóa? Câu trả lời nội dung tin dài, khóa thường ngắn Ngồi khóa áp dụng để truyền tin nhiều lần Do chuyển khóa kênh an tồn đỡ tốn chi phí Đặc tính quan trọng thứ hai hệ mã hóa đối xứng tính an tồn hệ mã Như thấy phần mã hóa Ceasar, từ mã dễ dàng suy rõ ban đầu mà khơng cần biết khóa bí mật Hành động tìm rõ từ mã mà khơng cần khóa gọi hành động phá mã (cryptanalysis) Do hệ mã hóa đối xứng gọi an tồn bị phá mã (điều kiện lý tưởng) thời gian phá mã bất khả thi Trong phương pháp Ceasar, lý mà phương pháp an tồn chỗ khóa k có 25 giá trị, kẻ phá mã thử hết tất trường hợp khóa nhanh chóng Phương pháp cơng gọi phương pháp vét cạn khóa (brute-force attack) Chỉ cần nới rộng miền giá trị khóa tăng thời gian phá mã đến mức độ coi bất khả thi Bảng liệt kê số ví dụ thời gian phá mã trung bình tương ứng với kích thước khóa Mả hóa đối xứng TS.Lê Xuân Đại (tốc độ CPU khoảng 3x109 Hz, tuổi vũ trụ vào khoảng ≈ 1010 năm) Bảng 2-1 Thời gian vét cạn khóa theo kích thước khóa Ví dụ 3: Nếu máy tính thử 360 khóa /giây, tính thời gian phá mã phương pháp vét cạn khóa kích thước khóa 128 bít (đáp án tính theo đơn vị năm) Với kích thước khóa 128 bit số lượng khóa là: Với tốc độ thử máy tính 360 khóa/ giây, thời gian phá mã phương pháp vét cạn khóa là: Chúng ta chấp nhận phương pháp mã hóa đối xứng an tồn phương pháp có điều kiện sau:  Không tồn kỹ thuật công tắt khác tốt phương pháp vét cạn khóa  Miền giá trị khóa đủ lớn để việc vét cạn khóa bất khả thi 2.3 Mã hóa thay đơn bảng (Monoalphabetic Substitution Cipher) Xét lại phương pháp Ceasar với k=3: Chữ ban đầu: 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 Mả hóa đối xứng TS.Lê Xuân Đại Chữ thay thế: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Phương pháp đơn bảng tổng quát hóa phương pháp Ceasar cách dòng mã hóa khơng phải dịch chuyển k vị trí chữ A, B, C, … mà hoán vị 26 chữ Lúc hoán vị xem khóa Giả sử có hốn vị sau: Chữ ban đầu Chữ thay 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 Z P B Y J R S K F L X Q N W V D H M G U T O I Giả sử có tin gốc (bản rõ): A E C meet me after the toga party Như tin mã hóa (bản mã) là: NJJU NJ ZRUJM UKJ UVSZ DZMUE Quá trình giải mã tiến hành ngược lại rõ ban đầu Việc mã hóa tiến hành cách thay chữ rõ thành chữ mã, nên phương pháp gọi phương pháp thay Số lượng hoán vị 26 chữ 26!, số lượng khóa phương pháp Vì 26! số lớn nên việc công phá mã vét cạn khóa bất khả thi (6400 thiên niên kỷ với tốc độ thử khóa 10 khóa/giây) Vì mã hóa đơn bảng xem phương pháp mã hóa an tồn suốt 1000 năm sau công nguyên Tuy nhiên vào kỷ thứ 9, nhà hiền triết người Ả Rập tên Al-Kindi phát phương pháp phá mã khả thi khác Phương pháp phá mã dựa nhận xét sau: Trong ngôn ngữ tiếng Anh, tần suất sử dụng chữ không nhau, chữ E sử dụng nhiều nhất, chữ sử dụng thường Z, Q, J Tương tự cụm chữ (digram), cụm chữ TH sử dụng nhiều Bảng sau thống kê tần suất sử dụng chữ cái, cụm chữ, cụm chữ (trigram) tiếng Anh: Chữ (%) Cụm chữ (%) Cụm chữ (%) Từ (%) Mả hóa đối xứng TS.Lê Xuân Đại E T O A N I R S H D L C F U M P Y W G B V K 13.05 9.02 8.21 7.81 7.28 6.77 6.64 6.46 5.85 4.11 3.6 2.93 2.88 2.77 2.62 2.15 1.51 1.49 1.39 1.28 0.42 TH IN ER RE AN HE AR EN TI TE AT ON HA OU IT ES ST OR NT HI EA VE 3.16 1.54 1.33 1.3 1.08 1.08 1.02 1.02 1.02 0.98 0.88 0.84 0.84 0.72 0.71 0.69 0.68 0.68 0.67 0.66 0.64 0.64 THE ING AND ION ENT FOR TIO ERE HER ATE VER TER THA ATI HAT ERS HIS RES ILL ARE CON NCE 4.72 1.42 1.13 0.98 0.76 0.75 0.69 0.68 0.66 0.63 0.62 0.62 0.59 0.55 0.54 0.52 0.5 0.47 0.46 0.45 0.45 X 0.3 CO 0.59 ALL 0.44 J Q Z 0.23 0.14 0.09 DE RA RO 0.55 0.55 0.55 EVE ITH TED 0.44 0.44 0.44 THE OF AND TO A IN THAT IS I IT FOR AS WITH WAS HIS HE BE NOT BY BUT HAVE YOU WHIC H ARE ON OR 6.42 4.02 3.15 2.36 2.09 1.77 1.25 1.03 0.94 0.93 0.77 0.76 0.76 0.72 0.71 0.71 0.63 0.61 0.57 0.56 0.55 0.55 0.53 0.5 0.47 0.45 Bảng 2-2 Bảng liệt kê tần suất chữ tiếng Anh Phương pháp mã hóa đơn bảng ánh xạ chữ rõ thành chữ khác mã Do chữ mã tuân theo luật phân bố tần suất Nếu chữ E thay chữ K tần suất xuất chữ K mã 13.05% Đây sở để thực phá mã Xét mã sau: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX 10 Mả hóa đối xứng TS.Lê Xuân Đại KEY PHHW PH DIWHU WKH WRJD SDUWB 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 BRXDUHWHUPLQDWHG AQWCTGVGTOKPCVGF ZPVBSFUFSNJOBUFE YOUARETERMINATED XNTZQDSDQLHMZSDC WMSYPCRCPKGYRCB VLRXOBQBOJFKXQBA UKQWNAPANIEJWPAZ TJPVMZOZMHDIVOZY SIOULYNYLGCHUNYX RHNTKXMXKFBGTMXW QGMSJWLWJEAFSLWV PFLRIVKVIDZERKVU OEKQHUJUHCYDQJUT NDJPGTITGBXCPITS MCIOFSHSFAWBOHSR LBHNERGREZVANGRQ KAGMDQFQDYUZMFQD JZFLCPEPCXTYLEPO IYEKBODOBWSXKDON HXDJANCNAVRWJCNM GWCIZMBMZUQVIBML FVBHYLALYTPUHALK EUAGXKZKXSOTGZKJ DTZFWJYJWRNSFYJI Trong 25 trường hợp trên, có trường hợp k=4 giải mã tương ứng có ý nghĩa Do đối thủ chắn ”You are terminated” rõ ban đầu Phá mã mã sau (tiếng Anh), biết phương pháp mã hóa sử dụng phương pháp thay đơn bảng: 28 Mả hóa đối xứng TS.Lê Xuân Đại GBSXUCGSZQGKGSQPKQKGLSKASPCGBGBKGUKGCEUKUZKGGB SQEICA CGKGCEUERWKLKUPKQQGCIICUAEUVSHQKGCEUPCGBCGQOEVS HUNSU GKUZCGQSNLSHEHIEEDCUOGEPKHZGBSNKCUGSUKUASERLSKAS CUGB SLKACRCACUZSSZEUSBEXHKRGSHWKLKUSQSKCHQTXKZHEUQB KZAEN NSUASZFENFCUOCUEKBXGBSWKLKUSQSKNFKQQKZEHGEGBSXU CGSZQ GKGSQKUZBCQAEIISKOXSZSICVSHSZGEGBSQSAHSGKHMERQGK GSKR EHNKIHSLIMGEKHSASUGKNSHCAKUNSQQKOSPBCISGBCQHSLIM QGKG SZGBKGCGQSSNSZXQSISQQGEAEUGCUXSGBSSJCQGCUOZCLIENK GCA USOEGCKGCEUQCGAEUGKCUSZUEGBHSKGEHBCUGERPKHEHKH NSZKGGKAD Giải: Số lần xuất chữ là: A B C D E Z 17 20 38 35 19 F G H I J 57 23 13 K L M N O 52 10 13 P Q R S T 30 61 U V W X Y 38 3 Sau nhiều lần thử ta tìm bảng giài mã: Bản mã Bản rõ A B C D E C H I K O F G H I J K L M N O P Q R S T U V W X Z B T R L X A P Y M G W S F E Q N V J U D Vậy rõ là: 29 Mả hóa đối xứng TS.Lê Xuân Đại THE UNITED STATES WAS AT PEACE WITH THAT NATION AND AT THE SOLICITATION OF JAPAN WAS STILL IN CONVERSATION WITH ITS GOVERNMENT AND ITS EMPEROR LOOKING TOWARD THE MAINTENANC E OF PEACE IN THE PACIFIC INDEED ONE HOUR AFTER JAPANESE AIRSQUADRONS HAD COMMENCED BOMBING IN OAHU THE JAPANESE AMBASSADOR TO THE UNITED STATES AND HIS COLLEAGUE DELIVERED TO THE SECRET ARY OF STATE A FORMAL REPLY TO ARE CENT AMERICAN MESSAGE WHILE THIS REPY STATED THAT IT SEE MEDUSE LESS TO CONTINUE THE EXISTING DIPLOMATIC NEGOTIATIONS IT CONTAINED NO THREAT OR HINT OF WAR ORARMED ATTACK cho mã sau (tiếng Anh): PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOX BTFXQWAXBVCXQWAXFQ JVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWL BTPQWAEBFPBFHCVLXBQU FEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZ BQPOTHXTYFTODXQHFT DPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPF HPBFIPBQWKFABVYYDZ BOTHPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIW FFACFCCFHQWAUVWFL QHGFXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAF QHEFZQWGFLVWPTOFFA Giải: Số lần xuất chữ là: A B C D E Z 21 26 10 12 F G H I J 51 10 25 10 K L M N O 10 15 30 P Q R S T 28 42 0 27 U V W X Y 24 22 28 Mả hóa đối xứng TS.Lê Xuân Đại Xét phương pháp Vigenere Giả sử biết mã ‘PVRLHFMJCRNFKKW’có rõ tương ứng ‘networksecurity’ Hãy tìm khóa K Giải: Bản rõ: Bản mã C: NETWORKSECURITY PVRLHFMJCRNFKKW Chữ N mã hóa chữ P, tra bảng Vigenere cột N, ta thấy dòng C phù hợp Vậy khóa C Chữ E mã hóa chữ V, tra bảng Vignere cột E, ta thấy dòng R phù hợp Vậy khóa R Chữ T mã hóa chữ R, tra bảng Vignere cột T, ta thấy dòng Y phù hợp Vậy khóa Y Chữ W mã hóa chữ L, tra bảng Vignere cột W, ta thấy dòng P phù hợp Vậy khóa P Chữ O mã hóa chữ H, tra bảng Vignere cột O, ta thấy dòng T phù hợp Vậy khóa T Chữ R mã hóa chữ F, tra bảng Vignere cột R, ta thấy dòng O phù hợp Vậy khóa O Vậy khóa cho trường hợp K: CRYPTOCRYPTOCRY Ta tìm khóa là: K: CRYPTO Một trường hợp tổng quát mã hóa Ceasar mã Affine, ký tự p mã hóa thành ký tự C theo công thức: C = E(p, [a, b]) = (ap + b) mod 26 Một yêu cầu thuật tốn mã hóa tính đơn ánh, tức p≠q E(p) ≠E(q) Mã Affine khơng phải đơn ánh với a Ví dụ, với a=2, b=3 E(0) = E(13) = a) Có điều kiện đặt cho b hay không? Tại sao? b) Xác định giá trị a làm cho mã Affine không đơn ánh Giải: a) Tham số b phần tử Z26 Vì b > 26 C = E(p, [a, b]) = (ap + b) mod 26 = (ap + b-26) mod 26 31 Mả hóa đối xứng TS.Lê Xuân Đại Do b phần tử Z26 đủ để biểu diễn b) Để hàm Affine đơn ánh hay với C  Z26, ta muốn có đồng thức sau: ap + b  C (mod 26) phải có nghiệm p Đồng dư thức tương đương với: ap  C-b (mod 26) Vì C thay đổi Z 26 nên C-b thay đổi Z 26 Bởi vậy, ta cần nghiên cứu phương trình đồng dư: ap  C (mod 26) (C Z26 ) Ta biết rằng, phương trình có nghiệm C UCLN(a,26) = Trước tiên ta giả sử rằng, UCLN(a,26) = d 1 Khi đó, đồng dư thức ap  (mod 26) có hai nghiệm phân biệt Z 26 p = p = 26/d Trong trường hợp này, E(p) = ap + b mod 26 hàm đơn ánh khơng thể hàm mã hố hợp lệ (p p+26/d mã hoá thành giá trị p  Z26) Ta giả thiết UCLN(a,26) = Giả sử với p1 p2 thảo mãn: ap1  ap2 (mod 26) Khi a(p1- p2)  0(mod 26) 26 | a(p1- p2) Bây ta sử dụng tính chất phép chia sau: Nếu UCLN(a,b)=1 a bc a c Vì 26  a(p1- p2) UCLN(a,26) = nên ta có: 26(p1- p2) tức p1  p2 (mod 26) Tới ta chứng tỏ rằng, UCLN(a,26) = đồng dư thức dạng ap  C (mod 26) có (nhiều nhất) nghiệm Z26 Do , ta cho p thay đổi Z26 ap mod 26 nhận 26 giá trị khác theo modulo 26 đồng dư thức ap  C (mod 26) có nghiệm C 32 Mả hóa đối xứng TS.Lê Xuân Đại Vì 26 = 13 nên giá trị a  Z26 thoả mãn UCLN(a,26) = a = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 25 Tham số b phần tử Z 26 Như vậy, mã Affine có 12  26 = 312 khố ( dĩ nhiên số để bảo đảm an toàn) 2.10 BÀI TẬP THỰC HÀNH Viết chương trình mã hóa giải mã file văn ASCII máy tính phương pháp mã hóa Ceasar.\  Chương trình mã hóa CEASAR: #include int main() { char message[100], ch; int i, key; printf("Enter a message to encrypt: "); gets(message); printf("Enter key: "); scanf("%d", &key); for(i = 0; message[i] != '\0'; ++i) { ch = message[i]; if(ch >= 'a' && ch 'z') { ch = ch - 'z' + 'a' - 1; } message[i] = ch; } else if(ch >= 'A' && ch 'Z') { ch = ch - 'Z' + 'A' - 1; 33 Mả hóa đối xứng TS.Lê Xuân Đại } message[i] = ch; } } printf("Encrypted message: %s\n\n", message); return 0; }  Chương trình giải mã CEASAR: #include int main() { char message[100], ch; int i, key; printf("Enter a message to decrypt: "); gets(message); printf("Enter key: "); scanf("%d", &key); for(i = 0; message[i] != '\0'; ++i) { ch = message[i]; if(ch >= 'a' && ch = 'A' && ch

Ngày đăng: 11/09/2019, 16:34

TỪ KHÓA LIÊN QUAN

w