BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HO C MA Y TI NH KHOA: CÔNG NGHỆ THÔNG TIN. Giáo trình AN TOÀN VÀ BẢO MẬT THÔNG TIN

Size: px
Start display at page:

Download "BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HO C MA Y TI NH KHOA: CÔNG NGHỆ THÔNG TIN. Giáo trình AN TOÀN VÀ BẢO MẬT THÔNG TIN"

Transcription

1 BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HO C MA Y TI NH KHOA: CÔNG NGHỆ THÔNG TIN Giáo trình AN TOÀN VÀ BẢO MẬT THÔNG TIN TÊN HỌC PHẦN : An toàn và bảo mật Thông tin MÃ HỌC PHẦN : TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN HẢI PHÒNG

2 Tên học phần: An toa n ba o mât thông tin Loại học phần: II Bộ môn phụ trách giảng dạy: Khoa học máy tính. Khoa phụ trách: Công nghệ thông tin Mã học phần: Tổng số TC: 3 TS tiết Lý thuyết Thực hành/ Xemina Tự học Bài tập lớn Đồ án môn học Điều kiện tiên quyết: Sinh viên câ n ho c xong ca c ho c phâ n: - Lâ p triǹh hươ ng đô i tươṇg - Câ u tru c dư liêụ - Phân tićh, thiê t kê va đa nh gia thuât toa n. Mục đích của học phần: Truyền đạt cho sinh viên những kiến thức cơ bản về các lĩnh vực riêng trong an toàn bảo mật máy tính: - Các giải thuật mã hóa trong truyền tin. - Các thuật toán tạo hàm băm và chữ ký điện tử. - Các mô hình trao chuyển khóa. - Các mô hình chứng thực và các giao thức mật mã. Nội dung chủ yếu: Gô m 2 phâ n: - Phâ n ly thuyê t: cung câ p ca c ly thuyê t vê thuât toa n ma ho a, các giao thức. - Phâ n lâ p triǹh: cài đă t các hệ mã, viê t ca c ư ng duṇg sư duṇg ca c hê ma mât Nội dung chi tiết của học phần: Tên chương mục Chương I. Giới thiệu nhiệm vụ của an toàn và bảo mật thông tin Các khái niệm mở đầu Thành phần của một hệ thống thông tin Những mối đe dọa và thiệt hại đối với hệ thống thông tin Giải pháp điều khiển kiểm soát an toàn bảo mật 1.2. Mục tiêu và nguyên tắc chung của ATBM Ba mục tiêu Hai nguyên tắc 1.3. Giới thiệu chung về các mô hình mật mã Mô hình cơ bản trong truyền tin và luật Kirchoff Những giai đoạn phát triển của lý thuyết mã hóa. Phân phối số tiết TS LT Xemine BT KT

3 Chương II. Một số phương pháp mã hóa cổ điển Phương pháp mã đơn giản Mã hoán vị trong bảng Alphabet Mật mã cộng tính Mật mã nhân tính Phân tích mã theo phương pháp thống kê Phương pháp mã bằng phẳng đồ thị tần xuất Mã với bảng thế đồng âm Mã đa bảng thế: giải thuật mã Vigenre và One time pad Lý thuyết về sự bí mật tuyệt đối Đánh giá mức độ bảo mật của một phương pháp mã hóa. Kiê m tra Chương III. Mật mã khối Khái niệm Điều kiện an toàn cho mật mã khối Nguyên tắc thiết kế Chuâ n ma ho a dư liêụ DES Lịch sử của DES Cấu trúc vòng lă p DES Thuật toán sinh khóa con Cấu trúc hàm lă p Thuật toán giải mã DES Đánh giá mức độ an toàn bảo mật của DES TripleDES 3.3. Chuâ n ma ho a cao câ p AES Giơ i thiêụ vê AES Thuât toa n ma ho a Thuât toa n gia i ma Cài đă t AES 3.4 Một số chế độ sử dụng mã khối Chế độ bảng tra mã điện tử Chế độ mã móc xích Chế độ mã phản hồi Chương IV. Hệ thống mã với khóa công khai Khái niệm khóa công khai Đă c trưng và ứng dụng của hệ mã khóa công khai Nguyên tắc cấu tạo hệ khóa công khai 4.2. Giới thiệu một số giải thuật PKC phổ biến Hệ mã Trapdoor Knapsack Hệ mã RSA ,5 0,5 2 1

4 Hệ mã ElGamal Kiểm tra 2 3 Chương V. Chữ ký điện tử và hàm băm Chữ ký điện tử Định nghĩa Ứng dụng của chữ ký điện tử 5.2. Giơ i thiêụ môt sô hê chư ky điêṇ tư Hê chư ky điêṇ tư RSA Hê chư ky điêṇ tư ElGamal Chuâ n chư ky điêṇ tư DSA 5.3. Hàm băm Định nghĩa Sinh chữ ký điện tử với hàm băm 5.4. Môt sô ha m băm thông duṇg Hàm băm MD Hàm băm SHA1 Chương VI. Quản lý khóa trong hệ thống mật mã Quản lý khóa đối với hệ SKC Giới thiệu phương pháp quản lý khóa Quản lý khóa trong các hệ PKC Giao thức trao chuyển khóa Needham Schoeder Giao thư c trao đô i kho a Diffie-Hellman Giao thư c Kerberos Chương VII. Giao thức mật mã Khái niệm giao thức mật mã Định nghĩa giao thức mật mã Mục đích giao thức mật mã Các bên tham gia vào giao thức mật mã 7.2. Tìm hiểu thiết kế các giao thức mật mã điển hình Một số dạng tấn công đối với giao thức mật mã Giới thiệu một số giao thức mật mã Kiểm tra. 0,5 3 0, ,5 1, Nhiệm vụ của sinh viên: Lên lớp đầy đủ và chấp hành mọi quy định của Nhà trường. Tài liệu học tập: 1. Phan Đình Diệu. Lý thuyết mật mã và An toàn thông tin. Đại học Quốc Gia Hà Nội. 2. Douglas R. Stinson. Cryptography Theory and practice. CRC Press A. Menezes, P. VanOorschot, and S. Vanstone. Handbook of Applied Cryptography. CRC Press

5 4. William Stallings. Cryptography and Network Security Principles and Practices, Fourth Edition. Prentice Hall MichaelWelschenbach. Cryptography in C and C++. Apress Hình thức và tiêu chuẩn đánh giá sinh viên: - Sinh viên phải làm các bài kiểm tra trong quá trình học và thực hành. Thi vấn đáp. - Sinh viên phải bảo đảm các điều kiện theo Quy chế của Nhà trường và của Bộ. Thang điểm : Thang điểm 10. Điểm đánh giá học phần: Z = 0,3 X + 0,7 Y.

6 MU C LU C LƠ I NO I ĐÂ U... 1 CHƢƠNG I: GIƠ I THIÊỤ An toa n ba o mâṭ thông tin va mâṭ ma ho c Kha i niê m hê thô ng va ta i sa n cu a hê thô ng Ca c mô i đe doa đô i vơ i mô t hê thô ng va ca c biêṇ pha p ngăn chăṇ Mu c tiêu va nguyên tă c chung cu a an toa n ba o mâ t thông tin Mâṭ ma ho c (cryptology) Kha i niê m hê ma mâ t (CryptoSystem) Mô hiǹh truyê n tin cơ ba n cu a mâṭ ma ho c va luâ t Kirchoff Sơ lƣơ c vê li ch sƣ mâṭ ma ho c Phân loaị ca c thuâṭ toa n mâṭ ma ho c Môṭ sô ƣ ng duṇg cu a mâṭ ma ho c... 8 CHƢƠNG II: CƠ SƠ TOA N HO C Ly thuyê t thông tin Entropy Tô c đô cu a ngôn ngƣ. (Rate of Language) Ti nh an toa n cu a hê thô ng ma hoa Ky thuâ t lô n xô n va rƣơ m ra (Confusion and Diffusion) Ly thuyê t đô phư c ta p Đô an toa n ti nh toa n Đô an toa n không điều kiê n Hê mâ t ti ch Ly thuyê t toa n ho c Modulo sô ho c Sô nguyên tô Ƣơ c sô chung lơ n nhâ t Va nh Z N (va nh đô ng dƣ module N) Phâ n tƣ nghi ch đa o Ha m phi Ơle Thăṇg dƣ bâ c hai Thuâṭ toa n lu y thƣ a nhanh Thuâṭ toa n Ơclit mơ rôṇg Phƣơng triǹh đô ng dƣ bâ c nhâ t 1 â n Điṇh ly phâ n dƣ Trung Hoa Ca c thuâ t toa n kiê m tra sô nguyên tô Môṭ sô ky hiêụ toa n ho c Thuâṭ toa n Soloway-Strassen Thuâṭ toa n Rabin-Miller Thuâṭ toa n Lehmann Ba i tâ p CHƢƠNG III: CA C HÊ MA KHO A BI MÂ T Ca c hê ma cô điê n Hê ma hoa thay thê (substitution cipher) Hê ma Caesar Hê ma Affine Hê ma Vigenere Hê ma Hill Hê ma đô i chô (transposition cipher) Ca c hê ma khô i Mâ t ma khô i Chuâ n ma hoa dữ liê u DES (Data Encryption Standard) Ca c yê u điê m cu a DES... 51

7 2.4. Triple DES (3DES) Chuâ n ma ho a cao câ p AES Ca c cơ chê, hình thư c sử du ng cu a ma hóa khô i (Mode of Operation) Ba i tâ p CHƢƠNG IV: CA C HÊ MA MÂ T KHO A CÔNG KHAI Kha i niê m hê ma mâ t khóa công khai Nguyên tă c câ u taọ cu a ca c hê ma mâṭ kho a công khai Môṭ sô hê ma kho a công khai Hê ma knapsack Hê ma RSA Hê ma El Gamal Ca c hê ma mâ t dư a trên ca c đƣơ ng cong Elliptic Ba i tâ p CHƢƠNG V: CHƢ KY ĐIÊṆ TƢ VA HA M BĂM Chƣ ky điêṇ tƣ Kha i niê m về chữ ky điê n tử Hê chữ ky RSA Hê chữ ky ElGammal Chuâ n chữ ky điê n tử (Digital Signature Standard) Mô hiǹh ƣ ng duṇg cu a chƣ ky điêṇ tƣ Ha m Băm (Hash Function) Kha i niê m Đặc ti nh cu a ha m Băm Birthday attack Mô t sô ha m Băm nô i tiê ng Mô t sô ƣ ng duṇg cu a ha m Băm Ba i tâ p CHƢƠNG VI: QUA N LY KHO A Qua n ly khoa trong ca c ma ng truyền tin Mô t sô hê phân phô i khoa Sơ đô phân phô i khoa Blom Hê phân phô i khoa Kerberos Hê phân phô i kho a Diffe-Hellman Trao đô i khoa va thoa thuâ n khoa Giao thư c trao đô i khoa Diffie-Hellman Giao thư c trao đô i khoa Diffie-Hellman có chư ng chỉ xa c nhâ n Giao thư c trao đô i khoa Matsumoto-Takashima-Imai Giao thư c Girault trao đô i khoa không chư ng chỉ Ba i tâ p CHƢƠNG VII: GIAO THƢ C MÂṬ MA Giao thư c Mu c đi ch cu a ca c giao thư c Ca c bên tham gia va o giao thư c (the players in protocol) Ca c da ng giao thư c Giao thư c có tro ng ta i Giao thư c có ngƣơ i phân xử Giao thư c tƣ phân xƣ Ca c da ng tấn công đô i vơ i giao thư c TA I LIÊ U THAM KHA O

8 Danh mục hình vẽ DANH MU C HI NH VE Hình 1.1: Mô hình cơ ba n cu a truyền tin ba o mâ t... 5 Hình 3.1: Chuâ n ma ho a dƣ liêụ DES Hình 3.2: Sơ đô ma hoa DES Hình 3.3: Sơ đô mô t vòng DES Hình 3.4: Sơ đô ta o khoa con cu a DES Hình 3.5: Sơ đô ha m f Hình 3.6: Sơ đô ha m mở rô ng (E) Hình 3.7: Triple DES Hình 3.8: Ca c tra ng tha i cu a AES Hình 3.9: Thuâṭ toa n ma hóa va gia i ma cu a AES Hình 3.10: Ha m ShifftRows() Hình 3.11: Ha m MixColumns cu a AES Hình 3.12: Ha m AddRoundKey cu a AES Hình 3.13: Ha m InvShiftRows() cu a AES Hình 3.14: Cơ chê ECB Hình 3.15: Chê đô CBC Hình 3.16: Chê đô CFB Hình 4.1: Mô hiǹh sƣ duṇg 1 cu a ca c hê ma khóa công khai PKC Hình 4.2: Mô hiǹh sƣ duṇg 2 cu a ca c hê ma khóa công khai PKC Hình 4.3: Mô hiǹh ƣ ng duṇg lai ghe p RSA vơ i ca c hê ma khô i Hình 4.4: Ca c đƣơ ng cong Elliptic trên trƣơ ng sô thƣ c Hình 4.5: Hình biê u diê n E 2 4 (g 4, 1) Hình 4.6: Phƣơng pha p trao đô i kho a Diffie-Hellman dƣ a trên ECC Hình 5.1: Mô hiǹh ƣ ng duṇg cu a chƣ ky điêṇ tƣ Hình 5.2: Sơ đô chữ ky sử du ng ha m Băm Hình 5.3: Sơ đô vòng lặp chi nh cu a MD Hình 5.4: Sơ đô mô t vòng lặp MD Hình 5.5: Sơ đô mô t vòng lặp cu a SHA

9 Danh mục bảng DANH MU C BA NG Ba ng 2.1: Ba ng bâ c cu a ca c phâ n tử trên Z * Ba ng 2.2: Ba ng lu y thư a trên Z Ba ng 3.1: Ba ng đa nh sô ca c chữ ca i tiê ng Anh Ba ng 3.2: Ma hoa thay đô i vi tri cô t Ba ng 3.3: Ma hóa theo mâ u hình ho c Ba ng 3.4: Vi du ma hóa theo mâ u hình ho c Ba ng 3.5: Ma hóa hoa n vi theo chu ky Ba ng 3.6: Ba ng hoa n vi IP Ba ng 3.7: Ba ng hoa n vi ngƣơ c IP Ba ng 3.8: Ba ng PC Ba ng 3.9: Ba ng di ch bit ta i ca c vòng lặp cu a DES Ba ng 3.10: Ba ng PC Ba ng 3.11: Ba ng mô ta ha m mở rô ng E Ba ng 3.12: Hô p S Ba ng 3.13: Hô p S Ba ng 3.14: Hô p S Ba ng 3.15: Hô p S Ba ng 3.16: Hô p S Ba ng 3.17: Hô p S Ba ng 3.18: Hô p S Ba ng 3.19: Hô p S Ba ng 3.20: Ba ng hoa n vi P Ba ng 3.21: Vi du về ca c bƣơ c thư c hiê n cu a DES Ba ng 3.22: Ca c khóa yê u cu a DES Ba ng 3.23: Ca c khóa nửa yê u cu a DES Ba ng 3.24: Qui ƣơ c môṭ sô tƣ viê t tă t va thuâṭ ngữ cu a AES Ba ng 3.25: Ba ng biê u diê n ca c xâu 4 bit Ba ng 3.26: Ba ng đô da i khóa cu a AES Ba ng 3.27: Ba ng thê S-Box cu a AES Ba ng 3.28: Ba ng thê cho ha m InvSubBytes() Ba ng 4.1: Tô c đô cu a thuâṭ toa n Brent-Pollard Ba ng 4.2: Biê u diê n cu a tâ p E23(1, 1) Ba ng 4.3: Ba ng so sa nh ca c hê ma ECC vơ i hê ma RSA... 95

10 Lơ i no i đâ u LƠ I NO I ĐÂ U Tư trƣơ c công nguyên con ngƣơ i đa pha i quan tâm tơ i viê c la m thê na o đê đa m ba o an toa n bi mâ t cho ca c ta i liê u, văn ba n quan tro ng, đặc biê t la trong lĩnh vư c quân sư, ngoa i giao. Nga y nay vơ i sư xuất hiê n cu a ma y ti nh, ca c ta i liê u văn ba n giấy tơ va ca c thông tin quan tro ng đều đƣơ c sô hóa va xử ly trên ma y ti nh, đƣơ c truyền đi trong mô t môi trƣơ ng ma mặc đi nh la không an toàn. Do đó yêu câ u về viê c có mô t cơ chê, gia i pha p đê ba o vê sư an toa n va bi mâ t cu a ca c thông tin nha y ca m, quan troṇg ngày càng trở nên cấp thiê t. Mâ t ma ho c chi nh la nga nh khoa ho c đa m ba o cho mu c đi ch na y. Khó có thê thấy mô t ư ng du ng Tin ho c có ích nào la i không sử du ng ca c thuâ t toa n ma hóa thông tin. Ta i liê u na y dư a trên những kinh nghiê m va nghiên cư u ma ta c gia đa đúc rút, thu thâ p trong qua trình gia ng da y môn ho c An toa n va Ba o mâ t Thông tin ta i khoa Công nghê Thông tin, Đa i ho c Ha ng ha i Viê t nam. Vơ i ba y chƣơng đƣơ c chia tha nh ca c chu đề kha c nhau tư cơ sở toa n ho c cu a mâ t ma ho c cho tơ i ca c hê ma, ca c giao thư c mâ t ma, hy vo ng sẽ cung cấp cho ca c em sinh viên, ca c ba n đô c gia mô t ta i liê u bô i ch. Mặc dù đa rất cô gă ng song vâ n không tra nh khỏi mô t sô thiê u sót, hy vo ng sẽ đƣơ c ca c ba n bè đô ng nghiê p, các em sinh viên, ca c ba n đô c gia góp y chân tha nh đê tôi có thê hoa n thiê n hơn nữa cuô n sa ch này. Xin gửi lơ i ca m ơn chân tha nh tơ i ca c ba n bè đô ng nghiê p, nhƣ ng ngƣơ i thân đa luôn đô ng viên, góp y cho tôi trong qua trình biên soa n. Xin gƣ i lơ i ca m ơn tơ i Tha c sy Nguyê n Điǹh Dƣơng, ngƣơ i đa đo c va cho nhƣ ng nhâṇ xe t, góp y qui ba u cho phâ n viê t vê hê ma kho a công khai dƣ a trên ca c đƣơ ng cong Elliptic. Xin gƣ i lơ i ca m ơn sâu să c tơ i Tha c sy Pha m Tuấn Đa t, ngƣơ i đa hiêụ đińh môṭ ca ch ky ca ng va cho râ t nhiê u nhâṇ xe t có gia tri cho ba n tha o cu a cuô n sa ch na y. Cuô i cu ng xin gƣ i lơ i ca m ơn tơ i Ban chu nhiê m khoa Công nghê Thông tin, đă c biêṭ la Tiê n sy Lê Quô c Điṇh chu nhiê m khoa, đa luôn ta o điều kiê n tô t nhâ t, giúp đỡ đê cuô n sa ch na y có thê hoa n tha nh. Hải phòng, tháng 12 năm 2007 Tác giả Nguyê n Hữu Tuân 1

11 Chƣơng I: Giơ i thiêụ CHƢƠNG I: GIƠ I THIÊỤ 1. An toa n ba o mâṭ thông tin va mâṭ ma ho c Tra i qua nhiều thê ky ha ng loa t ca c giao thƣ c (protocol) va ca c cơ chê (mechanism) đa đƣơ c taọ ra đê đa p ƣ ng nhu câ u an toa n ba o mâṭ thông tin khi ma no đƣơ c truyê n ta i trên ca c phƣơng tiêṇ vâṭ ly (giâ y, sa ch, ba o ). Thƣơ ng thi ca c mu c tiêu cu a an toa n ba o mâṭ thông tin không thê đaṭ đƣơ c nê u chi đơn thuâ n dƣ a va o ca c thuâṭ toa n toa n ho c va ca c giao thư c, ma đê đa t đƣơ c điều na y đòi hỏi câ n có ca c ky thuâ t mang ti nh thu tu c va sƣ tôn troṇg ca c điê u luâṭ. Chă ng haṇ sƣ bi mâṭ cu a ca c bƣ c thƣ tay la do sƣ phân pha t ca c la thƣ đa có đóng dấu bởi mô t di ch vu thƣ ti n đa đƣơ c chấp nhâ n. Ti nh an toa n về măṭ vâṭ ly cu a ca c la thƣ la haṇ chê (nó có thê bi xem trô m ) nên đê đa m ba o sƣ bi mâ t cu a bư c thƣ pha p luâ t đa đƣa ra qui đi nh : viê c xem thƣ ma không đƣơ c sƣ đô ng y cu a chu nhân hoặc những ngƣơ i có thâ m quyền la pha m pha p va sẽ bi trư ng pha t. Đôi khi mu c đi ch cu a an toa n ba o mâ t thô ng tin laị đaṭ đƣơ c nhơ chi nh phƣơng tiêṇ vâṭ ly mang chúng, chă ng haṇ nhƣ tiê n giâ y đo i ho i pha i đƣơ c in bă ng loaị mƣ c va giâ y tô t đê không bi la m gia. Vê măṭ y tƣơ ng viê c lƣu giƣ thông tin la không co nhiê u thay đô i đa ng kê qua thơ i gian. Nga y xƣa thông tin thƣơ ng đƣơ c lƣu va vâ n chuyê n trên giấy tơ, trong khi giơ đây chúng đƣơ c lƣu dƣơ i da ng sô hóa va đƣơ c vâ n chuyê n bă ng ca c hê thô ng viê n thông hoă c ca c hê thô ng không dây. Tuy nhiên sƣ thay đô i đa ng kê đê n ơ đây chińh la kha năng sao che p va thay đô i thông tin. Ngƣơ i ta co thê taọ ra ha ng nga n mâ u tin giô ng nhau va không thê phân biê t đƣơ c nó vơ i ba n gô c. Vơ i ca c ta i liêụ lƣu trƣ va vâṇ chuyê n trên giâ y điê u na y kho khăn hơn nhiê u. Va điều câ n thiê t đô i vơ i mô t xa hô i ma thông tin hâ u hê t đƣơ c lƣu trƣ va vâṇ chuyê n trên ca c phƣơng tiêṇ điêṇ tƣ chińh la ca c phƣơng tiêṇ đa m ba o an toa n ba o mâṭ thông tin đô c lâ p vơ i ca c phƣơng tiêṇ lƣu trƣ va vâ n chuyê n vâ t ly cu a nó. Phƣơng tiêṇ đo chińh la mâṭ ma ho c, môṭ nga nh khoa ho c co li ch sƣ lâu đơ i dƣ a trên nê n ta ng ca c thuâṭ toa n toa n ho c, sô ho c, xa c suất va ca c môn khoa ho c kha c. 2. Khái niê m hê thô ng va ta i sản cu a hê thô ng Kha i niê m hê thô ng : Hê thô ng la môṭ tâ p hơ p ca c ma y tińh gô m ca c tha nh phâ n phâ n cƣ ng, phâ n mê m va dƣ liêụ la m viê c đƣơ c tićh luy qua thơ i gian. Ta i sa n cu a hê thô ng bao gô m: Phâ n cƣ ng Phâ n mê m Dƣ liêụ Ca c truyền thông giữa ca c ma y ti nh cu a hê thô ng Môi trƣơ ng la m viê c Con ngƣơ i 3. Các mô i đe doa đô i vơ i mô t hê thô ng va các biê n pháp ngăn chă n Co 3 hi nh thư c chu yê u đe do a đô i vơ i hê thô ng: 2

12 Chƣơng I: Giơ i thiêụ Pha hoa i: ke thù pha hỏng thiê t bi phâ n cư ng hoặc phâ n mềm hoa t đô ng trên hê thô ng. Sƣ a đô i: Ta i sa n cu a hê thô ng bi sửa đô i tra i phe p. Điê u na y thƣơ ng la m cho hê thô ng không la m đu ng chƣ c năng cu a no. Chă ng haṇ nhƣ thay đô i mâṭ khâ u, quyê n ngƣơ i du ng trong hê thô ng la m ho không thê truy câ p va o hê thô ng đê la m viê c. Can thiê p : Ta i sa n bi truy câ p bởi những ngƣơ i không có thâ m quyền. Ca c truyê n thông thƣ c hiêṇ trên hê thô ng bi ngăn chăṇ, sƣ a đô i. Ca c đe do a đô i vơ i mô t hê thô ng thông tin có thê đê n tư nhiều nguô n va đƣơ c thư c hiêṇ bơ i ca c đô i tƣơ ng kha c nhau. Chúng ta có thê chia tha nh 3 loa i đô i tƣơ ng nhƣ sau : ca c đô i tƣơ ng tư ngay bên trong hê thô ng (insider), đây la nhƣ ng ngƣơ i co quyê n truy câ p hơ p pha p đô i vơ i hê thô ng, nhƣ ng đô i tƣơ ng bên ngoa i hê thô ng (hacker, cracker), thƣơ ng ca c đô i tƣơ ng na y tâ n công qua nhƣ ng đƣơ ng kê t nô i vơ i hê thô ng nhƣ Internet chă ng haṇ, va thƣ ba la ca c phâ n mê m (chă ng haṇ nhƣ spyware, adware ) cha y trên hê thô ng. Các biê n pháp ngăn chă n: Thƣơ ng co 3 biêṇ pha p ngăn chăṇ: Điê u khiê n thông qua phâ n mê m : dƣ a va o ca c cơ chê an toa n ba o mâṭ cu a hê thô ng nê n (hê điê u ha nh), ca c thuâ t toa n mâ t ma ho c Điê u khiê n thông qua phâ n cƣ ng : ca c cơ chê ba o mâ t, ca c thuâ t toa n mâ t ma ho c đƣơ c cư ng hóa đê sử du ng Điê u khiê n thông qua ca c chińh sa ch cu a tô chƣ c : ban ha nh ca c qui điṇh cu a tô chƣ c nhă m đa m ba o tińh an toa n ba o mâṭ cu a hê thô ng. Trong môn ho c na y chu ng ta tâ p trung xem xe t ca c thuâṭ toa n mâṭ ma ho c nhƣ la môṭ phƣơng tiêṇ cơ ba n, chu yê u đê đa m ba o an toa n cho hê thô ng. 4. Mục tiêu va nguyên tă c chung cu a an toa n ba o mâṭ thông tin Ba mu c tiêu cu a an toa n ba o mâṭ thông tin: Ti nh bi mâ t: Ta i sa n cu a hê thô ng chỉ đƣơ c truy câ p bởi những ngƣơ i có thâ m quyê n. Ca c loa i truy câ p gô m có : đo c (reading), xem (viewing), in â n (printing), sƣ duṇg chƣơng triǹh, hoă c hiê u biê t vê sƣ tô n taị cu a môṭ đô i tƣơ ng trong tô chƣ c.ti nh bi mâ t có thê đƣơ c ba o vê nhơ viê c kiê m soa t truy câ p (theo nhiê u kiê u kha c nhau ) hoă c nhơ ca c thuâṭ toa n ma hóa dữ liê u. Kiê m soa t truy câ p chi co thê đƣơ c thƣ c hiêṇ vơ i ca c hê thô ng phâ n cƣ ng vâṭ ly. Còn đô i vơ i ca c dữ liê u công cô ng thì thƣơ ng phƣơng pha p hiê u qua la ca c phƣơng pha p cu a mâ t ma ho c. Ti nh toa n ve n dữ liêụ: ta i sa n cu a hê thô ng chỉ đƣơ c thay đô i bởi những ngƣơ i có thâ m quyền. quyê n. Ti nh să n dùng: ta i sa n luôn să n sa ng đƣơ c sử du ng bởi những ngƣơ i có thâ m Hai nguyên tă c cu a an toa n ba o mâṭ thông tin: 3

13 Chƣơng I: Giơ i thiêụ Viê c thâ m đi ṇh vê ba o mâṭ pha i la kho va câ n tińh tơ i tâ t ca ca c tiǹh huô ng, kha năng tấn công có thê đƣơ c thư c hiê n. Ta i sa n đƣơ c ba o vê cho tơ i khi hê t gi a tri sử du ng hoặc hê t y nghĩa bi mâ t. 5. Mâṭ ma ho c (cryptology) Mâṭ ma ho c bao gô m hai lĩnh vư c : ma hóa (cryptography) va tha m ma (cryptanalysis-codebreaking) trong đo : Ma hóa: nghiên cƣ u ca c thuâṭ toa n va phƣơng thƣ c đê đa m ba o tińh bi mâṭ va xa c thư c cu a thông tin (thƣơ ng la dƣơ i daṇg ca c văn ba n lƣu trƣ trên ma y tińh ). Ca c sa n phâ m cu a li nh vƣ c na y la ca c hê ma mâṭ, ca c ha m băm, ca c hê chữ ky điê n tử, ca c cơ chê phân phô i, qua n ly khóa va ca c giao thư c mâ t ma. Tha m ma : Nghiên cƣ u ca c phƣơng pha p pha ma hoặc ta o ma gia. Sa n phâ m cu a lĩnh vư c na y la ca c phƣơng pha p tha m ma, ca c phƣơng pha p gia ma o chữ ky, ca c phƣơng pha p tâ n công ca c ha m băm va ca c giao thƣ c mâṭ ma. Trong giơ i haṇ cu a môn ho c na y chu ng ta chu yê u tâ p trung va o ti m hiê u ca c vâ n đê ma hóa vơ i ca c hê ma mâ t, ca c ha m băm, ca c hê chữ ky điê n tử, ca c giao thư c mâ t ma. Ma ho a (cryptography) là một ngành khoa học của các phương pháp truyền tin bảo mật. Trong tiếng Hy Lạp, Crypto (krypte) co nghĩa là che dấu hay đảo lộn, còn Graphy (grafik) co nghĩa là từ. [3] Ngƣơ i ta quan niê m ră ng : những tư, những ky tư cu a ba n văn ba n gô c có thê hiê u đƣơ c sẽ cấu tha nh nên ba n rõ (P-Plaintext), thƣơ ng thi đây la ca c đoaṇ văn ba n trong môṭ ngôn ngƣ na o đo ; còn những tư, những ky tư ở da ng bi mâ t không thê hiê u đƣơ c thì đƣơ c go i la ba n ma (C-Ciphertext). Có 2 phƣơng thư c ma hoa cơ ba n: thay thê va hoa n vi : Phƣơng thư c ma hoa thay thê la phƣơng thư c ma hoa ma tư ng ky tư gô c hay mô t nhóm ky tư gô c cu a ba n rõ đƣơ c thay thê bởi ca c tư, ca c ky hiê u kha c hay kê t hơ p vơ i nhau cho phù hơ p vơ i mô t phƣơng thư c nhất đi nh va khoa. Phƣơng thư c ma hoa hoa n vi la phƣơng thư c ma hoa ma ca c tư ma cu a ba n rõ đƣơ c să p xê p la i theo mô t phƣơng thư c nhất đi nh. Ca c hê ma mâṭ thƣơ ng sƣ duṇg kê t hơ p ca hai ky thuâṭ na y. 6. Khái niê m hê ma mâ t (CryptoSystem) Một hệ ma mật là bộ 5 (P, C, K, E, D) thoả ma n các điều kiện sau: 1) P là không gian bản rõ: là tập hữu hạn các bản rõ co thể co. 2) C là không gian bản ma : là tập hữu hạn các bản ma co thể co. 3) K là kkhông gian khoá: là tập hữu hạn các khoá co thể co. 4) Đối với mỗi k K, co một quy tắc ma hoá e k E và một quy tắc giải ma tương ứng d k D. Với mỗi e k : P C và d k : C P là những hàm mà d k (e k (x)) = x cho mọi bản rõ x P. Hàm giải ma d k chi nh là ánh xạ ngươ c của hàm ma ho a e k [5] 4

14 Chƣơng I: Giơ i thiêụ Thƣơ ng thi không gian ca c ba n ro va không gian ca c ba n ma la ca c văn ba n đƣơ c ta o tha nh tư mô t bô chữ ca i A na o đó. Đo co thê la bô chƣ ca i tiê ng Anh, bô ma ASCII, bô ma Unicode hoặc đơn gia n nhất la ca c bit 0 va 1. Ti nh chất 4 la ti nh chất quan tro ng nhất cu a ma hoa. Nô i dung cu a nó nói ră ng nê u ma hoa bă ng e k va ba n ma nhâ n đƣơ c sau đó đƣơ c gia i ma bă ng ha m d k thì kê t qua nhâ n đƣơ c pha i la ba n rõ ban đâ u x. Rõ ra ng trong trƣơ ng hơ p na y, ha m e k (x) pha i la mô t đơn a nh, nê u không thì ta sẽ không gia i ma đƣơ c. Vì nê u tô n ta i x 1 và x 2 sao cho y = e k (x 1 ) = e k (x 2 ) thì khi nhâ n đƣơ c ba n ma y ta không biê t nó đƣơ c ma tư x 1 hay x 2. Trong mô t hê mâ t bất ky ta luôn có C P vì mỗi quy tă c ma hoa la mô t đơn a nh. Khi C = P thì mỗi ha m ma hoa la mô t hoa n vi. 7. Mô hiǹh truyê n tin cơ ba n cu a mâṭ ma ho c va luâ t Kirchoff Mô hiǹh truyê n tin thông thƣơ ng : Trong mô hiǹh truyê n tin thông thƣơ ng thông tin đƣơ c truyê n (vâṇ chuyê n) tƣ ngƣơ i gƣ i đê n ngƣơ i nhâṇ đƣơ c thƣ c hiêṇ nhơ môṭ kênh vâṭ ly (chă ng haṇ nhƣ viê c gƣ i thƣ) đƣơ c coi la an toa n. Mô hình truyê n tin cơ ba n cu a mâṭ ma ho c: K 1 K 2 Sender X Encrypt Y Insecured Channel Y Decrypt X Receiver Enemy Hình 1.1: Mô hình cơ ba n cu a truyền tin ba o mâ t Đây la mô hình cơ ba n cu a truyền tin ba o mâ t. Kha c vơ i truyền tin thông thƣơ ng, có ca c yê u tô mơ i đƣơ c thêm va o nhƣ kha i niê m ke đi ch (E-Enemy), các khoá mã hoá và gia i ma K đê đa m ba o tińh ba o mâ t cu a thông tin câ n truyền đi. Trong mô hiǹh na y ngƣơ i gƣ i S (Sender) muô n gửi mô t thông điê p X (Message la môṭ ba n ro ) tơ i ngƣơ i nhâ n R (Receiver) qua mô t kênh truyền không an toa n (Insecured Channel), ke đi ch E (Enemy) có thê nghe trô m, hay sửa đô i thông tin X. Vì vâ y, S sử du ng phe p biê n đô i, tư c ma hoa (E-Encryption) lên thông tin X ở da ng đo c đƣơ c (Plaintext) đê ta o ra mô t đoa n văn ba n đƣơ c mã hoá Y (C-Ciphertext) không thê hiê u đƣơ c theo mô t quy luâ t thông thƣơ ng sƣ duṇg môṭ thông tin bi mâṭ đƣơ c go i la khoa K 1 (Key), khoá K 1 chi nh la thông sô điều khiê n cho phe p biê n đô i tư ba n ro X sang ba n mã Y (chỉ các bên tham gia truyền tin S va R mơ i có thê biê t kho a na y). Gia i ma (D-Decryption) là quá trình ngƣơ c la i cho phe p ngƣơ i nhâ n thu đƣơ c thông tin X ban đâ u tư đoa n ma hoa Y sƣ duṇg khóa gia i ma K 2 (chú y la khóa gia i ma va khóa ma hóa có thê kha c nhau hoă c la môṭ tùy thuô c va o hê ma sƣ duṇg). Ca c phe p biê n đô i đƣơ c sử du ng trong mô hình truyền tin trên thuô c về mô t hê ma mâṭ (Cryptosytem) na o đó. 5

15 Chƣơng I: Giơ i thiêụ Qua trình ma hóa va gia i ma yêu câ u ca c qua trình biê n đô i dữ liê u tư da ng nguyên thuy tha nh in put cho viê c ma ho a va chuyê n output cu a qua triǹh gia i ma tha nh ba n ro. Ca c qua trình na y la ca c qua trình biê n đô i không khóa va đƣơ c go i la ca c qua trình encode va decode. Theo luâṭ Kirchoff ( ) (mô t nguyên tă c cơ ba n trong mã hoá) thì: toàn bộ cơ chế ma /giải ma trừ khoá là không bi mật đối với kẻ địch [5]. Rõ ra ng khi đô i phƣơng không biê t đƣơ c hê ma mâ t đang sử du ng thuâṭ toa n ma ho a gi thì viê c tha m ma sẽ rất khó khăn. Nhƣng chúng ta không thê tin va o đô an toa n cu a hê ma mâ t chỉ dư a va o mô t gia thiê t không chă c chă n la đô i phƣơng không biê t thuâṭ toa n đang sử du ng. Vì vâ y, khi trình ba y mô t hê mâ t bất ky, chúng ta đều gia thiê t hê mâ t đó đƣơ c trình ba y dƣơ i luâṭ Kirchoff. Y nghi a cu a luâ t Kirchoff : sư an toa n cu a ca c hê ma mâ t không pha i dư a va o sư phƣ c ta p cu a thuâṭ toa n ma ho a sƣ duṇg. 8. Sơ lƣơ c vê li ch sƣ mâṭ ma ho c Mâṭ ma ho c la môṭ nga nh khoa ho c co môṭ li ch sƣ khoa ng 4000 năm. Ca c cô vâ t cu a nga nh kha o cô ho c thu đƣơ c đa cho thâ y điê u na y. Nhƣ ng ngƣơ i Ai câ p cô đaị đa sƣ du ng ca c chữ tƣơ ng hình nhƣ la mô t da ng ma hóa đơn gia n nhất trên ca c bia mô cu a ho. Ca c ta i liê u viê t tay kha c cu ng cho thấy ca c phƣơng pha p ma hóa đơn gia n đâ u tiên ma loa i ngƣơ i đa sử du ng la cu a ngƣơ i Ba Tƣ cô va ngƣơ i Do Tha i cô. Tuy vâỵ co thê chia li ch sƣ mâṭ ma ho c tha nh hai thơ i ky nhƣ sau: Thơ i ky tiê n khoa ho c : Tƣ trƣơ c công nguyên cho tơ i năm Trong giai đoaṇ na y mâ t ma ho c đƣơ c coi la mô t nghê thuâ t nhiều hơn la mô t môn khoa ho c mặc dù đa đƣơ c ƣ ng duṇg trong thƣ c tê. Li ch sử cu a mâ t ma ho c đƣơ c đa nh dấu va o năm 1949 khi Claude Shannon đƣa ra ly thuyê t thông tin. Sau thơ i ky na y môṭ loaṭ ca c nghiên cƣ u quan troṇg cu a ngha nh mâṭ ma ho c đa đƣơ c thư c hiê n chă ng ha n nhƣ ca c nghiên cư u về ma khô i, sƣ ra đơ i cu a ca c hê ma mâṭ kho a công khai va chƣ ky điêṇ tƣ. Qua nhiê u thê ky pha t triê n cu a mâṭ ma ho c chu yê u đƣơ c phu c vu cho ca c mu c đićh quân sƣ (gia n điê p, ngoa i giao, chiê n tranh ). Môṭ vi du điê n hiǹh la 2000 năm trƣơ c đây hoa ng đê La ma Julius Caesar đa tƣ ng sƣ duṇg môṭ thuâṭ toa n thay thê đơn gia n ma nga y nay đƣơ c mang tên ông trong cuô c chiê n tranh Gallic. Ta c phâ m A manuscript on Deciphering Cryptography Messages cu a Abu al -Kindi đƣơ c viê t va o thê ky thư 9 đƣơ c ti m thâ y taị Istabul va o năm 1987 đa cho thâ y nhƣ ng nha khoa ho c A râ p la nhƣ ng ngƣơ i đâ u tiên đa pha t triê n ca c phƣơng pha p tha m ma dƣ a va o phân tićh tâ n sô xuâ t hiêṇ cu a ca c ky tƣ đô i vơ i ca c hê ma thay thê đơn âm (môṭ phƣơng pha p đƣơ c sử du ng rô ng ra i trong thơ i ky Trung cô do đơn gia n va kha hiêụ qua ). Ơ châu Âu thơ i ky Trung cô la mô t khoa ng thơ i gian u a m va tăm tô i cu a li ch sử nên không co nhiê u pha t triê n maṇh vê văn ho a no i chung va mâṭ ma ho c no i riêng. Mô t va i sư kiê n đƣơ c ghi la i bởi ca c vi linh mu c nhƣng chỉ có Roger Bacon la ngƣơ i thư c sư đa viê t về mâ t ma ho c trong ta c phâ m Secret Work of Art and the Nullity of Magic va o giữa những năm Va o thơ i Trung cô mô t trong những ca i tên nô i tiê ng nhất la Chaucer, ngƣơ i đa đƣa ra ca c công trình nghiên cư u nghiêm túc đâ u tiên về mâ t ma ho c trong ca c 6

16 Chƣơng I: Giơ i thiêụ ta c phâ m cu a mình chă ng ha n nhƣ Treatise on the Astrolabe. Trong thơ i ky Trung cô ơ phƣơng Tây cuô n sa ch cu a Blaise De Vegenere (ngƣơ i pha t minh ra thuâṭ t oa n ma hóa thay thê đa âm tiê t ) đƣơ c xem nhƣ la môṭ tô ng kê t ca c kiê n thư c về mâ t ma ho c cho tơ i thơ i điê m bấy giơ, bao gô m ca thuâ t toa n thay thê đa âm tiê t va mô t va i sơ đô khóa tư đô ng. Blaise De Vegenere cu ng la ta c gia cu a hê ma mang t ên ông, hê ma na y đa tƣ ng đƣơ c xem la an toa n tuyêṭ đô i va đƣơ c sƣ duṇg trong môṭ thơ i gian da i, tuy nhiên Charles Babbages đa thư c hiê n tha m ma tha nh công va o năm 1854 nhƣng điều na y đƣơ c giữ bi mâ t. Môṭ thuâ t toa n tha m ma đƣơ c pha t hiê n đô c lâ p bởi mô t nha khoa ho c ngƣơ i Phô (thuô c nƣơ c Đƣ c nga y nay ) có tên là Friedrich Kasiski. Tuy vâỵ do viê c thiê u ca c thiê t bi ca i tiê n nên ca c biê n thê cu a thuâ t toa n ma hóa na y vâ n còn đƣơ c sử du ng trong những năm đâ u cu a thê ky 20 ma tiêu biê u nhất la viê c tha m ma tha nh công ma y điê n ti n Zimmermann cu a quân Đƣ c (môṭ trong ca c sƣ kiêṇ tiêu biê u cu a mâṭ ma ho c ) trong thê chiê n thư nhất va kê t qua la sư tham gia cu a My va o cuô c chiê n. Vơ i sƣ xuâ t hiêṇ cu a ca c hê thô ng ma y tińh ca nhân va ma ng ma y ti nh ca c thông tin văn ba n nga y ca ng đƣơ c lƣu trƣ va xƣ ly nhiê u hơn trên ca c ma y tińh do đo na y sinh yêu câ u vê an toa n ba o mâṭ đô i vơ i ca c thông tin đƣơ c lƣu trƣ, xƣ ly va truyê n giƣ a ca c ma y ti nh. Va o đâ u những năm 1970 la sư pha t triê n cu a ca c thuâ t toa n ma hóa khô i đâ u tiên : Lucipher và DES. DES sau đo đa co môṭ sƣ pha t triê n ƣ ng duṇg rƣ c rơ cho tơ i đâ u nhƣ ng năm 90. Va o cuô i những năm 1970 chư ng kiê n sư pha t triê n cu a ca c thuâ t toán mã hóa khóa công khai sau khi Whitfield Diffie va Martin Hellman công bô ba i ba o New Directions in Cryptography la m nền ta ng cho sư ra đơ i cu a ca c hê ma khóa công khai va ca c hê chƣ ky điêṇ tƣ. Do nhƣơ c điê m cu a ca c hê ma mâṭ kho a công khai la châṃ nên ca c hê ma khô i vâ n tiê p tu c đƣơ c pha t triê n vơ i ca c hê ma khô i mơ i ra đơ i đê thay thê cho DES va o cuô i thê ky 20 nhƣ IDEA, AES hoă c 3DES (môṭ ca i tiê n cu a DES). Gâ n đây nhâ t la ca c sư kiê n liên quan tơ i ca c ha m băm MD5 (môṭ ha m băm thuô c ho MD do Ron Rivest pha t triê n ) va SHA 1. Môṭ nho m ca c nha khoa ho c ngƣơ i Trung Quô c (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) đa pha t triê n ca c phƣơng pha p cho phe p pha t hiê n ra ca c đu ng đô cu a ca c ha m băm đƣơ c sử du ng rô ng ra i nhất trong sô ca c ha m băm na y. Đây la môṭ sƣ kiêṇ lơ n đô i vơ i nga nh mâṭ ma ho c do sƣ ƣ ng duṇg rôṇg ra i va có thê xem la còn quan tro ng hơn ba n thân ca c hê ma mâṭ cu a ca c ha m băm. Do sƣ kiêṇ na y ca c ha ng viê t phâ n mê m lơ n (nhƣ Microsoft) va ca c nha mâ t ma ho c đa khuyê n ca o ca c lâ p trình viên sử du ng ca c ha m băm ma nh hơn (nhƣ SHA-256, SHA-512) trong ca c ư ng du ng. Bruce Schneier (môṭ trong nhƣ ng nha mâṭ ma ho c ha ng đâ u, ta c gia cu a hê ma Blowfish) đa tƣ ng no i ră ng ca c hiǹh thƣ c tâ n công đô i vơ i ca c hê ma mâṭ no i riêng va tâ n công đô i vơ i ca c hê thô ng ma y tińh no i chung se nga y ca ng t rơ nên hoa n thiêṇ hơn Attacks always get better ; they never get worse. va li ch sƣ pha t triê n cu a mâṭ ma ho c chi nh la li ch sử pha t triê n cu a ca c hình thư c tấn công đô i vơ i ca c hê ma mâ t đang đƣơ c sƣ duṇg. 7

17 Chƣơng I: Giơ i thiêụ 9. Phân loaị ca c thuâṭ toa n mâṭ ma ho c Có nhiều ca ch kha c nhau đê chúng ta có thê phân loa i ca c thuâ t toa n mâ t ma ho c sẽ đƣơ c ho c trong chƣơng trình. Ơ đây chúng ta sẽ phân loa i ca c thuâ t toa n mâ t ma ho c dƣ a va o hai loaị tiêu chi. Tiêu chi thƣ nhâ t la dƣ a va o ca c di ch vu an toa n ba o mâṭ ma ca c thuâṭ toa n cung câ p, dƣ a va o sô lƣơ ng kho a sƣ duṇg (0, 1, 2) chúng ta có ca c thuâ t toa n ma hóa sau: 1. Ca c thuâ t toa n ma hóa khóa bi mâ t tƣơng ư ng vơ i ca c h ê ma mâ t khóa bi mâ t hay kho a đô i xƣ ng SKC (Symmetric Key Cryptosytems), do vai tro cu a ngƣơ i nhâṇ va ngƣơ i gƣ i la nhƣ nhau, ca hai đều có thê ma hóa va gia i ma thông điê p, nhƣ Caesar, DES, AES Kho a sƣ duṇg cho ca c thuâṭ toa n na y la 1 khóa cho ca viê c ma hóa va gia i ma. 2. Ca c thuâ t toa n ma hóa khóa công khai tƣơng ư ng vơ i ca c hê ma khóa công khai PKC (Public Key Cryptosystems). Đôi khi ca c hê ma na y còn đƣơ c go i la ca c hê ma khóa bất đô i xư ng (Asymmetric Key Cryptosytems). Khóa sử du ng cho ca c thuâ t toa n na y la 2 khóa, môṭ cho viê c ma ho a va môṭ cho viê c gia i ma, khóa ma hóa đƣơ c công khai hóa. 3. Ca c thuâ t toa n taọ chƣ ky điêṇ tƣ (Digital Signature Algorithms). Ca c thuâ t toa n ta o chữ ky điê n tử ta o tha nh ca c hê chữ ky điê n tử. Thông thƣơ ng mô i hê chƣ ky điêṇ tƣ co cu ng cơ sơ ly thuyê t vơ i môṭ hê ma mâṭ kho a công khai nhƣng vơ i ca ch a p du ng kha c nhau. Trong chƣơng triǹh ho c chu ng ta se ho c môṭ sô hê chƣ ky điêṇ tƣ phô biê n la RSA, ElGammma 4. Ca c ha m băm (Hash functions). Ca c ha m băm la ca c thuâ t toa n ma hóa không khóa hoặc có khóa va thƣơ ng đƣơ c sƣ duṇg trong ca c hê chƣ ky điêṇ tƣ hoă c ca c hê ma khóa công khai. Tiêu chi thƣ hai phân loaị ca c thuâṭ toa n ma ho a dƣ a trên ca ch thƣ c xƣ ly input cu a thuâṭ toa n (tƣ c la ba n ro ), dƣ a trên tiêu chi na y chu ng ta co hai loaị thuâṭ toa n ma ho a sau: 1. Ca c thuâ t toa n ma hóa khô i (chă ng haṇ nhƣ DES, AES ) xƣ ly ba n ro dƣơ i ca c đơn vi cơ ba n la ca c khô i có ki ch thƣơ c giô ng nhau. 2. Ca c thuâ t toa n ma hóa dòng (RC4 ) coi ba n ro la môṭ luô ng bit, byte liên tu c. 10. Môṭ sô ƣ ng duṇg cu a mâṭ ma ho c Nga y nay khó có thê tìm thấy ca c ư ng du ng trên ma y ti nh la i không sƣ duṇg tơ i ca c thuâṭ toa n va ca c giao thƣ c mâṭ ma ho c. Tƣ ca c ƣ ng duṇg cho ca c ma y tińh ca nhân (Desktop Applications ) cho tơ i ca c chƣơng triǹh hê thô ng nhƣ ca c hê điê u ha nh (Operating Systems) hoă c ca c ƣ ng duṇg maṇg nhƣ Yahoo Messenger hoă c ca c hê cơ sơ dƣ liêụ đê u co sƣ duṇg ca c thuâṭ toa n ma ho a mâṭ khâ u ngƣ ơ i dùng bă ng mô t hê ma hoă c môṭ ha m băm na o đo. Đặc biê t vơ i sư pha t triê n ma nh mẽ cu a thƣơng ma i điê n tử ca c mô hình chữ ky điê n tử nga y ca ng đóng vai trò ti ch cư c cho mô t môi trƣơ ng an toa n cho ngƣơ i du ng. Tuy vâỵ chúng ta vâ n có thê chia ca c lĩnh vư c ư ng du ng cu a mâ t ma ho c tha nh ca c lĩnh vư c nhỏ nhƣ sau: 8

18 Chƣơng I: Giơ i thiêụ Ba o mâ t (Confidentiality): che dâ u nôị dung cu a ca c thông điê p đƣơ c trao đô i trong môṭ phiên truyê n thông hoă c giao di ch hoă c ca c thông điê p trên môṭ hê thô ng ma y ti nh (ca c file, ca c dữ liê u trong mô t cơ sở dữ liê u ). dùng. Xa c thư c hóa (Authentication): đa m ba o nguô n gô c cu a môṭ thông điê p, ngƣơ i Toa n ve n (Integrity): đa m ba o chi co ca c tô chƣ c đa đƣơ c xa c thƣ c ho a mơ i co thê thay đô i ca c ta i sa n cu a hê thô ng cu ng nhƣ ca c thông tin trên đƣơ ng truyê n. Di ch vu không thê chô i tư (Non-Repudiation): Ca c bên đa đƣơ c xa c thư c không thê phu nhâ n viê c tham gia va o mô t giao di ch hơ p lê. Ngoa i ra còn ca c di ch vu quan tro ng kha c chă ng ha n nhƣ chữ ky điê n tử, di ch vu chư ng thư c danh ti nh (Identification) cho phe p thay thê hiǹh thƣ c xa c thƣ c ho a ngƣơ i dùng dƣ a trên ca c mâṭ khâ u bă ng ca c ky thuâṭ maṇh hơn hoă c di ch vu thƣơng maị điêṇ tƣ cho phe p tiê n ha nh ca c giao di ch an toa n trên ca c kênh truyê n thông không an toa n nhƣ Internet. 9

19 Chƣơng II: Cơ sơ toán ho c CHƢƠNG II: CƠ SƠ TOA N HO C Đê hiê u đƣơ c nhƣ ng thuâṭ toa n sƣ duṇg trong ca c hê ma mâṭ, trong ca c hê chƣ ky điêṇ tƣ cu ng nhƣ ca c giao thƣ c mâṭ ma, chúng ta pha i có những kiê n thư c nê n ta ng cơ ba n về toa n ho c, ly thuyê t thông tin đƣơ c sƣ duṇg trong mâṭ ma ho c. Chƣơng na y triǹh ba y nhƣ ng kha i niêṃ cơ ba n vê ly thuyê t thông tin nhƣ Entropy, tô c đô cu a ngôn ngƣ (Rate of Language), đô phƣ c ta p cu a thuâṭ toa n, đô an toa n cu a thuâṭ toa n, va mô t sô kiê n thƣ c toa n ho c: đô ng dƣ sô ho c (modulo), sô nguyên tô, điṇh ly phâ n dƣ trung hoa, điṇh ly Fermat... va ca c thuâ t toa n kiê m tra sô nguyên tô. Nhƣ ng vâ n đê chińh se đƣơ c trình ba y trong chƣơng na y gô m : Ly thuyê t thông tin Ly thuyê t đô phư c ta p Ly thuyê t sô ho c. 1. Ly thuyê t thông tin Nhƣ ng kha i niêṃ mơ đâ u cu a ly thuyê t thông tin đƣơ c đƣa ra lâ n đâ u tiên va o năm 1948 bơ i Claude Elmwood Shannon (môṭ nha khoa ho c đƣơ c coi la cha đê cu a ly thuyê t thông tin). Trong phâ n na y chu ng ta chi đê câ p tơ i môṭ sô chu đê quan troṇg cu a ly thuyê t thông tin Entropy Ly thuyê t thông tin đi nh nghĩa khô i lƣơ ng thông tin trong môṭ thông ba o la sô bi t nhỏ nhâ t câ n thiê t đê ma hoa tâ t ca nhƣ ng nghi a co thê cu a thông ba o đo. Vi du, trƣơ ng ngay_thang trong môṭ cơ sơ dƣ liêụ chƣ a không qua 3 bi t thông tin, bơ i vi thông tin nga y có thê ma hoa vơ i 3 bi t dữ liê u: 000 = Sunday 001 = Monday 010 = Tuesday 011 = Wednesday 100 = Thursday 101 = Friday 110 = Saturday 111 is unused Nê u thông tin na y đƣơ c biê u diê n bơ i chuô i ky tƣ ASCII tƣơng ƣ ng, nó sẽ chiê m nhiê u không gian nhơ hơn, nhƣng cu ng không chƣ a nhiê u thông tin hơn. Tƣơng tƣ nhƣ trƣơ ng gioi_tinh cu a môṭ cơ sơ dƣ liêụ chỉ chư a 1 bi t thông tin, nó có thê lƣu trữ nhƣ mô t trong hai xâu ky tƣ ASCII : Nam, Nƣ. Khô i lƣơ ng thông tin trong môṭ thông ba o M đo bơ i Entropy cu a thông ba o đo, ky hiêụ la H(M). Entropy cu a thông ba o gioi _tinh la 1 bi t, ky hiê u H (gioi_tinh) = 1, Entropy cu a thông ba o sô nga y trong tuâ n la nhỏ hơn 3 bits. 10

20 Chƣơng II: Cơ sơ toán ho c Trong trƣơ ng hơ p tô ng qua t, Entropy cu a mô t thông ba o la log 2 n, vơ i n la sô kha năng co thê (y nghĩa) cu a thông ba o Tô c đô cu a ngôn ngƣ. (Rate of Language) Đô i vơ i mô t ngôn ngữ, tô c đô thƣ c tê (actual rate) cu a ngôn ngữ la : r = H(M)/N trong trƣơ ng hơ p na y N la đô da i cu a thông ba o va M la mô t thông điê p có đô da i N. Tô c đô cu a tiê ng Anh biǹh thƣơ ng la 0.28 do đo mô i chƣ ca i tiê ng Anh co 1.3 bit nghĩa. Tô c đô tuyêṭ đô i (absolute rate) cu a môṭ ngôn ngƣ la sô bits lơ n nhâ t câ n thiê t đê ma hóa ca c ky tư cu a ngôn ngữ đó. Nê u co L ky tƣ t rong môṭ ngôn ngƣ, thì tô c đô tuyê t đô i la : R = log 2 L Đây la sô Entropy lơ n nhâ t cu a mô i ky tƣ đơn le. Đô i vơ i tiê ng Anh gô m 26 chƣ ca i, tô c đô tuyêṭ đô i la log 2 26 = 4.7bits/chƣ ca i. Sẽ không có điều gì la nga c nhiên đô i vơ i tâ t ca mo i ngƣơ i ră ng thư c tê tô c đô cu a tiê ng Anh nhỏ hơn nhiề u so vơ i tô c đô tuyêṭ đô i, va chúng ta vâ n thấy ră ng đô i vơ i mô t thông ba o bă ng tiê ng Anh có thê loa i bỏ mô t sô chƣ ca i nhƣng ngƣơ i đo c vâ n có thê hiê u đƣơ c. Hiêṇ tƣơ ng na y đƣơ c goị la đô dƣ thƣ a cu a ngôn ngƣ (Redundancy) tƣ nhiên. Không chi đô i vơ i tiê ng Anh ma vơ i hâ u hê t ca c ngôn ngƣ tƣ nhiên, do câ u tru c cu a ngôn ngƣ, do viê c sƣ duṇg ngôn ngƣ dâ n tơ i co m ô t sô chữ ca i đƣơ c sử du ng vơ i tâ n suâ t không đô ng đê u hoă c chi co thê xuâ t hiêṇ vơ i môṭ câ u tru c na o đo la m cho chu ng ta vâ n co thê đoa n đƣơ c nghi a cu a ca c thông ba o nê u loaị bo ca c chƣ ca i na y. Đô dƣ thư a (Redundancy) cu a mô t ngôn ngữ ky hiê u la D va D tiê ng Anh: D = =.72 letters/letter D = = 3.4 bits/letter H(M) = log 2 n Nhƣ vâỵ mô i chƣ ca i co 1.3 bit nghi a va 3.4 bit dƣ thƣ a (xâ p xi 72%) Ti nh an toa n cu a hê thô ng ma hoa = R r. Đô i vơ i Shannon điṇh nghi a râ t ro ra ng, tỉ mỉ ca c mô hình toa n ho c đê đa nh gia đô an toa n cu a ca c hê ma mâ t sử du ng. Mu c đi ch cu a ngƣơ i tha m ma la pha t hiê n ra khoa sƣ duṇg cu a hê ma (K-Key), ba n rõ (P-PlainText), hoă c ca hai. Hơn nƣ a ho co thê ha i lo ng vơ i môṭ va i thông tin co kha năng vê ba n ro P chă ng haṇ nhƣ đo la âm thanh da ng sô, hoă c la mô t văn ba n tiê ng Đƣ c, hoă c la môṭ ba ng ti nh dữ liê u, v. v... Trong hâ u hê t ca c lâ n tha m ma, ngƣơ i tha m ma thƣơ ng cô gă ng thu thâ p môṭ sô thông tin co kha năng vê ba n rõ P trƣơ c khi bă t đâ u. Ho có thê biê t ngôn ngữ đa đƣơ c sƣ du ng đê ma hoa. Ngôn ngƣ na y chă c chă n co sƣ dƣ thƣ a kê t hơ p vơ i chińh ngôn ngƣ đo. Nê u no la môṭ thông ba o gƣ i tơ i Bob, nó có thê bă t đâ u vơ i "Dear Bob". Đoaṇ văn ba n 11

21 Chƣơng II: Cơ sơ toán ho c "Dear Bob" sẽ la mô t kha năng có thê hơn la môṭ chuô i không mang y nghi a gi chă ng haṇ "tm*h&rf". Mu c đićh cu a viê c tha m ma la sƣ a nhƣ ng tâ p hơ p kha năng co thê co cu a ba n ma (C-CipherText) vơ i mô i kha năng co thê cu a ba n ro. Shannon pha t triê n ly thuyê t cho ră ng, hê thô ng ma hoa chi an toa n tuyêṭ đô i nê u nê u sô kho a có thê sƣ duṇg i t nhất pha i bă ng sô thông ba o co thê. Hiê u theo môṭ nghi a kha c, khoa tô i thiê u cu a hê ma pha i da i bă ng thông ba o cu a hê ma đo. Ngoa i trư ca c hê ma an toa n tuyêṭ đô i, ca c ba n ma thƣơ ng chƣ a môṭ sô thông tin đu ng vơ i ba n ro, điê u na y la không thê tra nh đƣơ c. Môṭ thuâṭ toa n mâṭ ma tô t giƣ cho thông tin bi tiê t lô ở mư c nhỏ nhất va môṭ ngƣơ i tha m ma gio i se khai tha c tô t nhƣ ng thông tin na y đê pha t hiêṇ ra ba n rõ. Ngƣơ i tha m ma sử du ng sư dƣ thư a tư nhiên cu a ngôn ngữ đê la m gia m sô kha năng co thê có cu a ba n rõ. Nhiê u thông tin dƣ thƣ a cu a ngôn ngƣ, sẽ dê da ng hơn cho qua trình tha m ma. Chi nh vì ly do na y ma nhiều mô hiǹh ma ho a sƣ duṇg thuâṭ toa n ne n ba n rõ đê gia m ki ch thƣơ c văn ba n trƣơ c khi ma hoa chúng. Vì qua trình ne n la m gia m sư dƣ thƣ a cu a thông ba o. Entropy cu a môṭ hê ma mâ t la ki ch thƣơ c cu a không gian khoa (Keyspace). H(K) = log 2 (number of keys ) Shannon cu ng đƣa ra môṭ kha i niêṃ goị la Unicity Distance (ky hiê u la U ) đê đa nh gia đô an toa n cu a mô t hê ma mâ t. Đô i vơ i mô t hê ma mâ t U cu a nó la : U = H(K)/D Đây la sô nho nhâ t ca c ba n ma câ n thiê t đê co thê tiê n ha nh tha m ma theo ca ch thƣ tâ t ca ca c kho a co thê (brute-force attack) tha nh công. Chă ng haṇ đô i vơ i hê ma thay thê đơn âm (nhƣ Caesar) trên ba ng chƣ ca i tiê ng Anh ta se co : H(K)= log 2 26! = 87. D = 3.4 suy ra U = Điê u na y co nghi a la nê u chu ng ta co khoa ng 25 chƣ ca i ba n ma chu ng ta chi co thê thƣ đê khơ p vơ i môṭ ba n ro. Kha i niê m Unicity Distance la mô t kha i niê m mang ti nh xa c suất nó cho chúng ta biê t sô lƣơ ng i t nhất ca c ba n ma câ n có đê có thê xa c đi nh duy nhất 1 ba n ma chư không pha i la sô ba n ma đu đê tiê n ha nh tha m ma (chă c chă n tha nh công ). Nê u chu ng ta co sô ba n ma i t hơn sô U thì không thê nói la dư đoa n (phe p thƣ ) cu a chúng ta la đúng. Dƣ a va o công thư c na y chúng ta thấy nê u nhƣ đô dƣ thư a cu a ngôn ngữ ca ng gâ n 0 thì ca ng khó tha m ma mặc dù đó có thê la mô t hê ma rất đơn gia n. Cu ng dư a va o công thư c na y suy ra đê tăng ti nh an toa n cu a hê ma co thê tăng không gian kho a cu a no Ky thuâ t lôṇ xôṇ va rƣơ m ra (Confusion and Diffusion) Theo Shannon, có hai ky thuâ t cơ ba n đê che dấu sư dƣ thư a thông tin trong thông ba o gô c, đo la : sƣ lôṇ xôṇ va sư rƣơ m ra. Ky thuâ t lô n xô n (Confusion): che dâ u mô i quan hê giƣ a ba n ro va ba n gô c. Ky thuâṭ na y la m thâ t baị ca c cô gă ng nghiên cƣ u ba n ma đê tìm kiê m thông tin dƣ thư a va thô ng kê mâ u. Phƣơng pha p dê nhâ t đê t hƣ c hiêṇ điê u na y la thông qua ky thuâ t thay thê. Môṭ hê ma hoa thay thê đơn gia n, chă ng haṇ hê ma di ch vo ng Caesar, dƣ a trên nê n 12

22 Chƣơng II: Cơ sơ toán ho c ta ng cu a sư thay thê các chƣ ca i cu a ba n rõ, nghĩa la chữ ca i na y đƣơ c thay thê bă ng chƣ ca i kha c Ky thuâ t rƣơ m ra (Diffusion): la m mất đi sư dƣ thư a cu a ba n rõ bă ng ca ch tăng sư phu ba n ma va o ba n rõ (va khóa). Công viê c ti m kiê m sƣ dƣ thƣ a cu a ngƣơ i tha m ma sẽ rất mất thơ i gian va phư c ta p. Ca ch đơn gia n nhất ta o ra sư rƣơ m ra la thông qua viê c đô i chô (hay co n goị la ky thuâ t hoán vi ). Thông thƣơ ng ca c hê ma hiêṇ đaị thƣơ ng kê t hơ p ca hai ky thuâṭ thay thê va hoa n vi đê ta o ra ca c thuâ t toa n ma hóa có đô an toa n cao hơn. 2. Ly thuyê t đô phư c ta p Ly thuyê t đô phư c ta p cung cấp mô t phƣơng pha p đê phân ti ch đô phư c ta p ti nh toa n cu a thuâ t toa n va ca c ky thuâ t ma hoa kha c nhau. Nó so sa nh ca c thuâ t toa n ma hoa, ky thuâ t va pha t hiê n ra đô an toa n cu a ca c thuâ t toa n đó. Ly thuyết thông tin đa cho chu ng ta biết ră ng một thuật toán ma hoá co thể bị bại lộ. Còn ly thuyết độ phư c ta p cho biê t kha năng bi tha m ma cu a môṭ hê ma mâṭ. Đô phư c ta p thơ i gian cu a thuâ t toa n la môṭ ha m cu a ki ch thƣơ c dữ liê u input cu a thuâṭ toa n đo. Thuâṭ toa n co đô phƣ c ta p thơ i gian f (n) đô i vơ i moị n va ki ch thƣơ c input n, nghĩa la sô bƣơ c thƣ c hiêṇ cu a thuâṭ toa n lơ n hơn f(n) bƣơ c. Đô phư c ta p thơ i gian thu â t toa n phu thuô c va o mô hình cu a ca c thuâ t toa n, sô ca c bƣơ c nho hơn nê u ca c hoaṭ đôṇg đƣơ c tâ p trung trong môṭ bƣơ c (chă ng haṇ nhƣ ca c vòng lặp, ca c lơ i go i ha m ). Ca c lơ p cu a thuâ t toa n, vơ i đô phƣ c ta p thơ i gian la mô t ha m mu đô i vơ i kićh thƣơ c input đƣơ c coi la "không co kha năng thƣ c hiêṇ ". Ca c thuâ t toa n có đô phư c ta p giô ng nhau đƣơ c phân loaị va o trong ca c lơ p tƣơng đƣơng. Vi du tất ca ca c thuâ t toa n có đô phƣ c ta p la n 3 đƣơ c phân va o trong lơ p n 3 va ky hiê u bởi O(n 3 ). Có hai lơ p tô ng qua t sẽ đƣơ c la lơ p P (Polynomial) va lơ p NP (NonPolynomial). Ca c thuâ t toa n thuô c lơ p P có đô phư c ta p la ha m đa thư c cu a ki ch thƣơ c input. Nê u mô i bƣơ c tiê p theo cu a thuâṭ toa n la duy nhâ t thi thuâṭ toa n goị la đơn điṇh. Tâ t ca thuâṭ toa n thuô c lơ p P đơn điṇh co thơ i gian giơ i haṇ la P _time, điê u na y cho biê t chu ng sẽ thư c hiê n trong thơ i gian đa thư c, tƣơng đƣơng vơ i đô phƣ c ta p đa thƣ c cu a ki ch thƣơ c input. Thuâṭ toa n ma ở bƣơ c tiê p theo viê c ti nh toa n pha i lư a cho n gia i pha p tư những giơ i haṇ gia tri cu a hoaṭ đôṇg goị la không đơn điṇh. Ly thuyê t đô phư c ta p sử du ng ca c ma y đặc biê t mô ta đặc điê m bă ng ca ch đƣa ra kê t luâ n bởi ca c chuâ n. Máy Turing la môṭ ma y đă c biêṭ, ma y hoa t đô ng trong thơ i gian rơ i ra c, ta i mô t thơ i điê m nó nă m trong khoa ng tra ng tha i đâ y đu sô cu a tất ca ca c tra ng tha i có thê la hữu ha n. Chúng ta có thê điṇh nghi a ha m đô phƣ c ta p thơ i gian kê t hơ p vơ i ma y Turing A. f A (n) = max{m/a kê t thu c sau m bƣơ c vơ i đâ u va o w = n 3 } Ơ đây c húng ta gia sử ră ng A la tra ng tha i kê t thúc đô i vơ i tất ca ca c đâ u va o, vâ n đề sẽ trở nên khó khăn hơn nê u ca c tra ng tha i không nă m trong P. Ma y Turing k hông đơn điṇh hoaṭ đôṇg vơ i thuâṭ toa n NP. Ma y Turing không đơn đi nh có thê có mô t va i tra ng 13

23 Chƣơng II: Cơ sơ toán ho c tha i chi nh xa c. S(w) la tra ng tha i đo sư tha nh công ngă n nhất cu a thuâ t toa n, (Nghĩa la sư ti nh toa n dâ n đê n tra ng tha i cuô i cùng) Ha m sô đô phư c ta p thơ i gian cu a ma y Turing không đơn đi nh A đƣơ c đi nh nghĩa : f A (n)=max{1,m/s(w) co m bƣơ c đô i vơ i w/w=n} ở mỗi bƣơ c ma y Turing không đơn đi nh bô tri nhiều ba n sao cu a môṭ va i gia i pha p va tińh toa n đô c lâ p vơ i moị lơ i gia i. chi nh nó nhƣ có Ca c thuâ t toa n thuô c lơ p NP la không đơn đi nh va có thê ti nh toa n trên ma y Turing không đơn điṇh trong thơ i gian P. Tuy nhiên không pha i thuâṭ toa n ma hóa ca ng có đô phư c ta p lơ n thì hê ma mâ t sử du ng thuâ t toa n đó sẽ ca ng an toa n theo nhƣ pha t biê u cu a luâṭ Kierchoff. Vâỵ co thê đa nh gia đô an toa n cu a môṭ hê ma mâṭ nhƣ thê na o? Vâ n đê na y đa đƣơ c Claude Shannon tra lơ i vơ i ca c kha i niêṃ vê đô an toa n cu a ca c hê ma mâṭ trong môṭ ba i ba o có tiêu đề Ly thuyê t thông tin cu a ca c hê thô ng ba o mâ t (1949) Đô an toa n ti nh toán Đi nh nghi a: Một hệ mật đươ c gọi là an toàn về mặt ti nh toán nếu co một thuật toán tốt nhất để phá no thì cần i t nhất N phép toán, với N là một số rất lớn nào đo. [10] Tuy nhiên trong thư c tê, không có mô t hê mâ t na o chư ng tỏ la an toa n theo đi nh nghĩa trên. Vì vâ y, trên thư c tê, ngƣơ i ta go i hê mâ t la an toa n ti nh toa n nê u có mô t thuâ t toa n đê pha nó nhƣng đòi hỏi thơ i gian lơ n đê n mư c không chấp nhâ n đƣơ c (thuâṭ toa n có đô phư c ta p ha m mu hoặc thuô c lơ p ca c ba i toa n có đô phư c ta p NP). Mô t ca ch tiê p câ n kha c về đô an toa n ti nh toa n la quy nó về mô t ba i toa n đa đƣơ c nghiên cư u ky va đƣơ c coi la khó. Vi du nhƣ ba i toa n phân ti ch ra thư a sô nguyên tô cu a mô t sô n cho trƣơ c đƣơ c coi la ba i toa n khó vơ i n lơ n, vì vâ y ta có thê coi mô t hê mâ t dư a trên ba i toa n phân ti ch ra thư a sô nguyên tô la an toa n (tất nhiên đây chỉ la đô an toa n dư a va o chư ng minh mô t ba i toa n kha c chư không pha i chư ng minh hoa n chỉnh về đô an toa n cu a hê mâ t) Đô an toa n không điều kiê n Đi nh nghi a 1: Một hệ mật đươ c coi là an toàn không điều kiện khi no không thể bị phá ngay cả với khả năng ti nh toán không hạn chế. [10] Rõ ra ng la đô an toa n không điều kiê n không thê nghiên cư u theo quan điê m đô phư c ta p ti nh toa n vì thơ i gian ti nh toa n la không ha n chê. Vì vâ y, ở đây ly thuyê t xa c suất sẽ đƣơ c đề câ p đê nghiên cư u về an toa n không điều kiê n. Đi nh nghi a 2: Gia sử biê n X va Y la ca c biê n ngâ u nhiên. Ky hiê u xa c suất đê X nhâ n gia tri x la p(x) va đê Y nhâ n gia tri y la p(y). Xa c suất đô ng thơ i p(x, y) la xa c suất đê đô ng thơ i X nhâ n gia tri x va Y nhâ n gia tri y. Xa c suất có điều kiê n p(x/y) la xa c suất đê X nhâ n gia tri 14

24 Chƣơng II: Cơ sơ toán ho c x vơ i điều kiê n Y nhâ n gia tri y. Ca c biê n X va Y đƣơ c go i la đô c lâ p nê u p(x, y) = p(x)p(y) vơ i mo i gia tri có thê có cu a X va Y. Đi nh ly Bayes: Nếu p(y) 0 thì ta co : Hê quả: p( x / y) p( x) p( y / x) py ( ) X, Y là biến độc lập khi và chỉ khi p(x/y) = p(x) với mọi x, y. [5] Ơ đây, ta gia thiê t ră ng mô t khoa cu thê chỉ đƣơ c dùng cho mô t ba n ma. Ky hiê u xa c suất tiên nghiê m đê ba n rõ xuất hiê n la p p (x). Cu ng gia thiê t ră ng khoa K đƣơ c cho n theo mô t phân bô xa c suất na o đó (thông thƣơ ng khoa K đƣơ c cho n ngâ u nhiên nên ca c khoa sẽ đô ng kha năng). Ky hiê u xa c suất khoa K đƣơ c cho n la p k (K). Gia thiê t ră ng khoa K va ba n rõ x la ca c biê n đô c lâ p. Hai phân bô xa c suất trên P và K sẽ ta o ra mô t phân bô xa c suất trên C. Ky hiê u C(K) la tâ p ca c ba n ma có thê nê u K là khoá. Khi đó vơ i mỗi yc, ta có: C (K) = { e K (x): xp } pc( y) pk ( K). pp( dk ( y)) K, yc ( K ) Va xa c suất có điều kiê n p C (y/x) la xa c suất đê y la ba n ma vơ i điều kiê n ba n rõ la x đƣơ c ti nh theo công thư c sau: p C ( y / x) K, xd K p K ( y) ( K) Bây giơ ta có thê ti nh xa c suất có điều kiê n p P (x/y) la xa c suất đê x la ba n rõ khi ba n ma la y theo đi nh ly Bayes: p ( x / y) P pp( x) pk( K) pp( x) pc( y / x) K, xdk ( y) p ( y) p ( K) p ( d ( y)) C K P K K, yc ( K ) Lúc na y, ta có thê đi nh nghĩa kha i niê m về đô mâ t hoa n thiê n. Nói mô t ca ch không hình thư c, đô mâ t hoa n thiê n nghĩa la đô i phƣơng vơ i ba n ma trong tay cu ng không thê thu nhâ n đƣơ c thông tin gì về ba n rõ. Tuy nhiên ta sẽ nêu đi nh nghĩa chi nh xa c về đô mâ t hoàn thiê n nhƣ sau: Đi nh nghi a: Một hệ mật hoàn thiện nếu p P (x/y) = p P (x) với mọi xp và mọi yc. Tức là xác suất hậu nghiệm để thu đươ c bản rõ là x với điều kiện đa thu đươ c bản ma là y đồng nhất với xác suất tiên nghiệm để bản rõ là x. [5] 15

25 Chƣơng II: Cơ sơ toán ho c Hay nói ca ch kha c, đô mâ t hoa n thiê n cu ng tƣơng đƣơng vơ i p C (y/x)= p C (y)). Đi nh ly Shannon: Giả sử (P, C, K, E, D) là một hệ mật, khi đo hệ mật đạt đươ c độ mật hoàn thiện khi và chỉ khi K C. Trong trường hơ p K = C = P, hệ mật đạt độ mật hoàn thiện khi và chỉ khi mỗi khoá K đươ c dùng với xác suất bă ng nhau, bă ng 1/ K và với mỗi xp, mỗi y C co một khoá K duy nhất sao cho ek(x) = y. [5] Nhƣ vâ y ta thấy đê đa t đô hoa n thiê n đòi hỏi khoa pha i rất da i, do vâ y rất khó khăn trong viê c chuyê n giao khoa giữa hai bên truyền tin. Vì vâ y trong thư c tê, chúng ta không thê có an toa n không điều kiê n ma chúng ta chỉ câ n an toa n thư c tê, tư c la phu thuô c va o thông tin va thơ i gian câ n ba o mâ t bă ng ca ch sử du ng ca c hê mâ t kha c nhau vơ i đô ba o mâ t kha c nhau Hê mâ t ti ch Mô t y tƣởng kha c đƣơ c Shannon đƣa ra la y tƣởng ta o ra ca c hê mâ t mơ i dư a trên ca c hê mâ t cu bă ng ca ch ta o ti ch cu a chúng. Đây la mô t y tƣởng quan tro ng trong viê c thiê t kê ca c hê mâ t hiê n đa i nga y nay. Đê đơn gia n, ở đây chúng ta chỉ xe t ca c hê mâ t trong đó C = P, ca c hê mâ t loa i na y go i la tư đô ng cấu. Gia sử S1 = (P, C, K1, E1, D1) va S2 = (P, C, K2, E2, D2) la ca c hê mâ t tư đô ng cấu có cùng không gian ba n rõ va ba n ma. Khi đó hê mâ t ti ch đƣơ c đi nh nghĩa la hê mâ t S = (P, C, K1 K2,E,D). Khoa cu a hê mâ t ti ch K = (K1, K2) trong đó K1 K1, K2 K2. Ca c ha m ma hoa va gia i ma đƣơ c xa c đi nh nhƣ sau: e( K, K x) ek ( ek ( x)) ( 1 2 ) 2 1 d( K, K x) d K ( ek ( x)) ( 1 2 ) 1 2 Nê u chúng ta lấy ti ch cu a S vơ i chi nh nó, ta có hê mâ t (S S) (ky hiê u S2). Nê u lấy ti ch n lâ n thì kê t qua la Sn. Ta go i Sn la mô t hê mâ t lặp. Nê u S2 = S thì ta go i hê mâ t la luy đă ng. Nê u S la luy đă ng thì không nên lấy ti ch lặp vì đô ba o mâ t không tăng lên ma không gian khoa la i lơ n hơn. Đƣơng nhiên nê u S không luy đă ng thì ta có thê lặp la i S nhiều lâ n đê tăng đô ba o mâ t. Ơ đây na y sinh mô t vấn đề la la m thê na o đê có mô t hê mâ t không luy đă ng? Ta biê t ră ng nê u S1 va S2 la luy đă ng va giao hoa n thì S1 S2 cu ng luy đă ng, đơn gia n vì: (S 1 S 2 ) (S 1 S 2 ) = S 1 (S 2 S 1 ) S 2 = S 1 (S 1 S 2 ) S 2 = (S 1 S 1 ) (S 2 S 2 ) = (S 1 S 2 ) Vâ y nê u muô n (S1 S2) không luy đă ng thì câ n pha i có S1 va S2 không giao hoa n. Điều na y có thê dê da ng thư c hiê n bă ng ca ch lấy ti ch cu a mô t hê mâ t theo kiê u thay thê va mô t hê mâ t theo kiê u hoa n vi. Đây la ky thuâ t đƣơ c dùng đê thiê t kê ca c hê ma hiê n đa i nhƣ ma DES. 16

26 Chƣơng II: Cơ sơ toán ho c 3. Ly thuyê t toán ho c 3.1. Modulo sô ho c Vê cơ ba n a b(mod n) nê u a = b+kn trong đo k la môṭ sô nguyên. Nê u a va b dƣơng va a nho hơn n, chúng ta có thê go i a la phâ n dƣ cu a b khi chia cho n. Nói chung a va b đều la phâ n dƣ khi chia cho n. Ngƣơ i ta co n go b la thăṇg dƣ cu a a theo modulo n, va a la đô ng dƣ cu a b theo modulo n. Modulo sô ho c cu ng giô ng nhƣ sô ho c biǹh thƣơ ng, bao gô m ca c phe p giao hoa n, kê t hơ p va phân phô i. Măṭ kha c gia m mô i gia tri trung gian trong suô t qua trình ti nh toa n. (a+b) mod n = ((a mod n) + (b mod n)) mod n (a- b) mod n = ((a mod n) - (b mod n)) mod n (ab) mod n = ((a mod n) (b mod n)) mod n (a(b + c)) mod n = (((a b) mod n) + ((a c) mod n)) mod n Ca c phe p ti nh trong ca c hê ma mâṭ hâ u hê t đê u thƣ c hiêṇ đô i vơ i môṭ modulo N na o đo Sô nguyên tô Sô nguyên tô la môṭ sô lơ n hơn 1, nhƣng chi chia hê t cho 1 va chi nh nó, ngoa i ra không co n sô na o no co thê chia hê t nƣ a. Sô 2 la mô t sô ng uyên tô đâ u tiên va la sô nguyên tô chă n duy nhâ t. Do vâỵ 7, 17, 53, 73, 2521, cu ng la sô nguyên tô. Sô lƣơ ng sô nguyên tô la vô tâṇ. Hê mâṭ ma thƣơ ng sƣ duṇg sô nguyên tô lơ n cơ 512 bits va thâṃ chi lơ n hơn nhƣ vâỵ Ƣơ c sô chung lơ n nhâ t Hai sô a va n đƣơ c goị la hai sô nguyên tô cùng nhau nê u chúng không có thư a sô chung na o kha c 1, hay no i môṭ ca ch kha c, nê u ƣơ c sô chung lơ n nhâ t cu a a va n la bă ng 1. Chúng ta có thê viê t nhƣ sau : GCD(a,n)=1, (GCD-Greatest Common Divisor) Sô 15 va 28 la hai sô nguyên tô cu ng nhau, nhƣng 15 va 27 thì không pha i la hai sô nguyên tô cùng nhau do co ƣơ c sô chung la 1 va 3, dê da ng thâ y 13 va 500 cu ng la mô t că p sô nguyên tô cùng nhau. Môṭ sô nguyên tô se la nguyên tô cu ng nhau vơ i tâ t ca ca c sô nguyên kha c trƣ ca c bôị sô cu a no. Môṭ ca ch dê nhâ t đê tińh toa n ra ƣơ c sô chung lơ n nhâ t cu a hai sô la nhơ va o thuâṭ toa n Euclid. Knuth mô ta thuâṭ toa n va môṭ va i mô hiǹh cu a thuâṭ toa n đa đƣơ c sƣ a đô i. Dƣơ i đây la đoaṇ ma nguô n trong ngôn ngƣ C: /* Thuâṭ toa n ti m ƣơ c sô chung lơ n nhâ t cu a x va y, gia sử x,y>0 */ int gcd(int x, int y) { int g; if(x<0) 17

27 Chƣơng II: Cơ sơ toán ho c if(y<0) g=y; x=-x; y= -y; while(x>0){ } return g; g=x; x=y%x; y=g; } 3.4. Va nh Z N (va nh đô ng dƣ module N) Tâ p ca c sô nguyên Z N = {0, 1,, N-1} trong đo N la môṭ sô tƣ nhiên dƣơng vơ i hai phe p toa n côṇg (+) va nhân (.) đƣơ c điṇh nghi a nhƣ sau taọ tha nh môṭ va nh đô ng dƣ modulo N (hay co n goị la tâ p thăṇg dƣ đâ y đu theo modulo N): Phe p cô ng: Phe p nhân: a, b Z N : a+b = (a+b) mod N. a, b Z N : a. b = (a * b) mod N. Theo tińh châ t cu a modulo sô ho c chu ng ta dê da ng nhâṇ thâ y Z N la mô t va nh giao hoa n va kê t hơ p. Hâ u hê t ca c tińh toa n trong ca c hê ma mâṭ đê u đƣơ c thƣ c hiêṇ trên môṭ va nh Z N na o đó. Trên va nh Z N sô 0 la phâ n tử trung hòa vì a + 0 = 0 + a = a, a Z N, sô 1 đƣơ c goị la phâ n tử đơn vi vì a. 1 = 1. a = a a Z N Phâ n tƣ nghi ch đa o Trên trƣơ ng sô thƣ c R, sô nghi ch đa o cu a 5 la 1/5, bơ i vi 5 1/5=1. Còn trên mô t va nh sô nguyên Z N ngƣơ i ta đƣa ra kha i niêṃ vê sô nghi ch đa o cu a môṭ sô nhƣ sau: Gia sử a Z N va tô n ta i b Z N sao cho a.b = (a*b) mod N = 1. Khi đo b đƣơ c goị la phâ n tƣ nghi ch đa o cu a a trên Z N va ky hiê u la a -1 = b. Viê c ti m phâ n tƣ nghi ch đa o cu a môṭ sô a Z N cho trƣơ c thƣ c châ t tƣơng đƣơng vơ i viê c ti m hai sô b va k sao cho: a.b = k.n + 1 trong đo b, k Z N. Hay viê t goṇ laị la : a -1 b (mod N ) Điṇh ly vê sƣ tô n taị cu a phâ n tƣ nghi ch đa o : Nê u GCD(a, N) = 1 thì tô n ta i duy nhâ t 1 sô b Z N la phâ n tử nghi ch đa o cu a a, nghĩa la thỏa ma n a.b = (a*b) mod N = 1. 18

28 Chƣơng II: Cơ sơ toán ho c 3.6. Ha m phi Ơle Vơ i mô i sô nguyên N, gia tri cu a ha m phi Ơle cu a N la tô ng sô tất ca ca c sô nguyên Z N va nguyên tô cùng nhau vơ i N. Chă ng haṇ nê u P la môṭ sô nguyên thi gia tri ha m phi Ơle cu a P: (P) = P 1 hoă c nê u N = p*q trong đo p va q la hai sô nguyên tô thi (N) = (p-1)*(q-1). Trong trƣơ ng hơ p tô ng qua t nê u daṇg phân ti ch ra thư a sô nguyên tô cu a N la : N p p p 1 2 k k trong đo p i la ca c sô nguyên tô còn i la ca c sô nguyên dƣơng thì gia tri cu a ha m phi Ơle đƣơ c tińh nhƣ sau: k ( N) ( p 1) p ( p 1) p...( p 1) p Liên quan tơ i kha i niêṃ vê ha m phi Ơle chúng ta có đi nh ly Ơle pha t biê u nhƣ sau: k k a Z * N = Z N {0} va GCD(a, N) = 1 ta co ( N ) a chi nh la gia tri nghi ch đa o cu a a trên Z N. a ( N ) 1(mod N). Có nghĩa la Môṭ trƣơ ng hơ p riêng cu a đi nh ly Ơle chi nh la đi nh ly Fermat nhỏ: Nê u P la môṭ sô nguyên tô thi a Z * P ta co cu a sô ho c. a P 1 1(mod P). Đây la môṭ trong nhƣ ng điṇh ly đe p nhâ t Vơ i mô i sô nguyên N va nh Z * N gô m ca c phâ n tƣ thuô c Z N va nguyên tô cùng nhau vơ i N, hay no i ca ch kha c: Z * N = {x: xz N, (x, N) = 1} = {x: xz N, ( N ) x 1}. Vơ i mô i phâ n tƣ a Z N, bâ c t cu a a (ky hiê u la ord (a)) la sô nhỏ nhất sao cho : a t = 1. Theo điṇh ly Ơle ta suy ra (N) chia hê t cho t. Cu thê vơ i N = 21 ta co ba ng sau: az * Ord(a) Ba ng 2.1: Ba ng bâ c cu a ca c phâ n tử trên Z * 21 Nê u bâ c cu a a Z * N bă ng (N) thì a đƣơ c go i la phâ n tử sinh hay phâ n tử nguyên thu y cu a tâ p Z * N. Va nê u tâ p Z * N chỉ có mô t phâ n tử sinh thì nó đƣơ c go i la mô t cyclic Thăṇg dƣ bâ c hai Gia sử a Z* N, khi đo a đƣơ c go i la thặng dƣ bâ c 2 theo modulo N nê u tô n taị x Z* N sao cho x 2 = a (mod N). Tâ p ca c phâ n tƣ thăṇg dƣ theo modulo N đƣơ c ky hiêụ la Q N, tâ p ca c phâ n tƣ không thăṇg dƣ theo modulo N đƣơ c go i la bất thặng dƣ theo modulo N va ky hiê u la Q N. 19

29 Chƣơng II: Cơ sơ toán ho c Điṇh ly : nê u p la môṭ sô nguyên tô le va la mô t phâ n tử sinh cu a Z * N, khi đo a la môṭ thăṇg dƣ bâ c 2 theo modulo N khi va chi khi a = i mod p, trong đo i la sô nguyên le. Tƣ điṇh ly na y suy ra Q ( p 1) / 2 QN. N Vi du vơ i p = 13, = 6 Z 13 ta co ba ng sau: i i mod Ba ng 2.2: Ba ng lu y thư a trên Z 13 Do đo Q 13 = {1, 3, 4, 9, 10, 12} va Q 13 = {2, 5, 6, 7, 8, 11}. Vơ i a Q N. Nê u x Z* N thỏa ma n x 2 = a (mod N) thì a đƣơ c go i la căn bâ c hai cu a x theo modulo N Thuâṭ toa n lu y thƣ a nhanh Đê có thê tìm phâ n tử nghi ch đa o cu a mô t sô nguyên a trên mô t va nh Z N cho trƣơ c chúng ta có thê sử du ng đi nh ly Ơle đê ti nh gia tri lu y thư a cu a a vơ i sô mu la gia tri ha m phi Ơle cu a N. Tuy nhiên đê co thê nhanh cho ng t i nh đƣơ c gia tri lu y thư a na y chúng ta câ n co môṭ thuâṭ toa n hiêụ qua va môṭ trong ca c thuâṭ toa n đo (còn nhiều thuâ t toa n kha c phƣ c ta p hơn ) la thuâ t toa n lu y thư a nhanh. Thuâṭ toa n na y do Chivers đƣa ra va o năm Ca c bƣơ c cu a thuâ t toa n nhƣ sau: Input: a, m, N. Output: a m mod N. Begin Phân tićh m tha nh daṇg nhi phân m = b k b k-1 b 0. j = 0, kq = a; while (k>=j) { } return kq; end if (b j ==1) kq = (kq * a) mod N; a = (a * a) mod N; j = j + 1; Môṭ ca i đăṭ kha c bă ng ngôn ngƣ C nhƣ sau: long modexp(long a, long x, long n) { 20

30 Chƣơng II: Cơ sơ toán ho c } long r = 1; while (x > 0){ } return r; if (x % 2 == 1) /* is x odd? */ a = (a*a) % n; x /= 2; r = (r * a) % n; Thuâṭ toa n na y chaỵ không qua log 2 (m+1) bƣơ c Thuâṭ toa n Ơclit mơ rôṇg Trong phâ n 3.3 chúng ta đa biê t thuâ t toa n Ơclit đƣơ c dùng đê tìm ƣơ c sô chung lơ n nhâ t cu a ha i sô nguyên va trong phâ n 3.7 chúng ta đa biê t ca ch tìm mô t phâ n tử nghi ch đa o cu a mô t sô bă ng ca ch sƣ duṇg thuâṭ toa n lu y thƣ a nhanh tuy nhiên vâ n co môṭ thuâṭ toa n hiêụ qu a kha c đê tìm phâ n tử nghi ch đa o go i la thuâ t tóan Ơclit mở rô ng (do dƣ a trên thuâṭ toa n Ơclit). Ca c bƣơ c cu a thuâ t toa n nhƣ sau: input: a, N vơ i GCD(a, N) = 1 output: a -1 begin g 0 =n, g 1 = a, u 0 = 1, u 1 = 0, v 0 = 0, v 1 = 1, i = 1; while (g i <>0 ) { } x = v i-1 ; if(x>0) then else end; y = g i-1 div g i ; g i+1 = g i-1 y*g i ; u i+1 = u i-1 y*u i ; v i+1 = v i-1 v*u i ; i = i + 1; return x; return (N+x); 21

31 Chƣơng II: Cơ sơ toán ho c Phƣơng triǹh đô ng dƣ bâ c nhâ t 1 â n Phƣơng triǹh đô ng dƣ bâ c nhâ t 1 â n la phƣơng trình có da ng: ax b (mod N) trong đo a, b Z N la ca c hê sô còn x la â n sô. Nê u nhƣ GCD(a, N) = 1 chúng ta có thê tìm a -1 sau đo nhân va o 2 vê cu a phƣơng trình va tìm ra nghiê m mô t ca ch dê da ng tuy nhiên nê u g = GCD(a, N) la mô t gia tri kha c 1 thì sao? Khi đo ba i toa n co thê vô nghiêṃ hoă c co nhiê u nghiêṃ. Chúng ta xe t điṇh ly sau: â n: Gia sử g = GCD(a, N) va nê u b chia hê t cho g thì phƣơng trình đô ng dƣ bâ c nhất 1 ax b (mod N) sẽ có g nghiê m có da ng x ((b/g)x 0 + t(n/g)) (mod N) trong đo t = 0,, g-1, va x 0 la nghiê m cu a phƣơng trình (a/g)x 1 (mod N/g) Điṇh ly phâ n dƣ Trung Hoa. Điṇh ly phâ n dƣ Trung Hoa la m ô t đi nh ly quan tro ng cu a sô ho c đƣơ c ca c nha toa n ho c Trung Quô c kha m pha ra va o thê ky thư nhất. Điṇh ly pha t biê u nhƣ sau: Nê u d 1, d 2,, d k la ca c sô nguy ên đôi môṭ nguyên tô cu ng nhau va N = d 1 d 2 d k thì hê phƣơng trình đô ng dƣ: x x i (mod d i ), i=1, 2,, k sẽ có mô t nghiê m thuô c va o Z N. Nghiêṃ cu a hê co tińh theo công thƣ c sau: k x ( N / di) yixi (mod N) i1 trong đo y i la ca c nghiê m cu a ca c phƣơng trình đô ng dƣ (N/d i ) y i 1(mod d i ). Dƣơ i đây la đoaṇ ma điṇh ly phâ n dƣ trung hoa trong ngôn ngƣ C : int chinese_remainder(int r, int *m, int *u) { int i; int modulus; int n; modulus = 1; for ( i=0; i<r:++i ) modulus *=m[i]; n=0; for ( i=0; i<r:++i ) 22

32 Chƣơng II: Cơ sơ toán ho c } { } return n; n+=u[i]*modexp(modulus/m[i],totient(m[i]),m[i]); n%=modulus; 4. Các thuâṭ toa n kiê m tra sô nguyên tô. Ha m môṭ phiá (one-way functions) la mô t kha i niê m cơ ba n cu a ma hoa công khai. Viê c nhân hai sô nguyên tô la môṭ vi du vê ha m mô t phi a, nhân ca c sô nguyên tô lơ n đê taọ tha nh môṭ hơ p sô la dê, nhƣng công viê c ngƣơ c laị phân tićh môṭ sô nguyên lơ n tha nh daṇg thƣ a sô nguyên tô la i la mô t ba i toa n khó (chƣa co môṭ thuâṭ toa n tô t). Ca c thuâṭ toa n ma hoa khóa công khai đều câ n pha i sử du ng ca c sô nguyên tô. Có môṭ sô phƣơng pha p đê sinh ra sô nguyên tô va hâ u hê t chúng đều dư a trên ca c thuâ t toa n kiê m tra ti nh nguyên tô cu a mô t sô nguyên. Tuy nhiên co môṭ sô vâ n đê đƣơ c đăṭ ra đô i vơ i sô nguyên tô nhƣ sau Trong môṭ hê thô ng co thê đa m ba o hai ngƣơ i du ng se đƣơ c sƣ duṇg hai sô nguyên tô kha c nhau hay không? Câu tra lơ i la co thê vi co tơ i sô nguyên tô co đô da i 512 bits hoă c nho hơn. Kha năng hai ngƣơ i dùng sẽ lư a cho n cùng mô t sô nguyên tô la bao nhiêu. Vơ i sƣ lƣ a choṇ tƣ sô nguyên tô, điê u ky xa y ra vơ i xa c xuâ t nho hơn so vơ i sƣ tƣ bô c cha y cu a ma y ti nh. Ca c loa i thuâ t toa n kiê m tra sô nguyên tô đƣơ c chia la m hai loa i : thuâṭ toa n tâ t điṇh va thuâ t toa n xa c suất. Ca c thuâ t toa n tất đi nh cho chúng ta biê t chi nh xa c câu tr a lơ i mô t sô nguyên co pha i la môṭ sô nguyên tô hay không co n môṭ thuâṭ toa n xa c suất cho biê t xa c suất cu a mô t sô nguyên la mô t sô nguyên tô la bao nhiêu. Trong phâ n na y se triǹh ba y mô t sô thuâ t toa n kiê m tra sô nguyên tô phô biê n Môṭ sô ky hiêụ toa n ho c Ky hiê u Lagrăng (Legendre Symbol) Ky hiê u L(a,p) đƣơ c điṇh nghi a vơ i a la môṭ sô nguyên va p la môṭ sô nguyên tô lơ n hơn 2. Nó nhâ n ba gia tri 0, 1, -1 : L(a,p) = 0 nê u a chia hê t cho p. L(a,p) = 1 nê u a Q N (a la thăṇg dƣ bâ c 2 modulo p). L(a,p) = -1 nê u a Q N (a không la thăṇg dƣ bâ c 2 modulo p). Môṭ phƣơng pha p dê da ng đê tińh toa n ra L(a,p) la : L(a,p) = a (p-1)/2 mod p 23

33 Chƣơng II: Cơ sơ toán ho c Ky hiê u Jacobi (Jacobi Symbol) Ky hiê u Jacobi đƣơ c viê t la J (a,n), nó la sư kha i qua t hoa cu a ky hiê u Lagrăng, nó điṇh nghi a cho bâ t ky că p sô nguyên a va n na o. Ky hiê u Jacobi la mô t chư c năng trên tâ p hơ p sô thăṇg dƣ thâ p cu a ƣơ c sô n va co thê tińh toa n theo công thƣ c sau: Nê u n la sô nguyên tô, thì J(a,n) = 1 nê u a la thăṇg dƣ bâ c hai modulo n. Nê u n la sô nguyên tô, thì J(a,n) = -1 nê u a không la thăṇg dƣ bâ c hai modulo n. Nê u n khôn g pha i la sô nguyên tô thi Jacobi (a,n) sẽ đƣơ c ti nh theo công thư c sau: J(a,n)=J(h,p 1 ) J(h,p 2 )... J(h,p m ) vơ i p 1,p 2...,p m la ca c thư a sô lơ n nhất cu a n. Thuâṭ toa n na y tińh ra sô Jacobi tuâ n hoa n theo công thƣ c sau : 1. J(1,k) = 1 2. J(ab,k) = J(a,k) J(b,k) 3. J(2,k) =1 Nê u (k 2-1)/8 la chia hê t va J(2,k) = -1 trong ca c trƣơ ng hơ p kha c. 4. J(b,a) = J((b mod a),a) 5. Nê u GCD(a,b)=1 : a. J(a,b) J(b,a) = 1 nê u (a-1)(b-1)/4 la chia hê t. b. J(a,b) J(b,a) = -1 nê u (a-1)(b-1)/4 la còn dƣ. Sau đây la thuâṭ toa n trong ngôn ngƣ C : int jacobi(int a,int b) { int a1,a2; if(a>=b) a%=b; if(a==0) return 0; if(a==1) return 1; if(a==2) if(((b*b-1)/8)%2==0) return 1; else return -1; 24

34 Chƣơng II: Cơ sơ toán ho c } if(a&b&1) (ca a va b đều la sô dƣ) if(((a-1)*(b-1)/4)%2==0) else if(gcd(a,b)==1) return +jacobi(b,a); return -jacobi(b,a); if(((a-1)*(b-1)/4)%2==0) return +jacobi(b,a); else return -jacobi(b,a); return jacobi(a1,b) * jacobi(a2,b); Trên thƣ c tê co thê tińh đƣơ c ky hiêụ Jacobi môṭ ca ch thuâṇ lơ i hơn nê u dƣ a va o 1 trong ca c tińh châ t sau, gia sử m, n la ca c sô nguyên le, a, b Z: (i) J(a*b, n) = J(a, n) * J(b, n) do đo J(a 2, n) = 1. (ii) J(a, m*n) = J(a, m) * J(a, n). (iii) nê u a b (mod n) thì J(a, n) = J(b, n). (iv) J(1, n) = 1. (v) J(-1, n) = (-1) (n-1)/2 (vi) J(m, n) = J(n, m) * (-1) (m-1)*(n-1)/ Thuâṭ toa n Soloway-Strassen Soloway va Strassen đa pha t triê n thuâṭ toa n co thê kiê m tra sô nguyên tô toa n na y sử du ng ha m Jacobi. Thuâṭ toa n kiê m tra sô p la sô nguyên tô :. Thuâṭ 1. Cho n ngâ u nhiên mô t sô a nhỏ hơn p. 2. Nê u ƣơ c sô chung lơ n nhâ t gcd(a,p) 1 thì p la hơ p sô. 3. Ti nh j = a (p-1)/2 mod p. 4. Ti nh sô Jacobi J(a,p). 5. Nê u j J(a,p), thì p không pha i la sô nguyên tô. 6. Nê u j = J(a,p) thì nói p có thê la sô nguyên tô vơ i chă c chă n 50%. Lă p laị ca c bƣơ c na y n lâ n, mô i lâ n vơ i môṭ gia tri ngâ u nhiên kha c nhau cu a a. Phâ n dƣ cu a hơ p sô vơ i n phe p thƣ la không qua 2 n. Thƣ c tê khi thƣ c hiêṇ chƣơng triǹh, thuâṭ toa n chaỵ vơ i tô c đô kha nhanh. 25

35 Chƣơng II: Cơ sơ toán ho c 4.3. Thuâṭ toa n Rabin-Miller Thuâṭ toa n na y đƣơ c pha t triê n bơ i Rabin, dƣ a trên môṭ phâ n y tƣơ ng cu a Miller. Thƣ c tê nhƣ ng phiên ba n cu a thuâṭ toa n đa đƣơ c giơ i thiêụ taị NIST. (National Institute of Standards and Technology). Đâ u tiên la cho n ngâ u nhiên mô t sô p đê kiê m tra. Viê t p dƣơ i daṇg p = 1+2 b m trong đo m la môṭ sô le. Sau đây la thuâṭ toa n : 1. Cho n mô t sô ngâ u nhiên a, va gia sử a nhỏ hơn p. 2. Đặt j=0 va z=a m mod p. 3. Nê u z=1, hoă c z=p-1 thì p đa qua bƣơ c kiê m tra va có thê la sô nguyên tô. 4. Nê u j > 0 va z=1 thì p không pha i la sô nguyên tô. 5. Đặt j = j+1. Nê u j < b va z p-1 thì đặt z=z 2 mod p va trơ laị bƣơ c Nê u j = b va z p-1, thì p không pha i la sô nguyên tô Thuâṭ toa n Lehmann. Môṭ phƣơng pha p đơn gia n hơn kiê m tra sô nguyên tô đƣơ c pha t triê n đô c lâ p bơ i Lehmann. Sau đây la thuâṭ toa n vơ i sô bƣơ c lă p la Cho n ngâ u nhiên mô t sô n đê kiê m tra. 2. Chă c chă n ră ng n không chia hê t cho ca c sô nguyên tô nho nhƣ 2,3,5,7 va Cho n ngâ u nhiên 100 sô a 1, a 2,..., a 100 giƣ a 1 va n Ti nh a i (n-1)/2 (mod n) cho tâ t ca a i = a 1... a 100. Dƣ ng laị nê u baṇ ti m thâ y a i sao cho phe p kiê m tra la sai. 5. Ba i tâ p 5. Nê u a i (n-1)/2 = 1 (mod n) vơ i moị i, thì n có thê la hơ p sô. Nê u a i (n-1)/2 1 hoă c -1 (mod n) vơ i i bâ t ky, thì n la hơ p sô. Nê u a i (n-1)/2 = 1 hoă c -1 (mod n) vơ i moị i 1, thì n la sô nguyên tô. Ba i tâ p 2.1: hãy tính mod 29, hỏi câ n dùng i t nhất la bao nhiêu phe p nhân đê tìm ra kê t qua. Ba i tâ p 2.2: Tính mod 899. Sƣ duṇg môṭ trong ca c ngôn ngƣ lâ p triǹh C, C++, Java hoă c C# đê la m ca c ba i tâ p sau: Ba i tâ p 2.3: Viê t chƣơng triǹh ca i đăṭ thuâṭ toa n ti m phâ n tƣ nghi ch đa o. Ba i tâ p 2.4: Viê t chƣơng triǹh ca i đăṭ thuâṭ toa n lu y thƣ a nhanh. Ba i tâ p 2.5: Viê t chƣơng triǹh gia i hê phƣơng triǹh đô ng dƣ bâ c nhâ t hai â n. Ba i tâ p 2.6: Viê t chƣơng triǹh ca i đăṭ thuâṭ toa n kiê m tra sô nguyên tô vơ i input la môṭ sô nguyên nhỏ hơn

36 Chƣơng II: Cơ sơ toán ho c Ba i tâ p 2.7: Viê t chƣơng triǹh ca i đăṭ thƣ viêṇ sô nguyên lơ n vơ i ca c thao ta c tińh toa n cơ ba n: nhân, chia, côṇg trƣ, lâ y modulo. Ba i tâ p 2.8: Sƣ duṇg thƣ viêṇ sô lơ n (ở ba i tâ p 2.5 hoă c môṭ thƣ viêṇ ma nguô n mơ ) ca i đặt ca c thuâ t toa n kiê m tra sô nguyên tô đƣơ c trình ba y trong phâ n 4 cu a chƣơng 2. 27

37 Chƣơng III: Các hê ma kho a bi mâ t CHƢƠNG III: CA C HÊ MA KHO A BI MÂ T 1. Các hê ma cô điê n 1.1. Hê ma hoa thay thê (substitution cipher) Hê ma hoa thay thê la hê ma hoa trong đo mô i ky tƣ cu a ba n ro đƣơ c thay thê bă ng ky tư kha c trong ba n ma (có thê la mô t chữ ca i, môṭ sô hoă c môṭ ky hiêụ). Có 4 ky thuâ t thay thê sau đây: 1. Thay thê đơn (A simple substitution cipher): la hê trong đó mô t ky tư cu a ba n rõ đƣơ c thay bă ng môṭ ky tƣ tƣơng ƣ ng trong ba n ma. Môṭ a nh xa 1-1 tƣ ba n ro tơ i ba n ma đƣơ c sử du ng đê ma hoa toa n bô thông điê p. 2. Thay thê đô ng âm (A homophonic substitution cipher ): giô ng nhƣ hê thô ng ma hoa thay thê đơn, ngoa i trư mô t ky tư cu a ba n rõ có thê đƣơ c a nh xa tơ i mô t trong sô môṭ va i ky t ư cu a ba n ma : sơ đô a nh xa 1-n (one-to-many). Vi du, A có thê tƣơng ư ng vơ i 5, 13, 25, hoă c 56, B co thê tƣơng ƣ ng vơ i 7, 19, 31, hoă c 42, v.v. 3. Thay thê đa mâ u tƣ (A polyalphbetic substitution cipher): đƣơ c taọ nên tƣ nhiê u thuâṭ toa n ma hoa thay thê đơn. A nh xa 1-1 nhƣ trong trƣơ ng hơ p thay thê đơn, nhƣng co thê thay đô i trong phaṃ vi môṭ thông điê p. Vi du, có thê có năm thuâ t toa n ma hoa đơn kha c nhau đƣơ c sử du ng ; đă c biêṭ thuâṭ toa n ma hoa đơn đƣơ c sƣ duṇg thay đô i theo vi tri cu a mô i ky tƣ trong ba n ro. 4. Thay thê đa sơ đô (A polygram substitution cipher ): la thuâ t toa n trong đó ca c khô i ky tƣ đƣơ c ma hoa theo nho m. Đây la thuâṭ toa n tô ng qua t nhâ t, cho phe p thay thê ca c nho m ky tƣ cu a văn ba n gô c. Vi du, ABA co thê tƣơng ƣ ng vơ i RTQ, ABB co thê tƣơng ƣ ng vơ i SLL, v.v Hê ma Caesar Hê ma Caesar la mô t hê ma hoa thay thê đơn âm la m viê c trên ba ng chữ ca i tiê ng Anh 26 ky tư (A, B,..., Z). Đây la hê ma cô điê n va đơn gia n nhâ t đa tƣ ng đƣơ c du ng trong thƣ c tê bơ i hoa ng đê La ma Caesar nên đƣơ c đăṭ theo tên cu a vi hoa ng đê na y. Không gian ca c ba n ro P la ca c thông điê p đƣơ c ta o tƣ ba ng chƣ ca i A (đê tiê n trình ba y chúng ta xem đây la mô t ba ng chữ ca i tô ng qua t). Tƣơng tƣ không gian ca c ba n ma C P. Gia sử sô phâ n tử cu a ba ng chữ ca i A = N. Đê ma ho a ngƣơ i ta đa nh sô ca c chƣ ca i tƣ 0 tơ i N-1. Không gian kho a K = Z N. Vơ i mô i kho a K K ha m ma hóa va gia i ma mô t ky tư có sô thư tư la i sẽ đƣơ c thư c hiê n nhƣ sau: Ma hóa: E K (i) = (i + k) mod N. Gia i ma : D K (i) = (i k) mod N. Hê ma Caesar vơ i ba ng chƣ ca i tiê ng Anh se co N = 26 chƣ ca i, ba ng chữ ca i đƣơ c đa nh sô nhƣ sau: 28

38 Chƣơng III: Các hê ma kho a bi mâ t A B C D... L M N... W X Y Z Ba ng 3.1: Ba ng đa nh sô ca c chữ ca i tiê ng Anh Ca c phe p ti nh toa n sô ho c đƣơ c thƣ c hiêṇ trên va nh Z 26, sô kho a co thê sƣ duṇg la 26 nhƣng trên thƣ c tê chi co 25 khóa có i ch. Vi du : vơ i k=3 (trƣơ ng hơ p đa đƣơ c hoa ng đê Caesar sƣ duṇg), ky tư A đƣơ c thay bă ng D, B đƣơ c thay bă ng E,..., W đƣơ c thay bă ng Z,..., X đƣơ c thay bă ng A, Y đƣơ c thay bă ng B, va Z đƣơ c thay bă ng C. Ba ng chữ ca i gô c: 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 Ba ng chữ ca i dùng đê ma hoa : 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 Do đo chă ng haṇ xâu ANGLES se đƣơ c ma ho a tha nh DQJOHV. Hê ma Caesar sƣ duṇg phƣơng pha p thay thê đơn âm nên co hiêṇ tƣơ ng goị la phu thuô c tâ n suất xuất hiê n cu a ngôn ngữ tư nhiên. Trong ngôn ngƣ tƣ nhiên môṭ sô chƣ ca i xuất hiê n nhiều hơn so vơ i ca c chữ ca i kha c (chă ng haṇ trong tiê ng Anh ca c chƣ ca i xuâ t hiêṇ nhiê u la e, t, i, h ) nên ca c chƣ ca i du ng đê thay thê cho chu ng cu ng xuâ t hiêṇ nhiê u. Điê u na y co thê dâ n tơ i hê qua la ngƣơ i tha m ma có thê sử du ng phƣơng pha p thử thay thê ca c ky t ư xuâ t hiêṇ nhiê u trong ba n ma bă ng ca c ky tƣ xuâ t hiêṇ nhiê u trên ca c văn ba n thƣ c tê. Trên thƣ c tê hê ma Caesar co sô kho a i t nên hoa n toa n có thê tha m ma bă ng ca ch thƣ tâ t ca ca c kho a co thê (kiê u tâ n công Brute force) Hê ma Affine Không gian ca c ba n ro va ba n ma cu a hê ma la ca c xâu đƣơ c hiǹh tha nh tƣ môṭ ba ng chữ ca i A, gia sử A = N. Khi đo không gian kho a cu a hê ma đƣơ c xa c điṇh nhƣ sau: K = { (a, b): a, b Z N, (a, N) = 1} Đê ma ho a ngƣơ i ta đa nh sô ca c chƣ ca i cu a ba ng chƣ ca i tƣ ha nh ma hóa, gia i ma tư ng ky tư (thay thê ) theo ca c công thƣ c sau: 0 tơ i N 1 va tiê n Ma hóa: E K (x) = (a*x + b) mod N. Ky tư ba n rõ có sô thư tư la x sẽ đƣơ c chuyê n tha nh ky tư có sô thư tư la (a*x+b) mod N trong ba ng chƣ ca i. Đê gia i ma ta câ n ti m a -1 (do (a, N) = 1 nên luôn ti m đƣơ c) va tiê n ha nh công thư c gia i ma sau: 29

39 Chƣơng III: Các hê ma kho a bi mâ t D K (y) = a*(y - b) mod N. Ky tư ba n ma có sô thư tư la y sẽ đƣơ c thay thê bă ng ky tư có sô thư tư la a*(y - b) mod N trong ba ng chƣ ca i. Có thê thấy ră ng đô i vơ i mô t hê ma Affine thì sô khóa có thê sử du ng sẽ la : K = (N) * N. Vi du vơ i N = 26 tƣơng ƣ ng vơ i ba ng chƣ ca i tiê ng Anh chu ng ta se có (26) * 26 = 12 * 26 = 312 khóa. Con sô na y la tƣơng đô i nho Hê ma Vigenere Hê ma na y đƣơ c đặt theo tên cu a mô t nha mâ t ma Vigenère ( ). ho c ngƣơ i Pha p Blaise de Đô i vơ i hê ma na y không gian ca c ba n ma va ba n rõ cu ng la ca c thông điê p đƣơ c ta o tha nh tư mô t ba ng chữ ca i A nhƣ trong hê ma Caesar, ca c chữ ca i đƣơ c đanh sô tư 0 tơ i N-1 trong đo N la sô phâ n tƣ cu a ba ng chƣ ca i. Không gian kho a K đƣơ c xa c điṇh nhƣ sau: Vơ i mô i sô nguyên dƣơng M, khóa có đô da i M la mô t xâu ky tư có đô da i M, K = k 1 k 2 k M. Đê ma ho a môṭ ba n ro P ngƣơ i ta chia P tha nh ca c đoaṇ đô da i M va chuyê n tha nh sô thƣ tƣ tƣơng ƣ ng cu a chu ng trong ba ng chƣ ca i, chă ng haṇ X = x 1 x 2 x M. Khi đo viê c ma hóa va gia i ma đƣơ c thư c hiê n nhƣ sau: E K (X) = (x 1 + k 1, x 2 + k 2,, x M + k M ) mod N D K (Y) = (y 1 - k 1, y 2 - k 2,, y M - k M ) mod N vơ i N la sô phâ n tƣ cu a ba ng chƣ ca i va Y = y 1 y 2 y M la ba n ma. Vi du : xe t A la ba ng chữ ca i tiê ng Anh, ta co N = 26 gia sử khóa có đô da i 6 va K = CIPHER, ba n rõ P = THIS CRYPTOSYSTEM IS NOT SECURE. Ta co K = , P = Qua trình ma hóa thư c hiê n nhƣ sau: P = K = C = Vâỵ ba n ma la C = VPXZGI AXIVWO UBTTMJ PWIZIT WZT. Vê thƣ c châ t hê ma na y la kê t hơ p cu a nhiê u ma Caesar, trong hê ma Caesar chúng ta thay thê tư ng ky tư đơn le thì trong hê ma Vigenere na y thay thê tƣ ng bô M ky tƣ liên tiê p. Vơ i mô i M chu ng ta co sô kho a co thê sƣ duṇg la N M, cu thê la vơ i ba ng chữ ca i tiê ng Anh sẽ có 26 M khóa có thê sử du ng Hê ma Hill Hê ma hoa na y dƣ a trên ly thuyê t vê đaị sô tuyê n tińh do Lester S.Hill đƣa ra năm Ca không gian ba n rõ va ba n ma đều la ca i A nhƣ trong hê ma Vigenere. ca c xâu đƣơ c tha nh lâ p tư mô t ba ng chữ 30

40 Chƣơng III: Các hê ma kho a bi mâ t Vơ i mô i sô nguyên M kho a cu a hê ma la môṭ ma trâṇ K vuông kićh thƣơ c MxM gô m ca c phâ n tử la c a c sô nguyên thuô c Z N trong đo N la sô phâ n tƣ cu a ba ng chƣ ca i. Điê u kiêṇ đê ma trâṇ K co thê sƣ duṇg la m kho a cu a hê ma la K pha i la môṭ ma trâṇ không suy biê n trên Z N hay no i ca ch kha c la tô n taị ma trâṇ nghi ch đa o cu a ma trâṇ K trên Z N. Ca c ky tư cu a ba ng chữ ca i cu ng đƣơ c đa nh sô tư 0 tơ i N-1. Đê ma ho a môṭ ba n ro ngƣơ i ta cu ng chia ba n ro đo tha nh ca c xâu co đô da i M, chuyê n ca c xâu na y tha nh sô thư tư cu a ca c chữ ca i trong ba ng chữ ca i dƣơ i da ng mô t vectơ ha ng M chiê u va tiê n ha nh ma ho a, gia i ma theo công thư c sau: Ma hóa: C = P * K. Gia i ma : P = C * K -1. Vi du : cho hê ma Hill co M = 2 (khóa la ca c ma trâ n vuông cấp 2) va ba ng chữ ca i la ba ng chữ ca i tiê ng Anh, tƣ c la N = 26. Cho kho a K = Ha y ma hóa xâu P = HELP va gia i ma ngƣơ c laị ba n ma thu đƣơ c. Đê ma ho a chu ng ta chia xâu ba n rõ tha nh hai vecto ha ng 2 chiê u HE (7 4) va LP (11 15) va tiê n ha nh ma hóa lâ n lƣơ t. Vơ i P 1 = (7 4) ta co C 1 = P 1 * K = = 3 15 = D P Vơ i P 2 = (11 15) ta co C 2 = P 2 * K = = 11 4 = L E Vâỵ ba n ma thu đƣơ c la C = DPLE. Đê gia i ma ta tińh kho a gia i ma la ma trâṇ nghi ch đa o cu a ma trâ n khóa trên Z 26 theo công thƣ c sau: Vơ i K = k k k k va det(k) = (k 11 *k 22 k 21 *k 12 ) mod N la môṭ phâ n tƣ co phâ n tƣ nghi ch đa o trên Z N (ky hiê u la det(k) -1 ) thì khóa gia i ma sẽ la K -1 = det(k) -1 * k -k -k k

41 Chƣơng III: Các hê ma kho a bi mâ t A p du ng va o trƣơ ng hơ p trên ta có det(k) = (15-6) mod 26 = 9. GCD(9, 26) =1 nên a p du ng thuâ t toa n Ơclit mở rô ng tìm đƣơ c det (K) -1 = 3. Vâỵ K -1 = 3 * = 24 3 Qua trình gia i ma tiê n ha nh giô ng nhƣ qua trình ma hóa vơ i khóa ma hóa thay bă ng khóa gia i ma. Gia i ma C = DP = ( 3 15 ), P = C * K -1 = (3 15) * = 3 15 = HE. Tƣơng tư gia i ma xâu C = LE kê t qua sẽ đƣơ c ba n rõ P = LP. Chú y la trong vi du trên chúng ta sử du ng khóa K có ki ch thƣơ c nhỏ nên dê da ng tìm đƣơ c khóa đê gia i ma còn trong trƣơ ng hơ p tô ng qua t điều na y la không dê da ng Hê ma đô i chô (transposition cipher) Môṭ hê ma hoa đô i chô la hê ma hoa trong đo ca c ky tƣ cu a ba n ro vâ n đƣơ c giƣ nguyên, nhƣng thƣ tƣ cu a chu ng đƣơ c đô i chô cho nhau. Vi du mô t hê ma hoa đô i chỗ cô t đơn gia n, ba n rõ đƣơ c viê t theo ha ng ngang trên trang giâ y vơ i đô da i cô điṇh, va ba n ma đƣơ c đo c theo ha ng do c. Ba n rõ: COMPUTER GRAPHICS MAY BE SLOW BUT AT LEAST IT S EXPENSIVE COMPUTERGR APHICSMAYB ESLOWBUTAT LEASTITSEX PENSIVE Ba n ma : CAELPOPSEEMHLANPIOSSUCWTITSBIUEMUTERATSGYAERBTX Phƣơng pha p na y co ca c ky thuâṭ sau: Ba ng 3.2: Ma hoa thay đô i vi tri cô t 1. Đa o ngƣơ c toa n bô ba n ro : nghĩa la ba n rõ đƣơ c viê t theo thư tư ngƣơ c la i đê ta o ra ba n ma. Đây la phƣơng pha p ma hoa đơn gia n nhâ t vi vâỵ không đa m ba o an toa n. Vi du : ba n rõ TRANSPOSITION CIPHER đƣơ c ma hoa tha nh REHPICNOITISOPSNART. 2. Ma hoá theo mâ u hi nh ho c : ba n rõ đƣơ c să p xê p la i theo mô t mâ u hiǹh ho c na o đó, thƣơ ng la môṭ ma ng hoă c môṭ ma trâṇ hai chiê u. sau: Vi du : ba n rõ LIECHTENSTEINER đƣơ c viê t tha nh ma trâ n 35 theo ha ng nhƣ Côṭ Ba n rõ L I E C H 32

42 Chƣơng III: Các hê ma kho a bi mâ t T E N S T E I N E R Ba ng 3.3: Ma hóa theo mâ u hình ho c Nê u lâ y ca c ky tƣ ra theo sô thƣ tƣ côṭ IEICSELTEENNHTR. 2, 4, 1, 3, 5 thì sẽ có ba n ma Đô i chỗ cô t: Đâ u tiên đô i chỗ ca c ky tư trong ba n rõ tha nh da ng hình chữ nhâṭ theo côṭ, sau đo ca c côṭ đƣơ c să p xê p laị va ca c chƣ ca i đƣơ c lâ y ra theo ha ng ngang Vi du : ba n rõ gô c la NGAY MAI BAT DAU CHIEN DICH XYZ đƣơ c viê t dƣơ i da ng ma trâṇ 55 theo côṭ nhƣ sau: Côṭ Ba n rõ N A D I C G I A E H A B U N X Y A C D Y M T H I Z Ba ng 3.4: Vi du ma hóa theo mâ u hình ho c Vì có 5 côṭ nên chu ng co thê đƣơ c să p laị theo 5!=120 ca ch kha c nhau. Đê tăng đô an toa n co thê choṇ môṭ trong ca c ca ch să p xê p la i đó. Nê u ta chuyê n vi ca c côṭ theo thƣ tƣ 3, 5, 2, 4, 1 rô i lâ y ca c ky tƣ ra theo ha ng ngang ta se đƣơ c ba n ma la DCAINAHIEGUXBNACYADY HZTIM. Lƣu y ră ng ca c ky tƣ ca ch đƣơ c bỏ đi. Ha n chê cu a phƣơng pha p na y la toa n bô ca c ma trâ n ky tư pha i đƣơ c sinh đê ma hoa va gia i ma. 3. Hoán vi các ky tư cu a bản ro theo chu ky cô đi nh d : Nê u ha m f la môṭ hoa n vi cu a mô t khô i gô m d ky tư thì khoa ma hoa đƣơ c biê u diê n bởi K(d,f). Do vâỵ, ba n rõ: M = m 1 m 2...m d m d+1...m 2d Vơ i m i la ca c ky tư, va ba n ro se đƣơ c ma hoa tha nh Ek(M) = m f(1) m f(2)...m f(d) m f(d)+1...m d+f(d) Trong đo m f(1) m f(2)...m f(d) la mô t hoa n vi cu a m 1 m 2...m d. Vi du : gia sử d=5 va f hoa n vi da y i=12345 tha nh f(i)=35142 Vi tri đâ u Vi tri hoa n vi Tƣ Ma hoa 1 3 G O 2 5 R P 33

43 Chƣơng III: Các hê ma kho a bi mâ t 3 1 O G 4 4 U U 5 2 P R Ba ng 3.5: Ma hóa hoa n vi theo chu ky Theo ba ng trên, ky tư đâ u trong khô i 5 ky tƣ đƣơ c chuyê n tơ i vi tri thƣ 3, ky tư thư hai đƣơ c chuyê n tơ i vi tri thƣ 5,... Chă ng haṇ tƣ gô c GROUP đƣơ c ma hoa tha nh OPGUR. Bă ng ca ch đo, ba n rõ I LOVE BEETHOVENS MUSIC sẽ đƣơ c chuyê n tha nh OEIVLEHBTEESONVSCMIU. Hê ma ADFGV cu a Đƣ c, đƣơ c sƣ duṇg trong suô t chiê n tranh thê giơ i lâ n thƣ I, la môṭ hê ma hoa đô i chô (có sử du ng phƣơng pha p thay thê đơn gia n). Nó đƣơ c coi la mô t thuâṭ toa n ma hoa phƣ c ta p va o thơ i â y nhƣng no đa bi pha bởi Georges Painvin, môṭ nha tha m ma ngƣơ i Pha p. Trên thƣ c tê c ó rất nhiều hê thô ng ma hoa sử du ng phƣơng pha p đô i chô, nhƣng chúng râ t ră c rô i vì thƣơ ng đòi hỏi không gian nhơ lơ n. 2. Các hê ma khô i Trong phâ n na y chu ng ta se ho c vê ca c hê ma khô i điê n hiǹh la chuâ n ma ho a dƣ liêụ DES (Data Encryption Standard), môṭ trong sô ca c hê ma khô i đƣơ c sƣ duṇg rôṇg ra i nhâ t va la nê n ta ng cho râ t nhiê u ca c hê ma khô i kha c. Chuâ n ma ho a dƣ liêụ DES la môṭ chuâ n ma hoa đƣơ c công bô bởi Uy ban Tiêu chuâ n quô c gia Hoa Ky va o 15/02/1977. Hê ma na y đƣơ c xây dư ng dư a trên mô t hê ma khô i phô biê n có tên la LUCIFER va đƣơ c pha t triê n bởi IBM. DES co nhiê u ƣu điê m (nhanh, thuâṭ toa n công khai, dê ca i đăṭ ) va đa tư ng đƣơ c sƣ duṇg trên thƣ c tê trong môṭ thơ i gian râ t da i (cho đê n trƣơ c đâ u nhƣ ng năm 90) tuy nhiên theo thơ i gian năng lƣ c cu a ca c ma y tińh pha t triê n cu ng vơ i ca c ky thuâṭ tha m ma mơ i đƣơ c đƣa ra đa cho thâ y nhu câ u vê môṭ hê ma khô i maṇh hơn va chuâ n ma hóa cao cấp AES đa ra đơ i. Chuâ n na y ra đơ i dƣ a trên môṭ cuô c thi vê thiê t kê môṭ hê ma khô i an toa n hơn (va o năm 1997) thay thê cho DES cu a U y ban Tiêu chuâ n quô c gia cu a Hoa Ky (NIST). Có rất nhiều hê ma đa đƣơ c gửi đê n la m ư ng cử viên cho AES nhƣng cuô i cu ng hê ma Rijndael cu a hai ta c gia ngƣơ i Bi la tiê n si Joan Daemen va tiê n si Vincent Rijmen (va o năm 2001) Mâ t ma khô i Ca c hê ma cô điê n ma chúng ta xem xe t ở phâ n đâ u chƣơng na y đều có đặc điê m chung la tư ng ky tư cu a ba n rõ đƣơ c ma hoa ta ch biê t. Điều na y la m cho viê c pha ma trở nên dê da ng hơn. Chi nh vì vâ y, trên thư c tê ngƣơ i ta hay dùng mô t kiê u mâ t ma kha c, trong đó tư ng khô i ky tư cu a ba n rõ đƣơ c ma hoa cùng mô t lúc nhƣ la mô t đơn vi ma hoa đô ng nhất. Trong kiê u ma hoa na y, ca c tham sô quan tro ng la ki ch thƣơ c (đô da i) cu a mỗi khô i va ki ch thƣơ c khoa. Điều kiê n đê ma hoa khô i an toa n: Kích thƣơ c khô i pha i đu lơ n đê chô ng la i phƣơng a n tấn công bă ng phƣơng pha p thô ng kê. Tuy nhiên điều na y sẽ dâ n đê n thơ i gian ma hoa sẽ tăng lên. 34

44 Chƣơng III: Các hê ma kho a bi mâ t Không gian khoa, tư c chiều da i khoa pha i đu lơ n đê chô ng la i phƣơng a n tấn công bă ng ve t ca n. Tuy nhiên khoa pha i đu ngă n đê viê c ta o khoa, phân phô i va lƣu trữ khoa đƣơ c dê da ng. Khi thiê t kê mô t hê ma khô i, pha i đa m ba o hai yêu câ u sau: Sư hỗn loa n (confusion): sư phu thuô c giữa ba n rõ va ba n ma pha i thư c sư phư c ta p đê gây khó khăn đô i vơ i viê c tìm quy luâ t tha m ma. Mô i quan hê na y tô t nhất la phi tuyê n. Sư khuê ch ta n (diffusion): Mỗi bit cu a ba n rõ va khóa pha i a nh hƣởng lên ca ng nhiều bit cu a ba n ma ca ng tô t. Trong khi sư hỗn loa n (confusion) đƣơ c ta o ra bă ng ky thuâ t thay thê thì sư khuê ch tán (diffusion) đƣơ c ta o ra bă ng ca c ky thuâṭ hoa n vi. Ca c hê ma khô i ma chúng ta xem xe t trong phâ n na y đều thỏa ma n ca c yêu câ u đó. Ngoa i ca c hê ma khô i đƣơ c trình ba y trong phâ n na y còn rất nhiều ca c hê ma khô i kha c đa pha t triê n q ua thơ i gian (ta i ca c quô c gia kha c nhau va ư ng du ng trong ca c lĩnh vƣ c kha c nhau), có thê kê ra đây mô t sô hê ma nô i tiê ng nhƣ: Lucifer (1969), DES (1977), Madryga (1984), NewDES (1985), FEAL, REDOC, LOKI (1990), Khufu and Khafre (1990), RC2, RC4, IDEA (1990), MMB, CA-1.1, Shipjack, GOST, CAST, Blowfish, SAFER, 3- Way, Crab, SXAL8/MBAL, SAFER, RC5, RC6... Đặc điê m chung cu a ca c hê ma khô i la qua trình ma hóa la m viê c vơ i ca c khô i dữ liê u (thƣơ ng ở da ng xâu bit) có ki ch thƣơ c kha c nhau (tô i thiê u la 64 bit), khóa cu a hê ma cu ng la mô t xâu bit có đô da i cô đi nh (56 bit vơ i DES, ca c hê ma kha c la 128, 256, hoặc thâ m chi 512 bit). Tất ca ca c hê ma na y đều dư a trên ly thuyê t cu a Shannon đƣa ra năm 1949 va nê u mang ma hóa hai ba n rõ giô ng nhau sẽ thu đƣơ c cùng mô t ba n ma. Hoa t đô ng cu a ca c hê ma khô i thƣơ ng đƣơ c thư c hiê n qua mô t sô lâ n lặp, mỗi lâ n sẽ sử du ng mô t khóa con đƣơ c sinh ra tư khóa chi nh Chuâ n ma hoá dữ liê u DES (Data Encryption Standard) Va o cuô i thâ p niên 60, hê ma Lucifer đa đƣơ c đƣa ra bởi Horst Feistel. Hê ma na y gă n liê n vơ i ha ng IBM nô i tiê ng. Sau đo Uy ban Tiêu chuâ n Hoa Ky đa da n xê p vơ i IBM đê thuâ t toa n ma hóa na y tha nh miê n phi va pha t triê n nó tha nh chuâ n ma hóa dữ liê u va công bô va o nga y 15/02/ Mô tả sơ đô ma hoá DES Mô ta tô ng quan: DES la thuâṭ toa n ma ho a vơ i input la khô i 64 bit, output cu ng la khô i 64 bit. Khóa ma hóa có đô da i 56 bit, thƣ c ra chińh xa c hơn pha i la 64 bit vơ i ca c bit ơ vi tri chia hê t cho 8 có thê sử du ng la ca c bit kiê m tra ti nh chă n le. Sô khóa cu a không gian khóa K la

45 Chƣơng III: Các hê ma kho a bi mâ t Hình 3.1: Chuâ n ma ho a dƣ liêụ DES Thuâṭ toa n thƣ c hiêṇ 16 vòng. Tƣ kho a input K, 16 khóa con 48 bit K i sẽ đƣơ c sinh ra, mô i kho a cho môṭ vo ng thƣ c hiêṇ trong qua triǹh ma ho a. Trong mô i vo ng, 8 a nh xa thay thê 6 bit tha nh 4 bit S i (còn go i la hô p S i ) đƣơ c choṇ lƣ a ky ca ng va cô điṇh, ky hiê u chung la S se đƣơ c sƣ duṇg. Ba n rõ 64 bit se đƣơ c sƣ duṇg chia tha nh hai nƣ a L 0 va R 0. Ca c vòng có chư c năng giô ng nhau, nhâṇ input la L i-1 va R i-1 tƣ vo ng trƣơ c va sinh ra output la ca c xâu 32 bit L i va R i nhƣ sau: L i = R i-1 ; (1) R i = L i-1 f(r i-1, K i ) trong đo f(r i-1, K i ) = P( S( E(R i-1 ) K i ) ); (2) Trong đó: la ky hiê u cu a phe p tuyê n loa i trư (XOR) cu a hai xâu bit theo modulo 2. Ha m f la mô t ha m phi tuyê n. E la hoa n vi mơ rôṇg a nh xa R i-1 tƣ 32 bit tha nh 48 bit (đôi khi tâ t ca ca c bit se đƣơ c sƣ duṇg hoă c môṭ bit se đƣơ c sƣ duṇg hai lâ n). P la hoa n vi cô điṇh kha c cu a 32 bit. Môṭ hoa n vi bit khơ i đâ u (IP) đƣơ c sƣ duṇg cho vo ng đâ u tiên ; sau vo ng cuô i cu ng nƣ a tra i va pha i se đƣơ c đô i cho nhau va cuô i cu ng xâu kê t qua se đƣơ c hoa n vi bit lâ n cuô i bơ i hoa n vi ngƣơ c cu a IP (IP -1 ). Qua trình gia i ma diê n ra tƣơng tư nhƣng vơ i ca c khoa con ư ng du ng va o ca c vòng trong theo thƣ tƣ ngƣơ c laị. Có thê hình dung đơn gia n la phâ n bên pha i trong mỗi vòng (sau khi mơ rôṇg input 32 bit tha nh 8 ky tư 6 bit xâu 48 bit) sẽ thư c hiê n mô t ti nh toa n thay thê phu thuô c kho a trên mô i môṭ ky tƣ trong xâu 48 bit, va sau đó sử du ng mô t phe p chuyê n bit cô đi nh đê phân bô laị ca c bit cu a ca c ky tƣ kê t qua hiǹh tha nh nên output 32 bit. Ca c khoa con K i (chƣ a 48 bit cu a K) đƣơ c tińh bă ng ca ch sƣ duṇg ca c ba ng PC1 va PC2 (Permutation Choice 1 va 2). Trƣơ c tiên 8 bit (k 8, k 16,,k 64 ) cu a K bi bỏ đi (a p du ng PC1). 56 bit co n laị đƣơ c hoa n vi va ga n cho hai biê n 28 bit C va D, va sau đó trong 16 vòng lặp ca C va D sẽ đƣơ c quay 1 hoă c 2 bit, va ca c khóa con 48 bit K i đƣơ c choṇ tƣ kê t qua cu a viê c ghe p hai xâu vơ i nhau. sau: Nhƣ vâ y, ta có thê mô ta toa n bô thuâ t toa n sinh ma DES dƣơ i da ng công thư c nhƣ Y = IP -1 f 16 T f 15 T... f 2 T f 1 IP(x) Trong đó: T mô ta phe p hoa n vi cu a ca c khô i L i R i (1 i 15). f i mô ta viê c dùng ha m f vơ i khoa K i (1 i 16). Thuâṭ toa n chi tiê t: Input: ba n rõ M = m 1 m 2 m 64, khóa 64 bit K = k 1 k 2 k 64 (bao gô m ca 8 bit chă n le, viê c thêm bit chă n le sao cho ca c đoaṇ kho a 8 bit co sô bit 1 la le ) 36

46 Chƣơng III: Các hê ma kho a bi mâ t Output: ba n ma 64 bit C = c 1 c 2 c Sinh kho a con. Ti nh ca c khóa con theo thuâ t toa n sinh khóa con bên dƣơ i 2. (L 0,R 0 ) IP(m 1 m 2 m 64 ) (Sƣ duṇg ba ng hoa n vi IP đê hoa n vi ca c bit, kê t qua nhâṇ đƣơ c chia tha nh hai nƣ a la L 0 = m 58 m 50 m 8, R 0 = m 57 m 49 m 7.) 3. (16 vòng) for i = 1 to 16 Ti nh ca c L i va R i theo ca c công thƣ c (1) va (2), viê c tińh f(r i-1, K i ) = P( S( E(R i-1 ) K i ) ) đƣơ c thƣ c hiêṇ nhƣ sau: a) Mơ rôṇg R i-1 = r 1 r 2 r 32 tƣ 32 bit tha nh 48 bit bă ng ca ch sƣ duṇg hoa n vi mơ rôṇg E. T E(R i-1 ). (Vì thê T = r 32 r 1 r 2 r 32 r 1 ) b) T T K i. Biê u diê n T nhƣ la ca c xâu gô m 8 ky tư 6 bit T = (B 1,,B 8 ) c) T (S 1 (B 1 ), S 2 (B 2 ),,S 8 (B 8 )). Trong đo S i (Bi) a nh xa b 1 b 2 b 6 tha nh ca c xâu 4 bit cu a phâ n tƣ thuô c ha ng r va côṭ c cu a ca c ba ng S i (S box) trong đo r = 2 * b 1 + b 6 va c = b 2 b 3 b 4 b 5 la mô t sô nhi phân tư 0 tơ i 15. Chă ng haṇ S 1 (011011) sẽ cho r = 1 va c = 13 va kê t qua la 5 biê u diê n dƣơ i daṇg nhi phân la d) T P(T ) trong đo P la hoa n vi cô điṇh đê hoa n vi 32 bit cu a T = t 1 t 2 t 32 sinh ra t 16 t 7 t b 1 b 2 b 64 (R 16, L 16 ) (đô i vi tri ca c khô i cuô i cu ng L 16, R C IP -1 (b 1 b 2 b 64 ) (Biê n đô i sƣ duṇg IP -1, C = b 40 b 8 b 25 ) Sơ đô 16 vòng lặp cu a DES: 37

47 Chƣơng III: Các hê ma kho a bi mâ t Bản rõ (64 bit) IP L 0 (32 bit) f R 0 (32 bit) K 1 (48 bit) L 1 = R 0 f R 1 = L 0 f(r 0, K 1 ) K i (48 bit) L i = R i-1 f R i = L i-1 f(r i-1, K i ) K 15 (48 bit) L 15 = R 14 f R 15 = L 14 f(r 14, K 15 ) K 16 (48 bit) L 16 = L 15 f(r 15, K 16 ) R 16 = L 15 IP -1 Bản mã (64 bit) Hình 3.2: Sơ đô ma hoa DES 38

48 Chƣơng III: Các hê ma kho a bi mâ t Hoán vi IP va hoán vi ngƣợc IP -1 Ba ng hoa n vi IP đƣơ c đƣa ra trong ba ng dƣơ i đây: Ba ng hoa n vi ngƣơ c IP -1 : Ba ng 3.6: Ba ng hoa n vi IP Ba ng 3.7: Ba ng hoa n vi ngƣơ c IP -1 Hai hoa n vi IP và IP -1 không có y nghĩa gì về mặt mâ t ma ma hoa n toa n nhă m ta o điều kiê n cho viê c chip hoa thuâ t toa n DES. Sơ đô cấu trúc mô t vòng DES: L i-1 R i-1 Khoá Vòng dịch Vòng dịch Hàm mở rộng (E) Trật tự nén (PC-2) S-Box P-Box Hàm f L i R i Khoá Khoá K Hình 3.3: Sơ đô mô t vòng DES 39

49 Chƣơng III: Các hê ma kho a bi mâ t Thuâṭ toa n sinh kho a con Mƣơ i sa u vòng lặp cu a DES cha y cùng thuâ t toa n nhƣ nhau nhƣng vơ i 16 khoá con khác nhau. Ca c khoá con đều đƣơ c sinh ra tư khoa chi nh cu a DES bă ng mô t thuâ t toa n sinh khoa con. Khoa chi nh K (64 bit) đi qua 16 bƣơ c biê n đô i, ta i mỗi bƣơ c biê n đô i na y mô t khoa con đƣơ c sinh ra vơ i đô da i 48 bit. Có thê mô ta thuâ t toa n sinh ca c khóa con chi tiê t nhƣ sau: Input: khóa 64 bit K = k1k2...k64 (bao gô m ca 8 bit kiê m tra tińh chă n le ) Output: 16 khóa con 48 bit K i, 1 i 16. 1) Điṇh nghi a v i, 1 i 16 nhƣ sau: v i = 1 đô i vơ i i {1,2,9,16}; v i = 2 cho ca c trƣơ ng hơ p kha c (Đây la ca c gia tri di ch tra i cho ca c quay vòng 28 bit bên dƣơ i). 2) T PC1(K); biê u diê n T tha nh ca c nƣ a 28 bit (C 0, D 0 ) (Sƣ duṇg ba ng PC1 đê cho n ca c bit tư K: C 0 = k 57 k 49...k 36, D 0 = k 63 k 55...k 4.) 3) For i from 1 to 16, ti nh ca c K i nhƣ sau: C i (C i-1 v i ), D i (D i-1 v i ), K i PC2(C i, D i ). (Sƣ duṇg ba ng PC 2 đê cho n 48 bit tƣ xâu ghe p b 1 b 2...b 56 cu a C i va D i : K i = b 14 b 17...b 32. la ky hiêụ di ch vo ng tra i.) Sơ đô sinh ca c kho a con cu a DES: 40

50 Chƣơng III: Các hê ma kho a bi mâ t Khoá chính (64 bit) PC-1 C 0 (28 bit) D 0 (28 bit) LS 1 LS 1 C 1 (28 bit) D 1 (28 bit) PC-2 K 1 (48 bit) LS 2 LS 2 C i (28 bit) D i (28 bit) PC-2 K i (48 bit) LS 1 LS 1 C 16 (28 bit) D 16 (28 bit) PC-2 K 16 (48 bit) Hình 3.4: Sơ đô ta o khoa con cu a DES 64 bit đâ u va o sẽ gia m xuô ng còn 56 bit bă ng ca ch bỏ đi 8 bit (ở ca c vi tri chia hê t cho 8), ca c bit na y dùng đê kiê m tra bit chă n le. Sau đó 56 bit na y la i đƣơ c tri ch lấy 48 bit đê sinh ra cho 16 vòng khoa cu a DES. Ba ng trâ t tư khoa (PC-1): Ba ng 3.8: Ba ng PC-1 Đâ u tiên 56 bit kho a đƣơ c chia ra tha nh hai nƣ a 28 bit. Sau đó, hai nƣ a 28 bit này đƣơ c di ch vòng tra i hoặc 1 hoặc 2 bit phu thuô c va o sô bit di ch tƣơng ƣ ng vơ i vòng đó. Sô bit di ch cu a ca c vòng (LS): Vòng lă p

51 Chƣơng III: Các hê ma kho a bi mâ t Sô bit di ch Ba ng 3.9: Ba ng di ch bit ta i ca c vòng lặp cu a DES Sau khi di ch vòng, môṭ ba ng choṇ 48 bit đƣơ c sƣ duṇg. Vì ca ch hoa n vi na y cu a ca c bit đƣơ c cho n nhƣ mô t tô hơ p con cu a ca c bit nên đƣơ c go i la hoa n vi ne n hay trâ t tư ne n. Ba ng trâ t tư ne n(pc-2): Ba ng 3.10: Ba ng PC-2 Vi du nhƣ chúng ta có thê nhâ n thấy bit ở vi tri 33 cu a khoa sẽ di ch sang vi tri 35 ra ngoa i, còn bit ở vi tri 18 cu a khoa sẽ bi bỏ qua. Chi nh viê c di ch vòng na y, ta o nên mô t tâ p hơ p con cu a khoa đƣơ c sử du ng trong mỗi tô hơ p khoa. Mỗi bit đƣơ c sử du ng khoa ng 14 lâ n trong tô ng sô 16 tô hơ p khoa, dù không pha i tất ca ca c bi t đƣơ c sử du ng mô t ca ch chi nh xa c cùng mô t lúc trong mỗi lâ n sử du ng Mô tả ha m f Hàm f(r i-1,k i ) la mô t ha m có hai biê n va o: biê n thư nhất R i-1 la mô t xâu bit có đô da i 32 bit, biê n thư hai khoa K i la mô t xâu bi t có đô da i 48 bit. Đâ u ra cu a f la mô t xâu bit có đô da i 32 bit. Ha m f có thê la ha m bất ky tuy nhiên vì nguô n gô c sư c ma nh cu a DES nă m trong ha m f nên viê c cho n ha m f pha i câ n thâ n đê tra nh bi pha ma mô t ca ch dê da ng. Thông thƣơ ng ha m f đƣơ c cho n thƣơ ng la ha m có ti nh chất f = f -1, tư c f(f(x)) = x. Trong sơ đô mô ta ma hoa cu a DES đƣơ c công bô bởi Uy ban Tiêu chuâ n Quô c gia Hoa Ky (The Untied States Nation Bureau of Standard), ha m f thư c hiê n ca c viê c sau: Biê n thư nhất R i-1 đƣơ c mở rô ng tha nh mô t xâu bit có đô da i 48 bit theo mô t ha m mở rô ng cô đi nh E. Thư c chất ha m mở rô ng E(R i-1 ) la mô t hoa n vi có lặp trong đó lặp la i 16 bit cu a R i-1. Tính E(R i-1 ) K i va viê t kê t qua tha nh 8 xâu 6 bit B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8. Đƣa 8 khô i B i va o 8 ba ng S 1, S 2,..., S 8 (đƣơ c go i la ca c hô p S-Box). Mỗi hô p S-Box la mô t ba ng 4*16 cô đi nh có ca c cô t tư 0 đê n 15 va ca c ha ng tư 0 đê n 3. Vơ i mỗi xâu 6 bit B i = b 1 b 2 b 3 b 4 b 5 b 6, ta ti nh đƣơ c S i (B i ) nhƣ sau: hai bit b 1 b 6 xa c đi nh ha ng r trong hô p S i, bô n bit b 2 b 3 b 4 b 5 xa c đi nh cô t c trong hô p S i. Khi đó, S i (B i ) sẽ xa c đi nh phâ n tử C i = S i (r,c), phâ n tử na y viê t dƣơ i da ng nhi phân 4 bit. Nhƣ vâ y, 8 khô i 6 bit B i (1 i 8) sẽ cho ra 8 khô i 4 bit C i vơ i (1 i 8). Xâu bit C = C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 có đô da i 32 bit đƣơ c hoa n vi theo phe p hoa n vi P (hô p P-Box). Kê t qua P(C) sẽ la kê t qua cu a ha m f(r i-1, K i ), va cu ng chi nh la R i cho vòng sau. Ha m f cu ng có thê mô ta bă ng hình vẽ sau: 42

52 Chƣơng III: Các hê ma kho a bi mâ t R i-1 (32 bit) Hàm mở rộng (E) Khoá K i (48 bit) 48 bit 48 bit 8 6 bit S 1 S 2 S 3 S 4 S 5 S 6 S 7 S bit P 32 bit 32 bit Hàm (ánh xa ) mở rô ng (E) R i (32 bit) Hình 3.5: Sơ đô ha m f Ha m mở rô ng (E) sẽ tăng đô da i cu a Ri tư 32 bit lên 48 bit bă ng ca ch thay đô i ca c thư tư cu a ca c bit cu ng nhƣ lặp la i ca c bit. Viê c thư c hiê n na y nhă m hai mu c đi ch: La m đô da i cu a R i cùng cỡ vơ i khoa K đê thư c hiê n viê c cô ng modulo XOR. Cho kê t qua da i hơn đê có thê đƣơ c ne n trong suô t qua trình thay thê. Tuy nhiên, ca hai mu c đi ch na y đều nhă m mô t mu c tiêu chi nh la ba o mâ t dữ liê u. Bă ng ca ch cho phe p 1 bit có thê chèn va o hai vi tri thay thê, sư phu thuô c cu a ca c bit đâ u ra vơ i ca c bit đâ u va o sẽ tra i rô ng ra. DES đƣơ c thiê t kê vơ i điều kiê n la mỗi bit cu a ba n ma phu thuô c va o mỗi bit cu a ba n rõ va khoa. Sơ đô ha m mở rô ng: 43

53 Chƣơng III: Các hê ma kho a bi mâ t Hình 3.6: Sơ đô ha m mở rô ng (E) Đôi khi nó đƣơ c go i la ha m E-Box, mỗi 4 bit cu a khô i va o, bit thư nhất va bit thư tƣ tƣơng ư ng vơ i 2 bit cu a đâ u ra, trong khi bit thư 2 va 3 tƣơng ư ng vơ i 1 bit ở đâ u ra. Ba ng sau đây miêu ta vi tri cu a bit ra so vơ i bit va o. Ba ng mô ta ha m mở rô ng (E): Ba ng 3.11: Ba ng mô ta ha m mơ rôṇg E Vi du nhƣ bit ở vi tri sô 3 cu a khô i va o sẽ di chuyê n đê n vi tri sô 4 cu a khô i ra va bit ở vi tri 21 ở đâ u va o sẽ di chuyê n đê n vi tri 30 va 32 ở đâ u ra Mô tả hô p S - Box Đô i vơ i sơ đô ma hoa DES, mo i ti nh toa n đều la tuyê n ti nh, tư c la viê c ti nh phe p tuyê n loa i trư XOR cu a hai đâ u ra cu ng giô ng vơ i phe p tuyê n loa i trư XOR cu a hai đâ u va o rô i ti nh toa n đâ u ra. Chỉ duy nhất có ca c ti nh toa n vơ i hô p S la phi tuyê n. Chi nh vì vâ y các hô p S-Box (chư a đư ng ca c tha nh phâ n phi tuyê n cu a hê mâ t) la quan tro ng nhất đô i vơ i đô mâ t cu a hê ma, chi nh ca c hô p S ta o nên sư hỗn loa n (confusion) va sư khuê ch ta n (diffusion) cu a DES. Năm 1976, NSA đa đƣa ra tiêu chuâ n thiê t kê hô p S nhƣ sau: Mỗi ha ng trong mỗi hô p S la mô t hoa n vi cu a ca c sô nguyên tư 0 đê n 15. Không có hô p S na o la ha m Affine hay tuyê n ti nh đô i vơ i ca c đâ u va o cu a nó. Sư thay đô i cu a mô t bit đâ u va o sẽ dâ n đê n sư thay đô i i t nhất hai bit đâ u ra. 44

54 Chƣơng III: Các hê ma kho a bi mâ t Đô i vơ i hô p S bất ky va vơ i đâ u va o x (mô t xâu bit có đô da i bă ng 6) bất ky, thì S(x) và S(x ) pha i kha c nhau i t nhất la 2 bit. NSA cu ng tiê t lô 3 thuô c ti nh cu a hô p S, những thuô c ti nh na y đa m ba o ti nh confusion va diffusion cu a thuâ t toa n: Ca c bit va o luôn phu thuô c không tuyê n ti nh vơ i ca c bit ra. Sửa đô i ở mô t bit va o la m thay đô i i t nhất la hai bit ra. Khi mô t bit va o đƣơ c giữ cô đi nh va 5 bit còn la i cho thay đô i thì hô p S thê hiê n mô t ti nh chất đƣơ c go i la phân bô đô ng nhất : so sa nh sô lƣơ ng bit sô 0 va 1 ở ca c đâ u ra luôn ở mư c cân bă ng. Ti nh chất na y khiê n cho viê c phân ti ch theo ly thuyê t thô ng kê đê tìm ca ch pha hô p S la vô i ch. Sau khi cô ng modulo vơ i khoa K, kê t qua thu đƣơ c chuỗi 48 bit chia la m 8 khô i đƣa va o 8 hô p S-Box. Mỗi hô p S-Box có 6 bit đâ u va o va 4 bit đâ u ra (tô ng bô nhơ yêu câ u cho 8 hô p S-Box chuâ n DES la 256 bytes). Kê t qua thu đƣơ c la mô t chuỗi 32 bit tiê p tu c va o hô p P-Box. Ta có thê xây dư ng ca c hô p S cu a riêng mình, tuy nhiên cu ng có thê dùng ca c hô p S chuâ n đa đƣơ c công bô : Ba ng 3.12: Hô p S Ba ng 3.13: Hô p S Ba ng 3.14: Hô p S

55 Chƣơng III: Các hê ma kho a bi mâ t Ba ng 3.15: Hô p S Ba ng 3.16: Hô p S Ba ng 3.17: Hô p S Ba ng 3.18: Hô p S Vi dụ: Ba ng 3.19: Hô p S 8 Gia sử đâ u va o cu a hô p S 6 la chuỗi bit tư 31 đê n 36. Bit đâ u tiên va bit cuô i cùng kê t hơ p la i tha nh 11 tƣơng ư ng vơ i ha ng 3 cu a hô p S 6. Bô n bit giữa có gia tri 1001, tƣơng ư ng vơ i cô t 9. Nhƣ vâ y, gia tri nhâ n đƣơ c la 14 (sô đê m cu a cô t, ha ng bă t đâ u tư 0) va gia tri 1110 đƣơ c thay thê cho gia tri ở đâ u ra Hô p P-Box Viê c hoa n vi na y mang ti nh đơn a nh, nghĩa la mô t bit đâ u va o sẽ cho mô t bit ở đâ u ra, không bit na o đƣơ c sử du ng hai lâ n hay bi bỏ qua. Hô p P-Box thư c chất chỉ la m chư c năng să p xê p đơn thuâ n theo ba ng sau: 46

56 Chƣơng III: Các hê ma kho a bi mâ t Ba ng mô ta hô p P-Box (P): Ba ng 3.20: Ba ng hoa n vi P Vi du nhƣ bit 21 sẽ di ch chuyê n đê n bit thư 4, trong khi bit thư 4 la i di ch chuyê n đê n bit 31. Kê t qua cuô i cùng cu a hô p P-Box la i đƣơ c XOR vơ i nƣ a tra i cu a khô i 64 bit cu a chi nh nó (tư c Li-1 đê ta o ra Ri ) va sau đó nƣ a tra i va nƣ a pha i đa o cho nhau va bă t đâ u mô t vòng kha c Vi dụ về ma hoá DES Đê có thê hiê u rõ hơn về phƣơng pha p ma hoa DES, chúng ta ha y xe t vi du sau: Mô t ba n rõ mang nô i dung: ABCDEF. Sử du ng khoa (ở da ng thâ p phân): BBCDFFI. Khoa na y ở da ng nhi phân la mô t chuỗi bit nhƣ sau (không có bit kiê m tra): Chuyê n đô i IP, chúng ta lấy ra L 0 và R 0 : L 0 = L 0 = R 0 = vòng ma hoa đƣơ c thư c hiê n nhƣ sau: E(R 0 ) = K 1 = E(R 0 ) K 1 = Đâ u ra S-Box = f(r 0,K 1 ) = L 2 =R 1 = E(R 1 ) = K 2 = E(R 1 ) K 2 = Đâ u ra S-Box = f(r 1,K 2 ) = L 3 =R 2 =

57 Chƣơng III: Các hê ma kho a bi mâ t E(R 2 ) = K 3 = E(R 2 ) K 3 = Đâ u ra S-Box = f(r 2,K 3 ) = L 4 =R 3 = E(R 3 ) = K 4 = E(R 3 ) K 4 = Đâ u ra S-Box = f(r 3,K 4 ) = L 5 =R 4 = E(R 4 ) = K 5 = E(R 4 ) K 5 = Đâ u ra S-Box = f(r 4,K 5 ) = L 6 =R 5 = E(R 5 ) = K 6 = E(R 5 ) K 6 = Đâ u ra S-Box = F(R 5,K 6 ) = L 7 =R 6 = E(R 6 ) = K 7 = E(R 6 ) K 7 = Đâ u ra S-Box = F(R 6,K 7 ) =

58 Chƣơng III: Các hê ma kho a bi mâ t L 8 =R 7 = E(R 7 ) = K 8 = E(R 7 ) K 8 = Đâ u ra S-Box = F(R 7,K 8 ) = L 9 =R 8 = E(R 8 ) = K 9 = E(R 8 ) K 9 = Đâ u ra S-Box = F(R 8,K 9 ) = L 10 =R 9 = E(R 9 ) = K 10 = E(R 9 ) K 10 = Đâ u ra S-Box = F(R 9,K 10 ) = L 11 =R 10 = E(R 10 ) = K 11 = E(R 10 ) K 11 = Đâ u ra S-Box = f(r 10,K 11 ) = L 12 =R 11 = E(R 11 ) = K 12 = E(R 11 ) K 12 =

59 Chƣơng III: Các hê ma kho a bi mâ t Đâ u ra S-Box = f(r 11,K 12 ) = L 13 =R 12 = E(R 12 ) = K 13 = E(R 12 ) K 13 = Đâ u ra S-Box = f(r 12,K 13 ) = L 14 =R 13 = E(R 13 ) = K 14 = E(R 13 ) K 14 = Đâ u ra S-Box = f(r 13,K 14 ) = L 15 =R 14 = E(R 14 ) = K 15 = E(R 14 ) K 15 = Đâ u ra S-Box = f(r 14,K 15 ) = L 16 =R 15 = E(R 15 ) = K 16 = E(R 15 ) K 16 = Đâ u ra S-Box = f(r 15,K 16 ) = R 16 = Ba ng 3.21: Vi du về ca c bƣơ c thư c hiêṇ cu a DES Cuô i cùng, chuyê n đô i IP -1, ta thu đƣơ c ba n ma (ở da ng Hecxa): 85E813540F0AB

60 Chƣơng III: Các hê ma kho a bi mâ t 2.3. Các yê u điê m cu a DES Tính bù Nê u ta ky hiê u u la phâ n bù cu a u (vi du nhƣ: la phâ n bù cu a ) thì DES có ti nh chất sau: y = DES(x,k) y = DES( x, k ) Cho nên nê u ta biê t ma y đƣơ c ma hoa tư thông tin x vơ i khoa K thì ta suy ra đƣơ c ba n ma y đƣơ c ma hoa tư ba n rõ x vơ i khoa k. Ti nh chất na y chi nh la mô t yê u điê m cu a DES bởi vì qua đó đô i phƣơng có thê loa i bỏ đi mô t sô khoa pha i thử khi tiê n ha nh thử gia i ma theo kiê u ve t ca n Khoá yê u Khoa yê u la ca c khoa ma theo thuâ t toa n sinh khoa con thì tất ca 16 khoa con đều nhƣ nhau: K 1 = K 2 =... = K 15 = K 16 Điều đó khiê n cho viê c mã hóa va gia i ma đô i vơ i khoa yê u la giô ng hê t nhau. Có tất ca 4 khoa yê u sau: Khoá yếu (Hex) C 0 D {0} 28 {0} 28 FEFE FEFE FEFE FEFE {1} 28 {1} 28 1F1F 1F1F 0E0E 0E0E {0} 28 {1} 28 E0E0 E0E0 F1F1 F1F1 {1} 28 {0} 28 Ba ng 3.22: Ca c khóa yê u cu a DES Đô ng thơ i còn có 6 cặp khoa nƣ a yê u (semi-weak key) kha c vơ i thuô c ti nh nhƣ sau: y = DES(x,k 1 ) và y = DES(x,k 2 ) rõ: nghĩa la vơ i 2 khoa kha c nhau nhƣng ma hoa ra cùng mô t ba n ma tư cùng mô t ba n C 0 D 0 Semi-weak key (Hex) C 0 D 0 {01} 14 {01} 14 01FE 01FE 01FE 01FE FE01 FE01 FE01 FE01 {10} 14 {10} 14 {01} 14 {10} 14 1FE0 1FE0 0EF1 0EF1 E01F E01F F10E F10E {10} 14 {01} 14 {01} 14 {0} 28 01E0 01E0 01F1 01F1 E001 E001 F101 F101 {10} 14 {0} 28 {01} 14 {1} 28 1FFE 1FFE 0EFE 0EFE FE1F FE1F FE0E FE0E {10} 14 {1} 28 {0} 28 {01} F 011F 010E 010E 1F01 1F01 0E01 0E01 {0} 28 {10} 14 {1} 28 {01} 14 E0FE E0FE F1FE F1FE FEE0 FEE0 FEF1 FEF1 {1} 28 {10} 14 Ba ng 3.23: Ca c khóa nửa yê u cu a DES 51

61 Chƣơng III: Các hê ma kho a bi mâ t DES co câ u trúc đa i sô Vơ i 64 bit khô i ba n rõ có thê đƣơ c a nh xa lên tất ca vi tri cu a 64 bit khô i ba n ma trong 2 64 ca ch. Trong thuâ t toa n DES, vơ i 56 bit khoa, có thê cho chúng ta 2 56 (khoa ng ) vi tri a nh xa. Vơ i viê c đa ma hoa thì không gian a nh xa còn lơ n hơn. Tuy nhiên điều na y chỉ đúng nê u viê c ma hoa DES la không có cấu trúc. Vơ i DES có cấu trúc đa i sô thì viê c đa ma hoa sẽ đƣơ c xem ngang bă ng vơ i viê c đơn ma hoa. Vi du nhƣ có hai khoa bất ky K 1 và K 2 thì sẽ luôn đƣơ c khoa thư K 3 nhƣ sau: E K2 (E K1 (x)) = E K3 (x) Nói mô t ca ch kha c, viê c ma hoa DES mang ti ch chất nhóm, đâ u tiên ma hoa ba n rõ bă ng khoa K 1 sau đó la khoa K 2 sẽ giô ng vơ i viê c ma hoa ở khoa K 3. Điều na y thư c sư quan tro ng nê u sử du ng DES trong đa ma hoa. Nê u mô t nhóm đƣơ c pha t vơ i cấu trúc ha m qua nhỏ thì ti nh an toa n sẽ gia m Không gian kho a K DES có 2 56 = khoa. Nê u chúng ta biê t đƣơ c mô t cặp tin/ma thì chúng ta có thê thử tất ca kha năng na y đê tìm ra khoa cho kê t qua khơ p nhất. Gia sử nhƣ mô t phe p thử mất 10-6 s, thì chúng sẽ mất s, tư c 7300 năm. Nhƣng vơ i ca c ma y ti nh đƣơ c chê ta o theo xử ly song song. Chă ng ha n vơ i 10 7 con chipset ma DES cha y song song thì bây giơ mỗi mô t con chipset chỉ pha i chi u tra ch nhiê m ti nh toa n vơ i phe p thử. Chipset mã DES ngày nay có thê xử ly tô c đô bit/s tư c có thê la m đƣơ c hơn 10 5 phe p ma DES trong mô t giây. Va o năm 1976 va 1977, Diffie va Hellman đa ƣơ c lƣơ ng ră ng có thê chê ta o đƣơ c mô t ma y ti nh chuyên du ng đê ve t ca n không gian khoa DES trong ½ nga y vơ i ca i gia 20 triê u đô la. Năm 1984, chipset ma hoa DES vơ i tô c đô ma hoa lâ n/giây. Năm 1987, đa tăng lên lâ n/giây. Va o năm 1993, Michael Wiener đa thiê t kê mô t ma y ti nh chuyên du ng vơ i gia 1 triê u đô la sử du ng phƣơng pha p ve t ca n đê gia i ma DES trung bình trong vòng 3,5 giơ (va châ m nhất la 7 giơ ). Đê n năm 1990, hai nha toa n ho c ngƣơ i Do Tha i - Biham và Shamir - đa pha t minh ra phƣơng pha p pha ma vi sai (diferential cryptanalyis), đây la mô t ky thuâ t sử du ng những phỏng đoa n kha c nhau trong ba n rõ đê đƣa ra những thông tin trong ba n ma. Vơ i phƣơng pha p na y, Biham va Shamir đa chư ng minh ră ng nó hiê u qua hơn ca phƣơng pha p ve t ca n. Pha ma vi sai la thuâ t toa n xem xe t những cặp ma hoa kha c nhau, đây la những cặp ma hoa ma ba n rõ cu a chúng la kha c biê t. Ngƣơ i ta sẽ phân ti ch tiê n trình biê n đô i cu a những cặp ma na y thông qua ca c vòng cu a DES khi chúng đƣơ c ma hoa vơ i cùng mô t khoa K. Sau đó sẽ cho n hai ba n rõ kha c nhau mô t ca ch ngâ u nhiên hơ p ly nhất. Sử du ng sư kha c nhau cu a kê t qua ma hoa va ga n cho những khoá khác nhau mô t ca ch phù hơ p nhất. Khi phân tích nhiều hơn những cặp ba n ma, chúng ta sẽ tìm ra mô t khoa đƣơ c xem la đúng nhất Triple DES (3DES) Nhƣ đa triǹh ba y ơ ca c phâ n trên, hê ma DES (hay chuâ n ma ho a dƣ liêụ ) vơ i không gian khóa ve n ve n có 2 54 khóa nên thƣ c tê hiêṇ nay có thê bi tha m ma trong 52

62 Chƣơng III: Các hê ma kho a bi mâ t khoa ng thơ i gian va i giơ đô ng hô. Vì vâ y viê c tìm kiê m ca c hê ma kha c thay thê cho DES la mô t điều câ n thiê t. Môṭ trong nhƣ ng ca ch thƣ c đƣơ c xem xe t đâ u tiên la tâṇ duṇg DES nhƣng sƣ duṇg ma ho a nhiê u lâ n. Ca ch thư nhất la sử du ng hai khóa đê ma hóa hai lâ n nhƣ sau: C = E K2 (E K1 (P)) Ca ch na y go i la double DES hay 2DES, khóa cu a hê ma theo mô hình na y la 112 bit, có ve an toa n hơn so vơ i DES, i t nhất la trên nguyên tă c. Tuy nhiên ca c chƣ ng minh vê măṭ ly thuyê t (không nă m trong phaṃ vi cu a ta i liêụ na y ) đa cho thâ y ră ng hê ma na y không hê an toa n hơn DES (thuâṭ toa n tha m ma theo kiê u ve t ca n brute-force yêu câ u sô phe p ti nh gấp đôi đê tha m ma 2DES so vơ i DES). Ca ch thư c thư hai va hiê n nay đang đƣơ c sử du ng rô ng ra i la ma hóa DES ba lâ n, ca ch na y go i la Triple DES (TDES) hay 3DES, hoă c môṭ ca ch chuâ n mƣ c hơ n la TDEA (Triple Data Encryption Algorithm). Mô hiǹh sƣ duṇg đơn gia n nhâ t cu a Triple DES la ma hóa 3 lâ n sƣ duṇg 3 khóa K1, K2, K3 nhƣ hiǹh minh hoạ sau: Hình 3.7: Triple DES Ba n ma C = DES K3 (DES K2 (DES K1 (M)), mô hiǹh na y goị la EEE vi ca ba bƣơ c sƣ du ng ba khóa ở đây đều sử du ng thuâ t toa n ma hóa chuâ n cu a DES, môṭ biê n thê kha c cu a mô hình na y go i la EDE vơ i bƣơ c ở giữa sử du ng thuâ t toa n gia i ma cu a DES: C = DES K3 ( DES (DES K1 (M)). Viê c lƣ a choṇ ma ho a hay gia i ma ơ bƣơ c thƣ hai không la m thay đô i tińh an toa n cu a Triple DES. Khóa cu a Triple DES la 168 bit, môṭ sô biê n thê cu a Triple DES sƣ duṇg khóa có đô da i 112 bit (K1=K3) nhƣng kha c vơ i double DES, khi đo phƣơng pha p na y co tên goị la Two key Triple DES. Ca c chư ng minh về mặt ly thuyê t va ca c tấn công đô i vơ i Triple DES cho thâ y hê ma na y vâ n se co n đƣơ c sƣ duṇg trong môṭ tƣơng lai d a i nữa mă c du trên trên thƣ c tê no châṃ hơn so vơ i AES 6 lâ n. 1 K 2 53

63 Chƣơng III: Các hê ma kho a bi mâ t 2.5. Chuâ n ma ho a cao câ p AES Giơ i thiêụ Chuâ n ma ho a dƣ liêụ cao câ p AES la môṭ hê ma kho a bi mâṭ co tên la Rijndael (Do hai nha mâṭ ma ho c ngƣơ i Bi la Joan Daemen va Vincent Rijmen đƣa ra va trơ tha nh chuâ n tƣ năm 2002) cho phe p xƣ ly ca c khô i dƣ liêụ input co kićh thƣơ c 128 bit sƣ duṇg ca c khóa có đô da i 128, 192 hoă c 256 bit. Hê ma Rijndael đƣơ c thiê t kê đê co thê l a m viê c vơ i ca c kho a va ca c khô i dƣ liêụ co đô da i lơ n hơn tuy nhiên khi đƣơ c choṇ la môṭ chuâ n do U y ban tiêu chuâ n cu a Hoa Ky đƣa ra va o năm 2001, nó đƣơ c qui đi nh chỉ la m viê c vơ i ca c khô i dƣ liêụ 128 bit va ca c kho a co đô da i 128, 192 hoă c 256 bit (do đo co n đăṭ cho no ca c tên AES-128, AES-192, AES-256 tƣơng ƣ ng vơ i đô da i kho a sƣ duṇg) Các khái niê m va đi nh nghi a (Definitions) Các khái niê m va ky hiê u Ca c kha i niê m va điṇh nghi a đƣơ c sƣ duṇg đê triǹh ba y vê chuâ n ma ho a cao câ p: AES Chuâ n ma ho a cao câ p Biê n đô i Affine Phe p biê n đô i bao gô m mô t phe p nhân vơ i mô t ma trâ n sau đo la môṭ phe p côṇg cu a môṭ vectơ Bit Môṭ sô nhi phân nhâṇ gia tri 0 hoă c 1 Môṭ da y ca c bit nhi phân taọ tha nh input, output, tra ng tha i (state) va ca c khóa sử du ng ta i ca c vòng lặp (Round Block Key) cu a hê ma. Đô da i cu a da y (khô i) la sô lƣơ ng ca c bit ma no chƣ a. Ca c khô i cu ng co thê đƣơ c xem la môṭ da y ca c byte Byte Môṭ nho m 8 bit Cipher Thuâṭ toa n ma ho a Cipher Key Khóa cu a hê ma, có thê đƣơ c biê u diê n dƣơ i da ng mô t ma ng 2 chiê u gô m 4 ha ng va Nk cô t Ciphertext Ba n ma Inverse Cipher Thuâṭ toa n gia i ma Thu tu c đƣơ c sử du ng đê sinh ra ca c khóa sử du ng ta i Thu tu c sinh khóa (Key ca c vòng lặp cu a thuâ t toa n ma hóa, gia i ma tư khóa Expansion) chi nh ban đâ u La ca c gia tri sinh ra tư kh óa chi nh bă ng ca ch sử du ng Round Key thu tu c sinh khóa. Ca c khóa na y đƣơ c sử du ng ta i ca c vòng lặp cu a thuâ t toa n Tra ng tha i (State) Ca c gia tri ma hóa trung gian có thê biê u diê n dƣơ i da ng môṭ ma ng 2 chiê u gô m 4 ha ng va Nb côṭ Môṭ ba ng thê phi tuyê n đƣơ c sƣ duṇg trong thu tu c sinh S-box khóa va trong ca c biê n đô i thay thê ca c byte đê thư c hiêṇ ca c thay thê 1-1 đô i vơ i môṭ gia tri 1 byte Word Môṭ nho m 32 bit co thê đƣơ c xem nhƣ 1 đơn vi ti nh toa n đô c lâ p hoặc la môṭ ma ng 4 byte Ba ng 3.24: Qui ƣơ c môṭ sô tƣ viê t tă t va thuâṭ ngƣ cu a AES Các ha m, ky hiê u va các tham sô cu a thuâ t toán Ca c tham sô thuâ t toa n, ca c ky hiê u va ca c ha m đƣơ c sử du ng trong mô ta thuâṭ toa n: Ha m biê n đô i đƣơ c sử du ng trong thuâ t toa n ma hóa va gia i AddRoundKey() ma trong đó thư c hiê n phe p toa n XOR bit giữa mô t tra ng 54

64 Chƣơng III: Các hê ma kho a bi mâ t tha i tr ung gian (State) va mô t khóa cu a vòng lặp (Round Key). Ki ch thƣơ c cu a mô t Round Key bă ng ki ch thƣơ c cu a tra ng tha i (chă ng haṇ vơ i Nb = 4 đô da i cu a môṭ Round Key sẽ la 128 bit hay 16 byte) Ha m biê n đô i đƣơ c sử du ng trong thuâ t toa n gia i ma, la ha m InvMixColumns() ngƣơ c cu a ha m MixColumns() Ha m biê n đô i trong thuâ t toa n gia i ma, la ha m ngƣơ c cu a InvShiftRows() ha m ShiftRows() Ha m biê n đô i trong thuâ t toa n gia i ma, la ha m ngƣơ c cu a InvSubBytes() ha m SubBytes() K Khóa ma hóa Ha m biê n đô i trong thuâ t toa n ma hóa nhâ n tất ca ca c cô t MixColumns() cu a mô t tra ng tha i (State) va trô n vơ i dữ liê u cu a nó (không phu thuô c lâ n nhau) đê nhâ n đƣơ c mô t cô t mơ i Sô lƣơ ng Nb ca c côṭ (la ca c word 32 bit) ta o tha nh mô t tra ng tha i, Nb = 4) Sô lƣơ ng Nk ca c word 32 bit taọ tha nh kho a ma ho a K (Nk = 4, 6, hoă c 8) Sô lƣơ ng c vo ng lă p cu a thuâṭ toa n, la mô t ha m cu a Nk Nr va Nb (la ca c gia tri cô điṇh ) ( Nr = 10, 12 hoă c 14 tƣơng ư ng vơ i ca c gia tri kha c nhau cu a Nk) Rcon[] Ma ng word hă ng sô sử du ng trong ca c vòng lặp Ha m sử du ng trong thu tu c sinh khóa nhâ n mô t word 4-byte RotWord() va thư c hiê n mô t hoa n vi vòng Ha m sử du ng trong qua trình ma hóa, xƣ ly ca c traṇg tha i ShiftRows() bă ng ca ch di ch vo ng ba ha ng cuô i cu a traṇg tha i vơ i sô lâ n di ch kha c nhau Ha m biê n đô i sử du ng trong qua trình ma hóa, xƣ ly môṭ SubBytes() tra ng tha i bă ng ca ch sƣ duṇg môṭ ba ng thê phi tuyê n ca c byte (S-box) thao ta c trên mô i byte môṭ ca ch đô c lâ p Ha m sử du ng trong thu tu c sinh khóa nhâ n mô t word input SubWord() 4-byte va sƣ duṇg môṭ S -box trên mô i gia tri 4-byte na y đê thu đƣơ c 1 word output XOR Phe p or bit tuyê t đô i Phe p or bit tuyê t đô i Phe p nhân 2 đa thƣ c (bâ c nho hơn 4) theo modulo (x 4 + 1) Phe p nhân trên trƣơ ng hữu ha n Các ky hiê u va qui ƣơ c Input va Output Input va Output cu a chuâ n ma ho a cao câ p đê u la ca c da y 128 bit, còn go i la ca c khô i (block), đô da i cu a mô i khô i na y la sô bit dƣ liêụ ma nó chư a. Khóa cu a chuâ n ma hóa cao cấp la mô t da y có đô da i 128, 192 hoă c 256 bit. Chuâ n ma ho a dƣ liêụ cao câ p không la m viê c vơ i ca c gia tri input, output va kho a co ca c đô da i kha c (mă c du thuâṭ toa n cơ sơ cu a no cho phe p điê u na y). Ca c bit cu a input, output va kho a cu a hê ma đƣơ c đa nh sô tƣ Đơn vi Byte Đơn vi cơ ba n đê xƣ ly trong AES la môṭ byte tƣ c la môṭ da y 8 bit đƣơ c xem nhƣ la môṭ đô i tƣơ ng đơn. Ca c gia tri input, output va kho a cu a hê ma (đƣơ c qui điṇh trong phâ n 3.1) đƣơ c xem la môṭ ma ng ca c byte. Ca c gia tri input, output va kho a cu a hê ma đƣơ c ky 55

65 Chƣơng III: Các hê ma kho a bi mâ t hiêụ bơ i tên ma ng a va biê u diê n dƣơ i daṇg a n hoă c a[n] trong đo n nhâṇ ca c gia tri trong ca c khoa ng sau: Nê u đô da i kho a bă ng 128 bit: 0 n < 16; Nê u đô da i kho a bă ng 192 bit: 0 n < 24; Nê u đô da i kho a bă ng 256 bit: 0 n < 32; Tâ t ca ca c gia tri Byte sƣ duṇg trong thuâṭ toa n cu a AES đê u đƣơ c biê u diê n dƣơ i da ng mô t da y ca c bit 0 hoă c 1 theo điṇh daṇg {b 7, b 6, b 5, b 4, b 3, b 2, b 1, b 0 }. Ca c Byte na y sau đƣơ c hiê u la ca c phâ n tƣ trên trƣơ ng hƣ u haṇ bă ng ca ch sƣ duṇg biê u diê n tha nh da ng đa thư c: b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x 1 + b 0 x 0 = 7 i bx. i i0 Chă ng haṇ gia tri { } tƣơng đƣơng vơ i phâ n tƣ trên trƣơ ng hƣ u haṇ x 6 + x 5 + x + 1. Đê thuâṇ tiêṇ, ca c gia tri Byte đƣơ c biê u diê n sử du ng ca c ky hiê u cu a hê Hexa, sƣ duṇg 4 bit cho môṭ ky tƣ va hai ky tƣ cho môṭ Byte nhƣ ba ng sau: Bit Ky tư Bit Ky tư Bit Ky tư Bit Ky tư c d a 1110 e b 1111 f Ba ng 3.25: Ba ng biê u diê n ca c xâu 4 bit Khi đo ca c Byte (8 bit) sẽ đƣơ c biê u diê n bă ng hai ky tư, chă ng haṇ { } sẽ đƣơ c biê u diê n tha nh {63} Tra ng thái (State) Ca c thao ta c bên trong cu a AES đƣơ c thư c hiê n trên mô t ma ng 2 chiê u ca c byte đƣơ c goị la traṇg tha i. Môṭ traṇg tha i gô m bô n ha ng ca c byte, mô i ha ng co Nb byte trong đo Nb la kićh thƣơ c cu a khô i chia cho 32. Ma ng tra ng tha i ky hiê u la s trong đó mỗi byte cu a ma ng có 2 chỉ sô ha ng r va cô t c (0 r, c < 4). Ta i thơ i điê m bă t đâ u input cu a thuâ t toa n ma ng ca c byte in 0, in 1,, in 15 đƣơ c copy va o ma ng traṇg tha i theo qui tă c đƣơ c minh hoạ bă ng hình vẽ: input bytes State array output bytes in 0 in 4 in 8 in 12 in 1 in 5 in 9 in 13 in 2 in 6 in 10 in 14 in 3 in 7 in 11 in 15 Hình 3.8: Ca c tra ng tha i cu a AES trong đo ca c gia tri cu a ma ng s va ma ng output đƣơ c tińh nhƣ sau: s[r, c] = in[r + 4c] 0 r, c < 4 S 0,0 S 0,1 S 0,2 S 0,3 S 1,0 S 1,1 S 1,2 S 1,3 S 2,0 S 2,1 S 2,2 S 2,3 S 3,0 S 3,1 S 3,2 S 3,3 out 0 out 4 out 8 out 12 out 1 out 5 out 9 out 13 out 2 out 6 out 10 out 14 out 3 out 7 out 11 out 15 56

66 Chƣơng III: Các hê ma kho a bi mâ t out[r + 4c] = s[r, c] 0 r, c < Biê u diê n cu a traṇg tha i Bô n côṭ cu a ma ng traṇg tha i cu a thuâṭ toa n taọ tha nh 4 word 32-bit w 0, w 1,, w 3 đƣơ c biê u diê n nhƣ sau: w 0 = s 0,0 s 1,0 s 2,0 s 3,0 w 1 = s 0,1 s 1,1 s 2,1 s 3,1 w 2 = s 0,2 s 1,2 s 2,2 s 3,2 w 3 = s 0,3 s 1,3 s 2,3 s 3, Thuâṭ toa n Đô da i cu a input, output va ca c traṇg tha i (state) cu a chuâ n ma hóa cao cấp AES la 128 bit tƣơng ƣ ng vơ i gia tri cu a Nb = 4 (la sô lƣơ ng ca c word 32-bit va cu ng la sô côṭ cu a mỗi tra ng tha i). Khóa cu a AES có đô da i la 128, 192 hoă c 256 bit tƣơng ƣ ng vơ i ca c gia tri cu a Nk la 4, 6, hoă c 8 va cu ng la sô cô t cu a khóa ma hóa. Tƣơng ƣ ng vơ i đô da i cu a kho a sƣ duṇg sô vo ng lă p cu a thuâṭ toa n Nr nhâ n ca c gia tri 10 (Nk = 4), 12 (Nk = 6) hoă c 14 (Nk = 8). Chúng ta có thê minh ho a qua ba ng sau: Đô da i khóa (Nk) Ki ch thƣơ c khô i (Nb) Sô lâ n lă p (Nr) AES AES AES Ba ng 3.26: Ba ng đô da i khóa cu a AES Ca qua trình ma ho a va gia i ma AES sƣ duṇg môṭ ha m lă p la kê t hơ p cu a bô n ha m biê n đô i (đơn vi xƣ ly la byte) sau: 1) biê n đô i thay thê byte sƣ duṇg môṭ ba ng thê (S-box), 2) di ch ca c ha ng cu a ma ng tra ng tha i vơ i sô lâ n di ch c u a mỗi ha ng la kha c nhau, 3) kê t hơ p dƣ liêụ cu a mô i côṭ trong ma ng traṇg tha i va 4) côṇg môṭ kho a Round Key va o traṇg tha i. Ca c biê n đô i na y (va ca c ha m ngƣơ c cu a chúng ) đƣơ c mô ta trong ca c phâ n va Thuâṭ toa n ma ho a Bă t đâ u thuâṭ toa n ba n ro (input) đƣơ c copy va o ma ng traṇg tha i sƣ duṇg ca c qui ƣơ c đƣơ c mô ta trong phâ n 3.4. Sau khi côṇg vơ i kho a Round Key khơ i taọ ma ng traṇg tha i đƣơ c biê n đô i bă ng ca c thư c hiê n mô t ha m vòng (round function) Nr lâ n (10, 12, hoă c 14 phu thuô c va o đô da i khóa ) trong đo lâ n cuô i cu ng thƣ c hiêṇ kha c ca c lâ n trƣơ c đo. Tra ng tha i sau lâ n lặp cuô i cùng sẽ đƣơ c chuyê n tha nh output cu a thuâ t toa n theo qui tă c đƣơ c mô ta trong phâ n 3.4. Ha m vòng đƣơ c tham sô hóa sử du ng mô t (key schedule) da y ca c khóa đƣơ c biê u diê n nhƣ la môṭ ma ng 1 chiê u cu a ca c word 4-byte đƣơ c sinh ra tƣ thu tu c sinh kho a (Key Expansion) đƣơ c mô ta trong phâ n 5.2. Chúng ta có thê thấy tất ca ca c vòng đều thư c hiê n ca c công viê c giô ng nhau dư a trên 4 ha m (theo thƣ tƣ ) SubBytes(), ShiftRows(), MixColumns() va AddRoundKey() trƣ vòng cuô i cùng bỏ qua viê c thư c hiê n ha m MixColumns(). Thuâṭ toa n đƣơ c mô ta chi tiê t qua đoaṇ gia ma lêṇh sau: Cipher(byte in[4*nb], byte out[4*nb], word w[nb*(nr+1)]) 57

67 Chƣơng III: Các hê ma kho a bi mâ t begin byte state[4,nb] state = in AddRoundKey(state, w[0, Nb-1]) // See Sec for round = 1 step 1 to Nr 1 SubBytes(state) // See Sec ShiftRows(state) // See Sec MixColumns(state) // See Sec AddRoundKey(state, w[round*nb, (round+1)*nb-1]) end for SubBytes(state) ShiftRows(state) AddRoundKey(state, w[nr*nb, (Nr+1)*Nb-1]) out = state end Sơ đô thuâṭ toa n: 58

68 Chƣơng III: Các hê ma kho a bi mâ t Plaintext Key Plaintext Add round key w[0, 3] Add round key Round 1 Substitute bytes Shift rows Mix Columns Add round key Expand key w[4, 7] Inverse sub bytes Inverse shift row Inverse mix cols Add round key Inverse sub bytes Round 9 Round 10 Inverse shift row Substitute bytes Shift rows Round 9 Mix Columns Inverse mix cols Add round key w[36,39] Add round key Round 10 Substitute bytes Shift rows Add round key w[40, 43] Inverse sub bytes Inverse shift row Add round key Round 1 Plaintext (a) Mã hóa Ciphertext (b) Gia i ma Hình 3.9: Thuâṭ toa n ma ho a va gia i ma cu a AES Ha m SubBytes() Ha m SubBytes() thƣ c hiêṇ phe p thay thê ca c byte cu a ma ng tra ng tha i bă ng ca ch sƣ duṇg môṭ ba ng thê S -box, ba ng thê na y la kha nghi ch va đƣơ c xây dư ng bă ng ca ch kê t hơ p hai biê n đô i sau: 1. Nhân nghi ch đa o trên trƣơ ng hƣ n haṇ GF (2 8 ) (mô ta trong phâ n 4.2), phâ n tƣ {00} đƣơ c a nh xa tha nh chi nh nó 2. A p du ng biê n đô i Affine sau (trên GF(2)): 59

69 Chƣơng III: Các hê ma kho a bi mâ t b b b b b b c trong đo 0 i <8 la bit thư i ' i i ( i4)mod8 ( i5)mod8 ( i6)mod8 ( i7)mod8 i cu a byte b tƣơng ư ng va c i la bit thư i cu a byte c vơ i gia tri {63} hay { }. Ca c phâ n tử biê n đô i affine cu a S-box co thê đƣơ c biê u diê n dƣơ i daṇg ma trâṇ nhƣ sau: ' b b 0 1 ' b1 b1 ' b b 2 ' b b3 ' b b 4 ' b b5 ' b b 6 ' b b7 Hình sau minh ho a kê t qua cu a viê c a p du ng ha m biê n đô i SubBytes () đô i vơ i ma ng tra ng tha i: S 0,0 S 0,1 S 0,2 S 0,3 S-Box ' S 0,0 ' S 0,1 ' S 0,2 ' S 0,3 S 1,0 S 1,2 S 1,3 S rc, S 2,0 S 2,1 S 2,2 S 2,3 ' S 1,0 ' S 2,0 S ' S 2,1 ' rc, S S ' 1,2 ' 2,2 ' S 1,3 ' S 2,3 S 3,0 S 3,1 S 3,2 S 3,3 ' S 3,0 ' S 3,1 ' S 3,2 ' S 3,3 Ba ng thê S -box đƣơ c sƣ duṇg trong ha m SubBytes () có thê đƣơ c biê u diê n dƣơ i da ng hexa nhƣ sau: 60

70 Chƣơng III: Các hê ma kho a bi mâ t Ba ng 3.27: Ba ng thê S-Box cu a AES trong đo chă ng haṇ nê u s 1,1 = {53} có nghĩa la gia tri thay thê sẽ đƣơ c xa c đi nh bă ng giao cu a ha ng co chi sô 5 vơ i côṭ co chi sô 3 trong ba ng trên điê u na y tƣơng ƣ ng vơ i viê c s 1,1 = {ed} Ha m ShiftRows() Trong ha m na y ca c byte trong 3 ha ng cuô i cu a ma ng tra ng tha i sẽ đƣơ c di ch vòng vơ i sô lâ n di ch (hay sô byte bi di ch) kha c nhau. Ha ng đâ u tiên r = 0 không bi di ch. Cu thê ha m na y sẽ tiê n ha nh biê n đô i sau: ' sr, c sr,( cshift ( r, Nb))mod Nb ( Nb 4) trong đo gia tri di ch shift (r, Nb) phu thuô c va o sô ha ng r nhƣ sau: shift(1, 4) = 1, shift(2, 4) = 2, shift(3, 4) = 3. Thao ta c na y se chuyê n ca c byte tơ i ca c vi tri thâ p hơn trong ca c ha ng, trong khi ca c byte thấp nhâ t se đƣơ c chuyê n lên đâ u cu a ha ng. Tâ t ca c ca c mô ta trên co thê minh ho a qua hình vẽ sau: S0,0 S0,1 S0,2 S0,3 S S S0,0 S0,1 S0,2 S0,3 S1,0 1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3 ShiftRows() S0,0 S0,1 S0,2 S0,3 S S 0,0 S 0,1 S 0,2 S 0,3 S 1,1 S 1,2 S 1,3 S 1,0 S 2,2 S 2,3 S 2,0 S 2,31 S 3,3 S 3,0 S 3,1 S 3,2 61

71 Chƣơng III: Các hê ma kho a bi mâ t Ha m MixColumns() Hình 3.10: Ha m ShifftRows() Ha m na y la m viê c trên ca c cô t cu a ba ng tra ng tha i, nó coi mỗi cô t cu a ma ng tra ng tha i nhƣ la mô t đa thư c gô m 4 ha ng tử nhƣ đƣơ c mô ta trong phâ n 4.3. Ca c cô t sẽ đƣơ c xem nhƣ la ca c đa thƣ c trên GF (2 8 ) va đƣơ c nhân theo modulo x vơ i môṭ đa thƣ c cô điṇh a(x): a(x) = {03}x 3 + {01}x 2 + {01}x + {02} trâṇ: Nhƣ đa mô ta trong phâ n 4.3 điê u na y co thê biê u diê n bă ng môṭ phe p nhân ma s (x) = a(x)s(x): ' S 0, c S 0, c ' S 1, c S1, c ' S 2, c S 2, c ' S3, c S3, c vơ i moị 0 c < Nb = 4. Kê t qua la bô n byte trong mỗi cô t sẽ đƣơ c thay thê theo công thư c sau: s ({02} s ) ({03} s ) s s ' 0, c 0, c 1, c 2, c 3, c s s ({02} s ) ({03} s ) s ' 1, c 0, c 1, c 2, c 3, c s s s ({02} s ) ({03} s ) ' 2, c 0, c 1, c 2, c 3, c s ({03} s ) s s ({02} s ) ' 3, c 0, c 1, c 2, c 3, c Có thê minh ho a viê c thư c hiê n cu a ha m na y bă ng hình vẽ sau: 62

72 Chƣơng III: Các hê ma kho a bi mâ t Hình 3.11: Ha m MixColumns cu a AES Ha m AddRoundKey() Trong ha m na y môṭ kho a vo ng (Round Key ) sẽ đƣơ c cô ng va o ma ng tra ng tha i bă ng môṭ thao ta c XOR bit. Mô i kho a vo ng gô m Nb word đƣơ c sinh ra bơ i thu tu c sinh khóa (phâ n 5.2). Ca c word na y sẽ đƣơ c cô ng va o mỗi cô t cu a ma ng tra ng tha i nhƣ sau: ' ' ' ' s0, c, s1, c, s2, c, s 3, c s0, c, s1, c, s2, c, s 3, c wround * Nbc 0 c Nb 4 trong đo [w i ] la ca c word cu a khóa đƣơ c mô ta trong phâ n 5.2 va round la lâ n lặp tƣơng ƣ ng vơ i qui ƣơ c 0 round Nr. Trong thuâṭ toa n ma ho a phe p côṇg kho a vo ng khơ i taọ xa y ra vơ i round = 0 trƣơ c khi ca c vo ng lă p cu a thuâṭ toa n đƣơ c thƣ c hiêṇ. Ha m AddRoundKey() đƣơ c thƣ c hiêṇ trong thuâṭ toa n ma ho a khi 1 round Nr. Viê c thƣ c hiêṇ cu a ha m na y co thê minh hoạ qua hiǹh ve tring đo l Điạ chi byte trong ca c word cu a da y kho a đƣơ c mô ta trong phâ n 3.1. = round * Nb. Hình 3.12: Ha m AddRoundKey cu a AES Thuâṭ toa n sinh kho a (Key Expansion) Thuâṭ toa n sinh kho a cu a AES nhâṇ mô t kho a ma ho a K sau đo thƣ c hiêṇ môṭ thu tu c sinh khóa đê sinh mô t da y ca c khóa cho viê c ma hóa. Thu tu c na y sẽ sinh tô ng sô Nb*(Nr+1) word, thu tu c sử du ng mô t tâ p khởi ta o Nb word va mỗi mô t lâ n lặp trong sô Nr lâ n se câ n tơ i Nb word cu a dƣ liêụ kho a. Da y khóa kê t qua la mô t ma ng tuyê n tińh ca c word 4-byte đƣơ c ky hiêụ la [w i ] trong đo 0 i < Nb(Nr+1). Sƣ mơ rôṇg kho a tha nh da y kho a đƣơ c mô ta qua đoaṇ gia ma sau: KeyExpansion(byte key[4*nk], word w[nb*(nr+1)], Nk) begin word temp i = 0 while (i < Nk) 63

73 Chƣơng III: Các hê ma kho a bi mâ t end while i = Nk w[i] = word(key[4*i], key[4*i+1], key[4*i+2], key[4*i+3]) i = i+1 while (i < Nb * (Nr+1)] end while end temp = w[i-1] if (i mod Nk = 0) temp = SubWord(RotWord(temp)) xor Rcon[i/Nk] else if (Nk > 6 and i mod Nk = 4) end if temp = SubWord(temp) w[i] = w[i-nk] xor temp i = i + 1 SubWord() la mô t ha m nhâ n mô t input 4-byte va a p duṇg ba ng thê S -box lên input đê nhâ n đƣơ c mô t word output. Ha m RotWord() nhâṇ môṭ word input [a 0, a 1, a 2, a 3 ] thƣ c hiêṇ môṭ hoa n vi vòng va tra về [a 1, a 2, a 3, a 0 ]. Ca c phâ n tử cu a ma ng hă ng sô Rcon [i] chƣ a ca c gia tri nhâṇ đƣơ c bơ i [x i-1, {00}, {00}, {00}] trong đo x i-1 la mu hóa cu a x (x đƣơ c biê u diê n dƣơ i daṇg {02} trên GF(2 8 ) va i bă t đâ u tư 1). Theo đoaṇ gia ma trên chu ng ta co thê nhâṇ thâ y ră ng Nk word cu a kho a kê t qua se đƣơ c điê n bơ i kho a ma ho a. Ca c word sau đó w [i] sẽ bă ng XOR vơ i word đư ng trƣơ c nó w[i-1] vơ i w[i-nk]. Vơ i ca c word ơ vi tri chia hê t cho Nk môṭ biê n đô i se đƣơ c thƣ c hiêṇ vơ i w[i-1] trƣơ c khi thƣ c hiêṇ phe p XOR bit, sau đo la phe p XOR vơ i môṭ hă ng sô Rcon [i]. Biê n đô i na y gô m môṭ phe p di ch vo ng ca c byte cu a môṭ word (RotWord()), sau đo la a p du ng mô t ba ng tra lên tất ca 4 byte cu a word (SubWord()). Chú y la thu tu c mở rô ng khóa đô i vơ i ca c khóa có đô da i 256 hơi kha c so vơ i thu tu c cho ca c khóa có đô da i 128 hoă c 192. Nê u Nk = 8 va i 4 la mô t bô i sô cu a Nk thì SubWord() sẽ đƣơ c a p du ng cho w[i-1] trƣơ c khi thƣ c hiêṇ phe p XOR bit Thuâṭ toa n gia i ma Thuâṭ toa n gia i ma kha giô ng vơ i thuâṭ toa n ma ho a vê măṭ câ u tru c nhƣng 4 ha m cơ ba n sƣ duṇg la ca c ha m ngƣơ c cu a ca c ha m trong thuâṭ toa n gia i ma. Đoaṇ gia ma cho thuâṭ toa n gia i ma nhƣ sau: InvCipher(byte in[4*nb], byte out[4*nb], word w[nb*(nr+1)]) begin byte state[4,nb] state = in 64

74 Chƣơng III: Các hê ma kho a bi mâ t AddRoundKey(state, w[nr*nb, (Nr+1)*Nb-1]) // See Sec for round = Nr-1 step -1 downto 1 end for InvShiftRows(state) // See Sec InvSubBytes(state) // See Sec AddRoundKey(state, w[round*nb, (round+1)*nb-1]) InvMixColumns(state) // See Sec InvShiftRows(state) InvSubBytes(state) AddRoundKey(state, w[0, Nb-1]) out = state end Ha m InvShiftRows() Ha m na y la ha m ngƣơ c cu a ha m ShiftRows (). Ca c byte cu a ba ha ng cuô i cu a ma ng tra ng tha i sẽ đƣơ c di ch vòng vơ i ca c vi tri di ch kha c nhau. Ha ng đâ u tiên không bi di ch, ba ha ng cuô i bi di ch đi Nb shift(r, Nb) byte trong đo ca c gia tri shift (r, Nb) phu thuô c va o sô ha ng nhƣ trong phâ n Cu thê ha m na y tiê n ha nh xử ly sau: ' sr,( cshift ( r, Nb))mod Nb sr, c0 r 4,0 c Nb( Nb 4) Hình minh ho a: 65

75 Chƣơng III: Các hê ma kho a bi mâ t Ha m InvSubBytes() Hình 3.13: Ha m InvShiftRows() cu a AES Ha m na y la ha m ngƣơ c cu a ha m SubBytes(), ha m sử du ng nghi ch đa o cu a biê n đô i Affine bă ng ca ch thƣ c hiêṇ nhân nghi ch đa o trên GF(2 8 ). Ba ng thê đƣơ c sƣ duṇg trong ha m la : Ha m InvMixColumns() Ba ng 3.28: Ba ng thê cho ha m InvSubBytes() Ha m na y la ha m ngƣơ c cu a ha m MixColumns (). Ha m la m viê c trên ca c cô t cu a ma ng tra ng tha i, coi mô i côṭ nhƣ la môtô đa thƣ c 4 ha ng tử đƣơ c mô ta trong phâ n 4.3. Ca c cô t đƣơ c xem la ca c đa thư c trên GF (2 8 ) va đƣơ c nhân theo modulo x 4 +1 vơ i môṭ đa thƣ c cô điṇh la a -1 (x): a -1 (x) = {0b}x 3 + {0d}x 2 + {09}x + {0e} Va có thê mô ta bă ng phe p nhân ma trâṇ nhƣ sau: s (x) = a -1 (x)s(x): trong đo 0 c < Nb. ' S 0, c 0e 0b 0d 09S 0, c ' S 1, c 09 0e 0b 0d S1, c ' S 2, c 0d 09 0e 0bS 2, c ' S3, c 0b 0d 09 0e S3, c Kê t qua la bô n byte trong mô i côṭ se đƣơ c thay thê theo công thƣ c sau: s ({0 e} s ) ({0 b} s ) ({0 d} s ) ({09} s ) ' 0, c 0, c 1, c 2, c 3, c s ({09} s ) ({0 e} s ) ({0 b} s ) ({0 d} s ) ' 1, c 0, c 1, c 2, c 3, c 66

76 Chƣơng III: Các hê ma kho a bi mâ t s ({0 d} s ) ({09} s ) ({0 e} s ) ({0 b} s ) ' 2, c 0, c 1, c 2, c 3, c s ({0 b} s ) ({0 d} s ) ({09} s ) ({0 e} s ) ' 3, c 0, c 1, c 2, c 3, c Ha m nghi ch đảo cu a ha m AddRoundKey() Thâṭ thu vi la ha m na y tƣ ba n thân no la nghi ch đa o cu a chińh no la do ha m chi co phe p toa n XOR bit Thuâṭ toa n giải ma tƣơng đƣơng Trong thuâṭ toa n gia i ma đƣơ c triǹh ba y ơ trên chu ng ta thâ y thƣ tƣ cu a ca c ha m biê n đô i đƣơ c a p duṇg kha c so vơ i thuâṭ toa n ma ho a trong khi daṇg cu a danh sa ch kho a cho ca 2 thuâṭ toa n vâ n giƣ nguyên. Tuy vâỵ môṭ sô đă c điê m cu a AES cho phe p chu ng ta có mô t thuâ t toa n gia i ma tƣơng đƣơng có thư tư a p du ng ca c ha m biê n đô i giô ng vơ i thuâṭ toa n ma ho a (tâ t nhiên la thay ca c biê n đô i bă ng ca c ha m ngƣơ c cu a chu ng ). Điê u na y đa t đƣơ c bă ng ca ch thay đô i danh sa ch khóa. Hai thuô c tińh sau cho phe p chu ng ta co môṭ thuâṭ toa n gia i ma tƣơng đƣơng: 1. Ca c ha m SubBytes () va ShiftRows() hoa n đô i cho nhau ; có nghĩa la mô t biê n đô i SubBytes () theo sau bơ i môṭ biê n đô i ShiftRows () tƣơng đƣơng vơ i môṭ biê n đô i ShiftRows() theo sau bơ i môṭ biê n đô i SubBytes (). Điê u na y cu ng đu ng vơ i ca c ha m ngƣơ c cu a chu ng 2. Ca c ha m trô n cô t MixColumns() va InvMixColumns () la ca c ha m tuyê n ti nh đô i vơ i ca c côṭ input, có nghĩa la : InvMixColumns(state XOR Round Key) = InvMixColumns(state) XOR InvMixColumns(Round Key). Ca c đặc điê m na y cho phe p thư tư cu a ca c ha m InvSubBytes() va InvShiftRows() có thê đô i chô. Thƣ tƣ cu a ca c ha m AddRoundKey() va InvMixColumns() cu ng có thê đô i chỗ miê n la ca c côṭ cu a danh sa ch kho a gia i ma pha i đƣơ c thay đô i bă ng ca ch sƣ duṇg ha m InvMixColumns(). Thuâṭ toa n gia i ma tƣơng đƣơng đƣơ c thƣ c hiêṇ bă ng ca ch đ a o ngƣơ c thư tư cu a ha m InvSubBytes () va InvShiftRows (), va thay đô i thư tư cu a AddRoundKey () va InvMixColumns() trong ca c lâ n lă p sau khi thay đô i kho a cho gia tri round = 1 to Nr-1 bă ng ca ch sử du ng biê n đô i InvMixColumns (). Ca c word đâ u tiên va cuô i cu ng cu a danh sa ch khóa không bi thay đô i khi ta a p du ng phƣơng pha p na y. Thuâṭ toa n gia i ma tƣơng đƣơng cho môṭ câ u tru c hiêụ qua hơn so vơ i thuâṭ toa n gia i ma trƣơ c đó. Đoaṇ gia ma cho thuâṭ toa n gia i ma tƣơng đƣơng: EqInvCipher(byte in[4*nb], byte out[4*nb], word dw[nb*(nr+1)]) begin byte state[4,nb] 67

77 Chƣơng III: Các hê ma kho a bi mâ t state = in AddRoundKey(state, dw[nr*nb, (Nr+1)*Nb-1]) for round = Nr-1 step -1 downto 1 end for InvSubBytes(state) InvShiftRows(state) InvMixColumns(state) AddRoundKey(state, dw[round*nb, (round+1)*nb-1]) InvSubBytes(state) InvShiftRows(state) AddRoundKey(state, dw[0, Nb-1]) out = state end Ca c thay đô i sau câ n thư c hiê n trong thuâ t toa n sinh khóa đê thuâ t toa n trên có th ê hoa t đô ng đƣơ c: for i = 0 step 1 to (Nr+1)*Nb-1 dw[i] = w[i] end for for round = 1 step 1 to Nr-1 InvMixColumns(dw[round*Nb, (round+1)*nb-1]) // note change of type end for 2.6. Các cơ chê, hi nh thư c sử dụng cu a ma ho a khô i (Mode of Operation) Các hi nh thư c sử dụng Nhƣ chu ng ta đa biê t c a c ma hóa khô i ma hóa ca c khô i thông tin có đô da i cô đi nh, chă ng ha n DES vơ i ca c khô i bit 64, sử du ng khóa la xâu bi t có đô da i bă ng 56. Tuy nhiên đê sử du ng ca c hê ma na y trên thư c tê vâ n câ n có mô t qui điṇh vê qui ca ch sƣ duṇg chúng đê ma hóa ca c dữ liê u câ n ma hóa. Ca ch thư c sử du ng mô t thuâ t toa n ma hóa khô i trong thư c tê đƣơ c go i la Mode of Use hay Mode Of Operation. Có 4 hình thư c sử du ng ca c hê ma khô i đƣơ c đi nh nghĩa trong ca c chuâ n ANSI (vi du ANSI X da nh cho DES). Dƣ a va o viê c xƣ ly dƣ liêụ input cu a hê ma ngƣơ i ta chia tha nh hai loaị cơ chê sử du ng ca c hê ma khô i sau: 1. Các chê đô khô i (Block Mode): xử ly ca c thông điê p theo ca c khô i (ECB, CBC) 2. Các chê đô luô ng, dòng (Stream Modes): xử ly ca c thông điê p nhƣ la mô t luô ng bit/byte (CFB, OFB). Ca c chê đô khô i thƣơ ng đƣơ c sử du ng đê ma hóa ca c dữ liê u ma ch úng ta biê t trƣơ c vê vi tri, đô lơ n trƣơ c khi ma ho a (chă ng haṇ nhƣ ca c file, ca c trƣơ c khi câ n 68

78 Chƣơng III: Các hê ma kho a bi mâ t gƣ i đi) trong khi ca c chê đô luô ng thƣơ ng đƣơ c sƣ duṇg cho viê c ma ho a ca c dƣ liêụ không đƣơ c biê t trƣơ c vê đô lơ n c u ng nhƣ vi tri chă ng ha n nhƣ ca c ti n hiê u gửi về tư vê tinh hoă c ca c tiń hiêụ do môṭ bô ca m biê n đo c tƣ bên ngoa i va o. Chú ý: DES, 3DES, AES (hay bất kỳ một thuật toán ma ho a khối nào khác) tạo thành một khối xây dựng cơ bản. Tuy nhiên để sử dụng chu ng trong thực tế, chu ng ta thường cần làm việc với các khối lươ ng dữ liệu không thể biết trước đươ c, co thể chu ng là một khối dữ liệu sẵn sàng ngay cho việc ma ho a(khi đo việc sử dụng ma ho a theo cơ chế khối là phù hơ p), hoặc co thể chỉ đươ c một vài bit, byte tại một thời điểm (khi đo sử dụng chế độ dòng là phù hơ p). Vì thế các cơ chế sử dụng ma khối đươ c trình bày trong phần này là riêng cho DES nhưng cu ng đươ c a p duṇg tương tư cho ca c hê ma khô i kha c Cơ chê ba ng tra ma điêṇ tƣ ECB (Electronic CodeBook Book) Thông điê p câ n ma ho a đƣơ c chia tha nh ca c khô i đô c lâ p đê mã hóa, mô i khô i ba n ma la kê t qua cu a viê c ma hóa riêng biê t khô i ba n rõ tƣơng ư ng vơ i nó va đô c lâ p vơ i khô i kha c. Ca ch la m viê c na y giô ng nhƣ chúng ta thay thê ca c khô i ba n ma bă ng ca c khô i ba n rõ tƣơng ư ng nên có tên go i la ba ng tra ma điê n tử. P = P 1 P 2 P N Ma hóa: C i = DES K (P i ), kê t qua ba n ma la C = C 1 C 2..C N. Qua trình gia i ma tiê n ha nh ngƣơ c laị: P i = DES -1 K(C i ). P C P1 P2 Pn C1 C2 Cn K E E Ma hóa E K D D Gia i ma D C1 C2 Cn P1 P2 Pn C P Hình 3.14: Cơ chê ECB ECB la chê đô sử du ng đơn gia n va dê ca i đặt nhất, đƣơ c sử du ng khi chỉ mô t khô i đơn thông tin câ n đƣơ c gửi đi (chă ng ha n nhƣ mô t khóa session đƣơ c ma hóa bă ng ca ch dùng mô t khóa chi nh). Do trong ECB ca c khô i ba n rõ đƣơ c ma hóa đô c lâ p nên la m na y sinh mô t sô nhƣơ c điê m sau: ca c lặp la i cu a thông điê p có thê đƣơ c thê hiê n trên ba n ma, nghĩa la nê u có ca c ba n rõ giô ng nhau thì tƣơng ư ng ca c ba n ma giô ng nhau, điê u na y đă c biêṭ thê hiêṇ rõ vơ i ca c dữ liê u lặp la i nhiều chă ng ha n nhƣ ca c dữ liê u hình a nh. Viê c đê lô tińh lă p laị cu a ba n rõ có thê dâ n tơ i ca c tấn công theo phƣơng pha p phân ti ch thô ng kê. Hơn nƣ a ca c ba n ma có thê bi gia ma o bă ng ca ch thêm mô t sô khô i ba n ma gia va o kê t qua ma hóa, bên nhâ n se không pha t hiêṇ ra sƣ gia maọ na y. Bên caṇh đo viê c ma hóa ca c khô i thông điê p la đô c lâ p la m suy yê u DES. Trên thƣ c tê ECB chỉ thư c sư có i ch khi gửi mô t khô i dữ liê u nhỏ. 69

79 Chƣơng III: Các hê ma kho a bi mâ t Cơ chê ma mo c xićh CBC - Cipher Block Chaining Đê vƣơ t qua ca c vấn đề về sư lặp la i va yêu câ u đô c lâ p trong ECB, chúng ta câ n mô t va i ca ch đê la m cho ba n ma phu thuô c va o tất ca ca c khô i trƣơ c nó. Đo na y chi nh la điều ma CBC cung cấp cho chúng ta bă ng ca ch kê t hơ p khô i ba n rõ trƣơ c vơ i khô i thông điê p hiê n ta i trƣơ c khi ma hóa. Cu ng giô ng nhƣ cơ chê EBC trong cơ chê CBC ba n ro se đƣơ c chia tha nh ca c khô i nhƣng sẽ đƣơ c liên kê t vơ i nhau trong qua triǹh mã hóa đê ta o tha nh ba n rõ. Chi nh vì ca c khô i ba n ma đƣơ c móc xi ch vơ i ba n rõ va vì thê chê đô na y có tên la CBC CBC sử du ng mô t vector khởi ta o IV (Initial Vector) đê bă t đâ u: C 0 = IV, P = P 1 P 2..P N Ma hóa: C i = DES K (P i C i-1 ), C = C 1 C 2..C N Gia i ma : P i = DES -1 K(C i ) C i-1, P = P 1 P 2..P N. x 1 x 2 y 1 y 2 IV=y 0 IV=y 0 d k d k e k e k y 1 y 2 x 1 x 2 Mã hoá Giải mã Hình 3.15: Chê đô CBC Chê đô CBC phù hơ p vơ i ca c yêu câ u câ n gửi ca c lƣơ ng lơ n dữ liê u mô t ca ch an toa n (chă ng ha n nhƣ FTP, , WEB) Trong CBC mỗi khô i ba n ma la phu thuô c va o tất ca ca c khô i thông điê p đư ng trƣơ c đó nên viê c sai lê ch môṭ khô i ba n ro hoă c ba n ma na o đo cu ng la m sai lê ch kê t qua ma hóa va gia i ma tƣơng ư ng. Khó khăn nhất trong viê c sử du ng CBC chi nh la qua n ly ca c gia tri IV sử du ng, thƣơ ng thi ca hai bên nhâ n va gửi đều biê t (chă ng haṇ nhƣ bă ng 0) hoă c se đƣơ c khơ i taọ bă ng ca c gia tri mơ i va gƣ i cho bên nhâṇ trƣơ c khi ma ho a. Tuy nhiên nê u IV bi tiê t lô ke tấn công có thê la m thay đô i ca c bit ở khô i đâ u tiên, vì thê có thê IV la mô t gia tri cô đi nh hoặc đƣơ c gửi đi sau khi đa ma hóa bă ng ECB Chê đô ma phản hô i CFB (Cipher Feedback) va chê đô ma phản hô i đâ u ra OFB (Output Feedback) Ca c chê đô luô ng CFB va OFB đƣơ c sử du ng đê ma hóa ca c dƣ liêụ đƣơ c cung câ p rơ i ra c, thƣơ ng la ca c tiń hiêụ nhâṇ đƣơ c tƣ vê tinh hoă c do môṭ bô ca m biê n na o đo truyê n vê. Chi nh vì dữ liê u đƣơ c cung cấp rơ i ra c nên ta i mô t thơ i điê m chúng ta không thê biê t trƣơ c đô lơ n va vi tri dữ liê u sẽ đƣơ c ma hóa. Do đo đô i vơ i ca c chê đô luô ng 70

80 Chƣơng III: Các hê ma kho a bi mâ t input cho thuâṭ toa n ma ho a đƣơ c xem la môṭ luô ng ca c bit cu a ba n ro đƣơ c lâ n lƣơ t theo thơ i gian. Trong chê đô OFB va CFB dòng khoa đƣơ c ta o ra sẽ đƣơ c cô ng modulo 2 vơ i ba n rõ. OFB thư c sư la mô t hê ma đô ng bô : dòng khoa đƣơ c tha nh lâ p bởi viê c ta o lâ p ca c vector khởi ta o 64 bit (vector IV). Ta xa c đi nh z 0 = IV và tính dòng khoá z 1 z 2... z n theo quy tă c z i = e k (z i-1 ) vơ i i 1. Sau đó da y ba n rõ x 1 x 2... x n sẽ đƣơ c ma hoa bă ng ca ch ti nh y i = x i z i vơ i i 1. Trong chê đô CFB, ta bă t đâ u vơ i y 0 = IV (vector khởi ta o 64 bit) va ta o phâ n tử z i cu a dòng khoa bă ng ca ch ma hoa khô i ba n ma trƣơ c đó. Tư c la z i = e k (y i-1 ) vơ i i 1 va y i = x i z i vơ i i 1. Viê c sử du ng CFB đƣơ c mô ta bă ng sơ đô sau (e k trong trƣơ ng hơ p na y đƣơ c sử du ng cho ca ma hoa va gia i ma ): Mã hoá x 1 x 2 IV=y 0 e k e k y 1 y 2 Giải mã y 1 y 2 IV=y 0 e k e k x 1 x 2 Hình 3.16: Chê đô CFB Cu ng có mô t va i da ng kha c cu a OFB va CFB đƣơ c go i la chê đô pha n hô i k-bit (1< k < 64). Ơ đây ta đa mô ta chê đô pha n hô i 64 bit. Ca c chê đô pha n hô i 1-bit và 8-bit thƣơ ng đƣơ c sử du ng cho phe p ma hoa đô ng thơ i 1 bit (hay byte) dữ liê u. Ky thuâ t cơ ba n đƣơ c sử du ng ở đây la mô t thanh ghi di ch 64 bit va mỗi bƣơ c di ch đƣơ c k-bit làm đâ u va o cho ma hoa. K-bit bên tra i cu a đâ u va o ha m ma hoa đƣơ c XOR vơ i đơn vi đâ u cu a block ba n rõ tiê p theo đê đƣa ra mô t đơn vi ba n ma truyền đi va đơn vi na y đƣơ c đƣa la i va o k-bit bên pha i cu a thanh ghi di ch. Qua trình xử ly tiê p tu c cho tơ i khi tất ca đơn vi ba n rõ đều đƣơ c ma hoa. Điê m kha c nhau giữa CFB va OFB la k-bit hô i tiê p cho bô ghi di ch đƣơ c lấy tư trƣơ c hay sau bô XOR (nê u lấy sau bô XOR thì dữ liê u đa ma hoa ư ng vơ i CFB, còn lấy phi a trƣơ c thì la OFB). Nhìn chung, bô n chê đô cu a DES đều có những ƣu nhƣơ c điê m riêng. Ơ chê đô ECB va OFB, sư thay đô i cu a mô t khô i ba n rõ x i 64 bit sẽ la m thay đô i khô i ba n ma y i tƣơng ư ng, nhƣng ca c khô i ba n kha c thì không bi a nh hƣởng. Trong mô t sô tình huô ng, 71

81 Chƣơng III: Các hê ma kho a bi mâ t đây la mô t ti nh chất đa ng mong muô n. Vi du nhƣ chê đô OFB thƣơ ng đƣơ c dùng đê ma hoa trong viê c truyền ti n hiê u qua vê tinh. Mặt kha c, ở chê đô CBC va CFB, nê u mô t khô i ba n rõ x i bi thay đô i thì y i va ca c khô i tiê p theo sẽ bi a nh hƣởng. Nhƣ vâ y ở chê đô CBC va CFB có thê đƣơ c sử du ng rất hiê u qua trong mu c đi ch xa c thư c. Cu ng vì ly do đó nên CFB thƣơ ng đƣơ c du ng đê ma ho a trong ca c trƣơ ng hơ p ma đƣơ ng truyê n tô t, ti n hiê u i t nhiê u. Đặc biê t hơn, ca c chê đô na y dùng đê ta o ma xa c thư c ba n tin (MAC Message Authentication Code). MAC đƣơ c gă n thêm va o ca c khô i ba n rõ đê thuyê t phu c R (receiver) ră ng đây chi nh la da y ba n rõ đƣơ c gửi tư S (sender) ma không pha i mô t ai kha c gia ma o. Nhƣ vâ y MAC đa m ba o ti nh xa c thư c cu a ba n tin. Ta sẽ mô ta ca ch sử du ng chê đô CBC đê ta o MAC. Ta bă t đâ u bă ng vector khởi ta o IV chư a toa n sô 0. Sau đó dùng chê đô CBC đê ta o ca c khô i ba n ma y 1 y 2...y n vơ i khoa K. Cuô i cùng ta xa c đi nh MAC la y n. Ngƣơ i gửi S (sender) sẽ pha t đi khô i ba n rõ x 1 x 2... x n cùng vơ i MAC. Khi ngƣơ i nhâ n R (receiver) thu đƣơ c x 1 x 2... x n, anh ta sẽ khôi phu c la i y 1, y 2, y n bă ng khoa bi mâ t K va xa c minh liê u y n có giô ng MAC cu a mình thu đƣơ c hay không. Nê u mô t ngƣơ i thư ba E (enemy) thu chặn đƣơ c ba n rõ x 1 x 2... x n rõ ràng E không thê ta o ra MAC hơ p lê nê u không biê t khoa bi mâ t K ma S va R đang dùng. Hơn nữa, nê u E thay đô i i t nhiều nô i dung thì chă c chă n E không thê thay đô i đƣơ c MAC đê đƣơ c R chấp nhâ n. Thông thƣơ ng ta muô n kê t hơ p ca ti nh xa c thư c lâ n đô ba o mâ t. Điều đó đƣơ c thư c hiê n nhƣ sau: trƣơ c tiên S dùng khoa K 1 đê ta o MAC cho da y ba n rõ x 1 x 2... x n, sau đó S xa c đi nh x n+1 la MAC, rô i ma hoa da y x 1 x 2... x n x n+1 bă ng khoá K 2 đê ta o da y ba n ma y 1 y 2... y n y n+1. Khi R nhâ n đƣơ c y 1 y 2...y n y n+1, R sẽ gia i ma bă ng khoa K 2 va sau đó kiê m tra xem x n+1 có pha i la MAC (bă ng khoa K 1 ) cu a da y ba n rõ x 1 x 2... x n hay không. 3. Ba i tâ p Ba i tâ p 3.1: Ha y gia i ma ba n ma đƣơ c ma hóa bă ng hê ma Caesar sau (sƣ duṇg ba ng chƣ ca i tiê ng Anh): WKXPEVXS. Ba i tâ p 3.2 (kho ): Thông điê p bi mâṭ â n sau đoaṇ văn ba n tiê ng Anh sau la gi : The supply of game for London is going steadily up. Head keeper Hudson, we believe, has been now told to receive all orders for fly paper and for preservations of your hen-pheasant's life. Tri ch trong ta c phâ m The Gloria Scott. Ba i tâ p 3.3: Sƣ duṇg ba ng sau (hê ma Freemason) đê gia i ma thông điê p: Ba ng ma ca c ky tư : A B C D E F G H I 72

82 Chƣơng III: Các hê ma kho a bi mâ t K J M L N O P Q R S T U V X W Z Y Gơ i y : đây la môṭ hê ma thay thê tƣơ ng hiǹh. Ba i tâ p 3.4: Ha y tìm thông điê p bi mâṭ â n giâ u trong đoaṇ văn ba n sau: Dear George, 3rd March Greetings to all at Oxford. Many thanks for your letter and for the Summer examination package. All Entry Forms and Fees Forms should be ready for final dispatch to the Syndicate by Friday 20th or at the very least, I m told, by the 21st. Admin has improved here, though there s room for improvement still; just give us all two or three more years and we ll really show you! Please don t let these wretched 16+ proposals destroy your basic O and A pattern. Certainly this sort of change, if implemented immediately, would bring chaos. Ba i tâ p 3.5: Cho hê ma Affine đƣơ c ca i đặt trên Z 99. Khi đó khóa la ca c cặp (a, b) trong đó a, b Z 99 vơ i (a, 99) = 1. Ha m ma hóa E K (x) = (a * x + b) mod 99 va ha m gia i ma D K (x) = a -1 * (x b) mod 99. a) Ha y xa c đi nh sô khóa có thê đƣơ c sử du ng cho hê ma na y. b) Nê u nhƣ khóa gia i ma la K -1 = (16, 7), ha y thư c hiê n ma hóa xâu m = DANGER. Ba i tâ p 3.6: Cho hê ma Affine đƣơ c ca i đặt trên Z 39. Khi đó khóa la ca c cặp (a, b) trong đó a, b Z 39 vơ i (a, 39) = 1. Ha m ma hóa E K (x) = (a * x + b) mod 39 va ha m gia i ma D K (x) = a -1 * (x b) mod 39. a) Ha y xa c đi nh sô khóa có thê đƣơ c sử du ng cho hê ma na y. b) Nê u nhƣ khóa gia i ma la K -1 = (23, 7), ha y thư c hiê n ma hóa xâu m = ATTACK. Ba i tâ p 3.7: Cho hê ma Affine đƣơ c ca i đặt trên Z 55. Khi đó khóa la ca c cặp (a, b) trong đó a, b Z 55 vơ i (a, 55) = 1. Ha m ma hóa E K (x) = (a * x + b) mod 55 va ha m gia i ma D K (x) = a -1 * (x b) mod 55. a) Ha y xa c đi nh sô khóa có thê đƣơ c sử du ng cho hê ma na y. 73

83 Chƣơng III: Các hê ma kho a bi mâ t b) Khóa gia i ma la K -1 = (13, 17), ha y xa c đi nh khóa ma hóa. Ba i tâ p 3.8: Gia sử hê ma Affine đƣơ c ca i đặt trên Z 99. a) Ha y xa c đi nh só khóa có thê có cu a hê ma. b) Gia sử khóa ma hóa la (16, 7), ha y xa c đi nh khóa gia i ma. Ba i tâ p 3.9: Gia sử hê ma Affine đƣơ c ca i đặt trên Z 126. a) Ha y xa c đi nh só khóa có thê có cu a hê ma. b) Gia sử khóa ma hóa la (23, 7), ha y xa c đi nh khóa gia i ma. Ba i tâ p 3.10: Cho hê ma Hill có M = a) Ma trâ n A = thích. có thê đƣơ c sử du ng la m khóa cho hê ma trên không gia i 12 5 b) Cho A = 3 7 ha y thư c hiê n ma hóa va gia i ma vơ i xâu S = HARD. Ba i tâ p 3.11: Cho hê ma Hill có M = a) Ma trâ n A = đƣơ c sử du ng la m khóa cho hê ma trên. Ha y tìm tất ca ca c 11 a khóa có thê sử du ng cu a hê ma trên. b) Gia sử ngƣơ i ta sử du ng hê ma trên đê ma hóa ba n rõ P = EASY va thu đƣơ c ba n ma la UMQA. Ha y thư c hiê n gia i ma vơ i ba n ma la C = MCDZUZ va đƣa ra ba n rõ. Ba i tâ p 3.12: Cho hê ma Hill có M = a) Ma trâ n A = đƣơ c sử du ng la m khóa cho hê ma trên. Ha y tìm tất ca 7 a ca c khóa có thê sử du ng cu a hê ma trên. b) Gia sử ngƣơ i ta sử du ng hê ma trên đê ma hóa ba n rõ P = MARS va thu đƣơ c ba n ma la YARH. Ha y thư c hiê n gia i ma vơ i ba n ma la C = MANNTF va đƣa ra ba n rõ. Ba i tâ p 3.13: Cho hê ma Vigenere có M = 6, K = CIPHER. a) Ha y thư c hiê n ma hóa xâu P = THIS IS MY TEST. b) Ha y thư c hiê n gia i ma xâu M = EICJIC RTPUEI GBGLEK CBDUGV. Ba i tâ p 3.14: Cho hê ma Vigenere có M = 6. Ma hóa xâu P = THIS IS MY TEST ngƣơ i ta thu đƣơ c ba n ma la LLKJML ECVVWM. a) Ha y tìm khóa ma hóa đa dùng cu a hê ma trên. b) Dùng khóa tìm đƣơ c ở phâ n trên ha y gia i ma ba n ma C = KLGZWT OMBRVW. 74

84 Chƣơng III: Các hê ma kho a bi mâ t Ba i tâ p 3.15: Cho hê ma Vigenere có M = 6. Ma hóa xâu P = SPIRIT ngƣơ i ta thu đƣơ c ba n ma la OXHRZW. a) Ha y tìm khóa ma hóa đa dùng cu a hê ma trên. b) Dùng khóa tìm đƣơ c ở phâ n trên ha y gia i ma ba n ma C = BQETYH HMBEEW. Ba i tâ p 3.16: Cho hê ma Vigenere có M = 6. Gia i ma xâu C = RANJLV ngƣơ i ta thu đƣơ c ba n rõ la CIPHER. a) Tìm khóa đa sử du ng cu a hê ma trên. b) Dùng khóa tìm đƣơ c ở phâ n trên ha y ha y gia i ma xâu M = PLDKCI DUJQJO. Ba i tâ p 3.17: Phƣơng pha p ma ho a thay thê đơn gia n Đoaṇ văn ba n sau đƣơ c ma ho a bă ng ca ch sƣ duṇg môṭ phƣơng pha p ma ho a thay thê đơn gia n. Ba n rõ la mô t phâ n cu a mô t văn ba n tiê ng Anh viê t hoa, bỏ qua ca c dấu câu. Ha y sử du ng ba ng thô ng kê tâ n suất xuất hiê n cu a ca c chữ ca i trong tiê ng Anh đê gia i ma ba n ma đa cho. ODQSOCL OW GIU BOEE QRROHOCS QV GIUR KIA QF Q DQCQSLR WIR ICL IW CQFQF EIYQE YIDJUVLR FGFVLDF GIU SLV OCVI GIUR IWWOYL IC VXQV DICPQG DIRCOCS VI WOCP VXL JXICLF ROCSOCS LHLRG YQEELR OF Q POFVRQUSXV YICWUFLP CQFQ BIRMLR QCP LHLRG YQEELR QFFURLF GIU VXQV XOF IR XLR WOEL IR QYYIUCVOCS RLYIRP IR RLFLQRYX JRIKLYV LHLRG ICL IW BXOYX OF DOFFOCS WRID VXL YIDJUVLR FGFVLD OF QAFIEUVLEG HOVQE Ba ng thô ng kê tâ n suất xuất hiêṇ cu a ca c chƣ ca i trong tiê ng Anh: Chƣ ca i Tâ n suâ t Chƣ ca i Tâ n suâ t Chƣ ca i Tâ n suâ t A 8.2 % J 0.2 % S 6.3 % B 1.5 % K 08 % T 9.1 % C 2.8 % L 4.0 % U 2.8 % D 4.3 % M 2.4 % V 1.0 % E 12.7 % N 6.7 % W 2.3 % F 2.2 % O 7.5 % X 0.1 % G 2.0 % P 1.9 % Y 2.0 % H 6.1 % Q 0.1 % Z 0.1 % I 7.0 % R 6.0 % Ba i tâ p 3.18: Cho ba n ma sau: EYMHP GZYHH PTIAP QIHPH YIRMQ EYPXQ FIQHI AHYIW ISITK MHXQZ PNMQQ XFIKJ MKXIJ RIKIU XSSXQ ZEPGS ATIHP PSXZY H 75

85 Chƣơng III: Các hê ma kho a bi mâ t Biê t ră ng ba ng chƣ ca i sƣ duṇg la tiê ng Anh, ha y thư c hiê n ca c yêu câ u sau: a) Ha y đƣa ra ba ng phân phô i tâ n suất cu a ca c chữ ca i trong ba n ma trên. b) Gia sử ba n ma trên nhâ n đƣơ c bă ng ca ch sử du ng phƣơng pha p ma hóa đô i chỗ hoă c thay thê đơn âm, ha y dư a va o ba ng phân phô i tâ n suâ t ơ phâ n a đê xa c điṇh xem kha năng na o la cao hơn (hê ma đô i chô hay thay thê đơn âm)? c) Ha y xa c đi nh ba n rõ nê u nhƣ phâ n bă t đâ u cu a ba n rõ la What ought. d) Gia i thi ch ca ch tha nh lâ p khóa cu a hê ma. Ba i tâ p 3.19 (kho ): Ha y gia i ma ba n ma đƣơ c ma hóa bă ng hê ma Vigenere sau, xa c đi nh đô khóa sử du ng biê t ră ng ba n rõ gô m ca c chữ ca i trong ba ng ma tiê ng Anh. IGDLK MJSGC FMGEP PLYRC IGDLA TYBMR KDYVY XJGMR TDSVK ZCCWG ZRRIP UERXY EEYHE UTOWSERYWC QRRIP UERXJ QREWQ FPSZC ALDSD ULSWF FFOAM DIGIY DCSRR AZSRB GNDLC ZYDMM ZQGSS ZBCXM OYBID APRMK IFYWF MJVLY HCLSP ZCDLC NYDXJ QYXHD APRMQ IGNSU MLNLG EMBTF MLDSB AYVPU TGMLK MWKGF UCFIY ZBMLC DGCLY VSCXY ZBVEQ FGXKN QYMIY YMXKM GPCIJ HCCEL PUSXF MJVRY FGYRQ Sƣ duṇg môṭ trong ca c ngôn ngƣ lâ p triǹh C, C++, Java hoă c C# đê la m ca c ba i tâ p sau: Ba i tâ p 3.20: Viê t chƣơng triǹh đê m tâ n sô xuất hiê n cu a ca c chữ ca i tiê ng Anh trong mô t văn ba n tiê ng Anh ơ daṇg file text. Ba i tâ p 3.21: Viê t chƣơng triǹh đê m tâ n sô xuất hiê n cu a ca c chữ ca i tiê ng Viê t trong mô t văn ba n tiê ng Viêṭ ơ daṇg file RTF. Ba i tâ p 3.22: Viê t chƣơng triǹh ca i đăṭ thuâṭ toa n ma hóa va gia i ma cu a hê ma Ceasar. Ba i tâ p 3.23: Viê t chƣơng triǹh ca i đăṭ thuâṭ toa n ma ho a va gia i ma cu a hê ma Affine. Ba i tâ p 3.24: Viê t chƣơng triǹh tińh điṇh thƣ c cu a ma trâṇ vuông câ p N (N < 20). Ba i tâ p 3.25: Viê t chƣơng triǹh ca i đăṭ thuâṭ toa n ma ho a va gia i ma cu a hê ma Hill. Ba i tâ p 3.26: Viê t chƣơng triǹh ca i đăṭ thuâṭ toa n ma ho a va gia i ma cu a hê ma Vigenere. Ba i tâ p 3.27: Viê t chƣơng triǹh ma ho a va gia i ma file theo hê ma DES vơ i ca c cơ chê ma hóa ECB, CBC. Ba i tâ p 3.28: Viê t chƣơng triǹh ma ho a va gia i ma file theo hê ma AES vơ i ca c cơ chê ma hóa ECB, CBC. 76

86 Chƣơng IV: Các hê ma mâ t kho a công khai CHƢƠNG IV: CA C HÊ MA MÂ T KHO A CÔNG KHAI Trong ca c hê ma mâṭ kho a bi mâṭ nê u chu ng ta biê t kho a va ha m ma ho a chu ng ta có thê tìm đƣơ c khóa va ha m gia i ma mô t ca ch nhanh chóng (thơ i gian đa thƣ c). Môṭ hê ma mâṭ kho a bi mâṭ la môṭ hê ma mâṭ ma tất ca mo i ngƣơ i đều biê t ha m ma hóa va khóa ma hóa nhƣng không tô n ta i mô t thuâ t toa n thơ i gian đa thư c đê có thê ti nh đƣơ c kho a gia i ma tƣ ca c thông tin đo. 1. Khái niê m hê ma mâ t kho a công khai Ca c hê ma đƣơ c trình ba y trong ca c chƣơng trƣơ c đƣơ c goị la ca c hê ma kho a bi mâṭ, khóa đô i xư ng, hay ca c hê ma truyê n thô ng (conventional). Ca c hê ma na y có ca c điê m yê u sau đây: Nê u sô lƣơ ng ngƣơ i sƣ du ng lơ n thì sô khóa sẽ tăng râ t nhanh, chă ng haṇ vơ i n ngƣơ i sƣ duṇg thi sô kho a se la n *(n-1)/2 do đo râ t kho qua n ly, phƣ c ta p va không an toa n. Dƣ a trên ca c hê ma na y không thê xây dƣ ng ca c kha i niêṃ va di ch vu nhƣ chƣ ky điê n tử, di ch vu xa c thư c hóa ngƣơ i dùng cho ca c ư ng du ng thƣơng ma i điê n tƣ. Va o năm 1975 Diffie va Hellman trong môṭ công triǹh cu a miǹh (môṭ ba i ba o) đa đê xuâ t ra ca c y tƣơ ng cho phe p xây dƣ ng lên ca c hê ma hoaṭ đôṇg theo ca c nguyên tă c mơ i gă n liê n vơ i ca c bên truyê n tin chƣ không gă n vơ i ca c că p truyê n tin. Nguyên tă c hoaṭ đôṇg cu a ca c hê ma la mô i bên tham gia truyê n tin se co 2 khóa, môṭ kho a goị la kho a bi mâṭ va môṭ kho a đƣơ c goị la kho a công khai. Khóa bi mâ t la khóa dùng đê gia i ma va đƣơ c giữ bi mâ t (K S ), khóa công khai la khóa dùng đê sinh ma đƣơ c công khai ho a đê bâ t cƣ ai cu ng co thê sƣ duṇg kho a na y gƣ i tin cho ngƣơ i chu cu a hê ma (K P ). Nga y nay chúng ta có thê thấy rất rõ nguyên tă c na y trong viê c gửi , mo i ngƣơ i đê u co thê gƣ i tơ i môṭ điạ chi na o đo, nhƣng chi co ngƣơ i chu sơ hƣ u cu a đi a chỉ đó mơ i có thê đo c đƣơ c nô i dung c u a bư c thƣ, còn những ngƣơ i kha c thì không. Vơ i ca c hê ma kho a công khai viê c phân phô i kho a se trơ nên dê da ng hơn qua ca c kênh cung câ p kho a công côṇg, sô lƣơ ng kho a hê thô ng qua n ly cu ng se i t hơn (la n khóa cho n ngƣơ i du ng). Ca c di ch vu mơ i nhƣ chữ ky điê n tử, thỏa thuâ n khóa cu ng đƣơ c xây dƣ ng dƣ a trên ca c hê ma na y. Ca c yêu câ u cu a loa i hê ma na y: - Viê c sinh K P, K S pha i dê da ng - Viê c tińh E(K P, M) la dê da ng - Nê u co C = E(K P, M) va K S thì viê c tìm ba n rõ cu ng la dê - Nê u biê t K P thì viê c dò tìm K S la khó - Viê c khôi phu c ba n ro tƣ ba n ma la râ t kho Khi A muô n truyê n tin cho B, A se sƣ duṇg kho a K P cu a B đê ma hóa tin tư c va truyê n ba n ma tơ i cho B, B se sƣ duṇg kho a bi mâṭ cu a miǹh đê gia i ma va đo c tin: 77

87 Chƣơng IV: Các hê ma mâ t kho a công khai A Plaintext Mã hóa Khóa công khai (K P ) Ciphertext Khóa bí mật (K S ) Giải mã Plaintext B Hình 4.1: Mô hiǹh sƣ duṇg 1 cu a ca c hê ma khóa công khai PKC Ciphertext = E(K P,Plaintext),Plantext = D(K S, E(K P,Plaintext)) (1) A Plaintext Mã hóa Khóa bí mật (K S ) Signed Message Khóa công khai (K P ) Giải mã Plaintext B Hình 4.2: Mô hiǹh sƣ duṇg 2 cu a ca c hê ma khóa công khai PKC Ciphertext = D(K S, Plaintext), Plaintext = E(K P, D(K S, Plaintext)) (2) Mô hiǹh (2) đƣơ c sƣ duṇg c ho ca c hê chƣ ky điêṇ tƣ co n mô hiǹh (1) đƣơ c sƣ du ng cho ca c hê ma mâ t. Ca c hê ma na y đƣơ c go i la ca c hê ma khóa công khai PKC (Public Key Cryptosystems) hay ca c hê ma bâ t đô i xƣ ng (Asymmetric Encryption Scheme). 2. Nguyên tă c câ u taọ cu a ca c hê ma mâṭ kho a công khai Ca c hê ma khóa công khai đƣơ c xây dư ng dư a trên ca c ha m đƣơ c go i la ca c ha m 1 phi a hay ha m 1 chiê u (one way functions). Ha m mô t chiều f : X Y la m môṭ ha m ma nê u biê t x X ta co thê dê da ng tińh đƣơ c y = f(x). Nhƣng vơ i y bâ t ky Y viê c ti m x X sao cho y = f(x) la khó. Có nghĩa la viê c ti m ha m ngƣơ c f -1 la rất khó. Vi du nê u chúng ta có ca c sô nguyên tô P 1, P 2,..., P n thì viê c ti nh N = P 1 * P 2 *... * P n la dê nhƣng nê u có N thì viê c phân ti ch ngƣơ c la i la mô t ba i toa n khó vơ i N lơ n. Đê thuâṇ tiêṇ ca c ha m môṭ phiá đƣơ c sƣ duṇg trong ca c hê ma PKC thƣơ ng đƣơ c trang bi ca c cƣ a bâ y (trapdoor) giúp cho viê c ti m x tho a ma y = f(x) la dê da ng nê u chúng ta biê t đƣơ c cƣ a bâ y na y. Ha m cu a bâ y (trapdoor function): la mô t ha m mô t chiều trong đó viê c ti nh f -1 la rất nhanh khi chu ng ta biê t đƣơ c cƣ a bâ y cu a ha m. Vi du viê c tìm nghiêṃ cu a ba i toa n xê p balô 0/1 trong hê ma xê p balô Knapsack ma chu ng ta se ho c trong phâ n tiê p theo la môṭ ha m mô t phi a (viê c ma ho a râ t nhanh va dê da ng nhƣng ti m vectơ nghiêṃ tƣơng ƣ ng la khó) nhƣng nê u ta biê t cƣ a b â y (Vectơ xê p balô siêu tăng A ) thì viê c gia i ba i toa n la i rất dê da ng. 3. Môṭ sô hê ma kho a công khai 3.1. Hê ma knapsack Ba i toa n xê p ba lô tô ng qua t: 78

88 Chƣơng IV: Các hê ma mâ t kho a công khai Cho M, N va A 1, A 2,..., A N la ca c sô nguyên dƣơng tìm ca c sô x i không âm sao cho: M = N i1 x * A i i Vecto A = (A 1, A 2,..., A N ) đƣơ c goị la vecto xê p balô co n vectơ X = (x 1, x 2,, x N ) la vectơ nghiêṃ. Môṭ trƣơ ng hơ p riêng đa ng quan tâm cu a ba i toa n xê p ba lô tô ng qua t la trƣơ ng hơ p ma x i {0, 1}. Khi đo ta co ba i toa n xê p ba lô 0, 1. Vecto xê p ba lô siêu tăng : Trong trƣơ ng hơ p vecto (A 1, A 2,..., A N ) đƣơ c să p laị tha nh (A 1, A 2,..., A N ) sao cho: i ta co : ji A ' j < A i thì vecto (A 1, A 2,..., A N ) đƣơ c goị la vecto xê p balo siêu tăng. Khi (A 1, A 2,..., A N ) la mô t vecto xê p balo siêu tăng ta co ngay tińh châ t: M >= A i i. Do đo viê c gia i ba i toa n xê p ba lô 0/1 trơ nên dê da ng hơn râ t nhiê u. Hê ma knapsack do Merkle va Hellman đƣa ra va o năm Cách xây dư ng: 1. Cho n 1 vecto siêu tăng A = (a 1, a 2,..., a N), cho n 1 sô M > 2 * a N, cho n ngâ u nhiên 1 sô u < M va (u, M) = 1 2. Xây dƣ ng Vecto A = (a 1, a 2,..., a N ) trong đo a i = (a i * u) mod M 3. Khóa: K P = (A, M), K S = (u, u -1 ) 4. Không gian ca c ba n ro la không gian moị da y N bit Ma hóa: C = ( N i1 a * x )mod M i i P = (x 1, x 2,..., x n ). Gia i ma : ti nh C = C * u -1 mod M sau đo gia i ba i toa n xê p ba lô 0/1 vơ i A, C tƣ đo tìm đƣơ c P = (x 1, x 2,..., x n ). 15. Vi du 1: Cho hê ma Knapsack co A = (2, 3, 6, 12, 25), N = 5, M = 53, u = 46, u -1 = a) Ha y tìm ca c khóa cu a hê ma trên b) Ma hóa va gia i ma ba n ma tƣơng ư ng cu a ba n rõ M = Hê ma RSA Hê ma RSA đƣơ c đăṭ tên dƣ a theo ca c chƣ ca i đâ u cu a 3 ta c gia cu a hê ma la Rivest, Shamir va Adleman. Đây la thuâ t toa n ma hóa nô i tiê ng nhất va cu ng la thuâ t toa n đƣơ c ư ng du ng thư c tê nhất. Đê ca i đặt RSA ban đâ u mỗi ngƣơ i dùng sinh khóa công khai và khóa bi mâ t cu a mình bă ng ca ch: 79

89 Chƣơng IV: Các hê ma mâ t kho a công khai cho n hai sô nguyên tô lơ n ngâ u nhiên (cỡ gâ n 100 chữ sô ) kha c nhau p và q tính N = p*q cho n mô t sô e nhỏ hơn N va (e, (N)) = 1, e đƣơ c goị la sô mu lâ p ma tìm phâ n tử ngƣơ c cu a e trên va nh module (N), d la sô mu gia i ma khóa công khai là K P = (e, N) khóa bi mâ t la K S = K -1 P = (d, p, q) Viê c thiê t lâ p khóa na y đƣơ c thư c hiê n 1 lâ n khi mô t ngƣơ i dùng thiê t lâ p (thay thê ) khóa công khai cu a ho. Mu e thƣơ ng la kha nhỏ (đê ma hóa nhanh), va pha i la nguyên tô cùng nhau vơ i (N). Ca c gia tri thƣơ ng đƣơ c cho n cho e la 3 hoă c = Tuy nhiên khi e nho thi d se tƣơng đô i lơ n. Khoa bi mâ t la (d, p, q). Ca c sô p va q thƣơ ng có gia tri xấp xỉ nhau nhƣng không đƣơ c bă ng nhau. Chú y la viê c đê lô mô t trong ca c tha nh phâ n trên sẽ la m cho hê ma hóa trở tha nh không an toa n. Sử du ng RSA đê ma hóa mô t thông điê p M: C = M e (mod N) (0<= M < N) gia i ma : M = C d (mod N) Thuâ t toa n ma hóa RSA la m viê c đƣơ c bởi vì nó dư a trên cơ sở toa n ho c la sư tô ng qua t đi nh ly Ferma nhỏ cu a Ơclit: X (N) = 1 (mod N). Trong thuâ t toa n RSA chúng ta cho n e và d là nghi ch đa o cu a nhau trên va nh Z (N ) vơ i e đƣơ c cho n trƣơ c. Do đó chúng ta sẽ có e.d 1 mod (N), suy ra: M = C d = M e.d = M 1+q.(N) = M. (M (N) ) q = M mod N Công thư c na y đa m ba o viê c gia i ma sẽ cho kê t qua đúng la ba n rõ ban đâ u (chú y la điều na y chỉ đúng khi p kha c q). Vi du 1: Cho hê ma RSA có N = p*q = 11 * 47 = 517, e = 3. Hãy tìm các khóa công khai va bi mâ t cu a hê ma trên Ma hóa ba n rõ M = 26. Đâ u tiên ta ti nh đƣơ c (N) = 460 = 10 * 46, do (3,460) = 1 nên a p du ng thuâ t toa n Ơclit mở rô ng ta tìm đƣơ c d = 307. Vâ y khóa công khai cu a hê ma K P = (e, N) = (3, 517), khóa bi mâ t la K S = (d, p, q) = (307, 11, 47). Mã hóa M = 26 ta có C = M e mod N = 26 3 mod 517 = 515. Đô an toa n cu a RSA Đô an toa n cu a RSA phu thuô c va o đô khó cu a viê c ti nh (N) va điều na y đòi hỏi chúng ta câ n phân ti ch N ra thư a sô nguyên tô. Thuâ t toa n phân ti ch sô nguyên tô hiê u qua nhất hiê n nay la Brent-Pollard, chúng ta ha y xem xe t ba ng thô ng kê sau đê thấy đƣơ c tô c đô hoa t đô ng cu a nó: Sô chữ sô trong hê thâ p phân cu a N Sô các thao tác Bit đê phân ti ch N 80

90 Chƣơng IV: Các hê ma mâ t kho a công khai e e e e e e e e e e+19 Ba ng 4.1: Tô c đô cu a thuâṭ toa n Brent-Pollard Ca c nghiên cư u về vấn đề phân ti ch ca c sô nguyên lơ n hiê n nay tiê n triê n rất châ m, ca c tiê n bô lơ n nhất cu ng chỉ la ca c ca i tiê n về thuâ t toa n va có thê nói ră ng trư khi có ca c đô t pha trong viê c phân ti ch ca c sô 1024 bit, RSA la an toa n trong thơ i điê m hiê n nay. Ca c nha mâ t ma ho c pha t minh ra hê ma RSA đa đƣa ra mô t gia i thƣởng tri gia 100 $ va o năm Đó la mô t hê ma vơ i sô N có 129 chữ sô, tha ch thư c na y đa đƣơ c pha. Trên thư c tê đê ca i đặt RSA câ n pha i thư c hiê n ca c thao ta c modulo vơ i ca c sô 300 chữ sô (hay 1024 bit) ma hiê n nay ca c ma y ti nh mơ i chỉ thao ta c vơ i ca c sô nguyên 64 bit, điều na y dâ n đê n nhu câ u câ n ca c thƣ viê n sô ho c nhân chi nh xa c đê la m viê c vơ i ca c sô nguyên lơ n na y. Ngoa i ra viê c sử du ng RSA câ n tơ i ca c sô nguyên tô lơ n nên chúng ta cu ng pha i có mô t cơ sở dữ liê u ca c sô nguyên tô. Đê tăng tô c cho RSA chúng ta có thê sử du ng mô t sô phƣơng pha p kha c chă ng ha n nhƣ ca i tiê n ca c phe p ti nh toa n nhân hai sô lơ n hoặc tăng tô c viê c tìm ba n ma, ba n rõ. Đô i vơ i phe p nhân 2 sô n bit thông thƣơ ng chúng ta câ n thư c hiê n O(n 2 ) phép tính bit. Thuâ t toa n nhân ca c sô nguyên Schonhage Strassen cho phe p chúng ta thư c hiê n phe p nhân 2 sô vơ i đô phư c ta p la O(n log n) vơ i ca c bƣơ c nhƣ sau: Chia mỗi sô nguyên tha nh ca c khô i, sử du ng ca c khô i na y nhƣ ca c hê sô cu a mô t đa thư c. Ti nh ca c đa thư c na y ta i mô t sô ca c điê m thi ch hơ p, va nhân ca c kê t qua thu đƣơ c. Nô i suy ca c kê t qua na y hình tha nh ca c hê sô cu a đa thư c ti ch Kê t hơ p ca c hê sô đê hình tha nh nên ti ch cu a hai sô ban đâ u Biê n đô i Fourier rơ i ra c, va ly thuyê t chặp có thê đƣơ c sử du ng đê tăng tô c đô cu a qua trình nô i suy. 81

91 Chƣơng IV: Các hê ma mâ t kho a công khai Mô t ca ch kha c nữa đê tăng tô c viê c nhân ca c sô lơ n trong hê ma RSA la sử du ng ca c phâ n cư ng chuyên du ng vơ i ca c thuâ t toa n song song. Nhƣ đa trình ba y ở phâ n trƣơ c khi mã hóa chúng ta thƣơ ng cho n e nhỏ đê đâ y nhanh qua trình ma hóa nhƣng điều na y cu ng đô ng nghĩa la viê c gia i ma sẽ châ m do sô mu lơ n. Mô t ca i tiê n đa ng kê trong tô c đô gia i ma RSA có thê nhâ n đƣơ c bă ng ca ch sử du ng đi nh ly phâ n dƣ Trung Hoa la m viê c vơ i modulo p va q tƣơng ư ng thay vì N. Vì p và q chỉ bă ng mô t nửa cu a N nên ti nh toa n sẽ nhanh hơn nhiều. Đi nh ly phâ n dƣ Trung Hoa đƣơ c sử du ng trong RSA bă ng ca ch ta o ra hai phƣơng trình tư viê c gia i ma M = C d (mod N) nhƣ sau: d mod (p-1) M 1 = M mod p = (C mod p) d mod (q-1) M 2 = M mod q = (C mod q) Sau đó ta gia i hê : M = M 1 mod p M = M 2 mod q Hê na y có nghiê m duy nhất theo đi nh ly phâ n dƣ Trung Hoa M = [(M 2 + q M 1 )u mod q] p + M 1 Trong đó p.u mod q = 1 Viê c sử du ng đi nh ly phâ n dƣ Trung Hoa la mô t phƣơng pha p đƣơ c sử du ng rô ng ra i va phô biê n đê tăng tô c đô gia i ma cu a RSA. Hiêṇ tƣơṇg lô ba n ro Môṭ hiêṇ tƣơ ng câ n lƣu y khi sƣ duṇg ca c hê ma RSA la hiêṇ tƣơ ng lô ba n ro. Ta ha y xe t hê ma RSA có N = p*q = 5*7, e = 17, khi đo vơ i M = 6 ta co C = 6 17 mod N = 6. Tƣơng tƣ vơ i hê ma RSA co N mod N = M. = p*q = 109*97, e = 865, vơ i moị M ta đê u co M e Theo tińh toa n thi vơ i môṭ hê ma RSA co N = p*q va e bâ t ky, sô lƣơ ng ba n ro se bi lô khi ma ho a se la (1 + (e-1, p-1))*(1 + (e-1, q-1)). Trong sô ca c hê ma kho a công khai thi co le hê ma RSA (cho tơ i thơ i điê m hiêṇ taị ) la hê ma đƣơ c sử du ng rô ng ra i nhất.tuy nhiên do khi la m viê c vơ i dƣ liêụ đâ u va o (thông điê p ma ho a, ba n rõ) lơ n thi khô i lƣơ ng tińh toa n râ t lơ n nên trên thƣ c tê ngƣơ i ta hay dùng hê ma na y đê ma hóa ca c dữ liê u có ki ch thƣơ c nhỏ, hoă c co yêu câ u ba o mâṭ cao, chă ng haṇ nhƣ ca c kho a phiên (session key) trong ca c phiên truyê n tin. Khi đo hê ma RSA se đƣơ c sƣ duṇg kê t hơ p vơ i môṭ hê ma khô i kha c, chă ng haṇ nhƣ AES, theo mô hình lai ghe p nhƣ sau: 82

92 Chƣơng IV: Các hê ma mâ t kho a công khai Khóa công khai cu a B Khóa bi mâ t cu a B Khóa phiên K RSA C1 C1 RSA Khóa phiên K P AES C2 C2 AES P A - ngƣơ i gửi B - ngƣơ i nhâ n 3.3. Hê ma El Gamal Hình 4.3: Mô hiǹh ƣ ng duṇg lai ghe p RSA vơ i ca c hê ma khô i Hê ma El Gamal la mô t biê n thê cu a sơ đô phân phô i khoa Diffie Hellman. Hê ma này đƣơ c El Gamal đƣa ra va o năm Giô ng nhƣ sơ đô phân phô i khóa Diffie Hellman ti nh an toa n cu a nó dư a trên ti nh khó gia i cu a ba i toa n logarit rơ i ra c. Nhƣơ c điê m chi nh cu a nó la ki ch thƣơ c thông tin sau khi ma hóa gửi đi sẽ tăng gấp đôi so vơ i thông tin gô c. Tuy nhiên so vơ i RSA, El Gamal không có nhiều ră c rô i về vấn đề ba n quyền sử du ng. Ban đâ u ngƣơ i ta sẽ cho n mô t sô nguyên tô lơ n p va hai sô nguyên tuy y nhỏ hơn p là a (a la môṭ phâ n tƣ nguyên thu y cu a Z * P) va x (x la cu a ngƣơ i nhâ n, bi mâ t) sau đó ti nh: y = a x mod p Đê ma hóa mô t thông điê p M (la mô t sô nguyên trên Z P ) tha nh ba n ma C ngƣơ i gửi cho n mô t sô ngâ u nhiên k nhỏ hơn p va ti nh khóa ma hóa K: K = y k mod p Sau đó ti nh cặp ba n ma : C 1 = a k mod p C 2 = K.M mod p Va gửi ba n ma C = (C 1, C 2 ) đi (chú y la sau đó k sẽ bi huy ). Đê gia i ma thông điê p đâ u tiên ta câ n ti nh la i khóa ma hóa thông điê p K: K = C 1 x mod p = a k.x mod p Sau đó ti nh M bă ng ca ch gia i phƣơng trình sau đây: M = C 2. K -1 mod p Viê c gia i ma bao gô m viê c ti nh la i khóa ta m thơ i K (rất giô ng vơ i mô hình cu a Diffie Hellman đƣa ra). Khóa công khai cu a hê ma la (p, a, y), khóa bi mâ t la x. Vi du : Cho hê ma El Gamal có P = 97, a = 5, x =

93 Chƣơng IV: Các hê ma mâ t kho a công khai Tìm khóa cu a hê ma trên. Ma hóa ba n rõ M = 3 vơ i k đƣơ c cho n bă ng 36. Trƣơ c hê t ta ti nh y = 5 58 mod 97 = 44, tư đó suy ra K P = (P, a, y) = (97, 5, 44) và K S = (58). Đê ma hóa thông điê p M = 3 ta tính khóa K = mod 97 = 75 sau đó ti nh: C 1 = 5 36 = 50 mod 97 C 2 = 75.3 mod 97 = 31 mod 97 Vâ y ba n ma thu đƣơ c la C = (50, 31). Vấn đề đô i vơ i ca c hê ma khóa công khai nói chung va El Gamal nói riêng la tô c đô (do pha i la m viê c vơ i ca c sô nguyên lơ n), bên ca nh đó dung lƣơ ng bô nhơ da nh cho viê c lƣu trữ ca c khóa cu ng lơ n. Vơ i hê ma El Gamal chúng ta câ n gấp đôi bô nhơ đê chư a ba n ma so vơ i ca c hê ma kha c. Ngoa i ra do viê c sử du ng ca c sô nguyên tô nên viê c sinh khóa va qua n ly khóa cu ng khó khăn hơn vơ i ca c hê ma khô i. Trên thư c tê ca c hê ma khóa công khai thƣơ ng đƣơ c sử du ng kê t hơ p vơ i ca c hê ma khô i (ma hóa khóa cu a hê ma ) hoặc đê ma hóa ca c thông tin có dung lƣơ ng nhỏ va la mô t phâ n quan tro ng cu a mô t phiên truyền tin na o đó. Thám ma đô i vơ i hê ma El Gamal Đê thƣ c hiêṇ tha m ma hê ma El Gamal chu ng ta câ n gia i ba i toa n Logaritm rơ i ra c. Ơ đây chúng ta sẽ xem xe t hai thuâ t toa n có thê a p du ng đê gia i ba i toa n na y, vơ i đô phƣ c ta p va kha năng a p duṇg kha c nhau. Thuâṭ toa n Shank Thuâṭ toa n na y co n co tên kha c la thuâṭ toa n cân bă ng thơ i gian bô nhơ (Time- Memory Trade Off), có nghĩa la nê u chúng ta có đu bô nhơ thì có thê s ử du ng bô nhơ đó đê la m gia m thơ i gian thư c hiê n cu a thuâ t toa n xuô ng. Input: sô nguyên tô p, phâ n tƣ nguyên thu y a cu a Output: câ n ti m x sao cho a x mod p = y. Thuâṭ toa n: Go i m = [(p-1) 1/2 ] (lâ y phâ n nguyên). Bƣơ c 1: Ti nh a mj mod p vơ i 0 j m-1. * Z p, sô nguyên y. Bƣơ c 2: Să p xê p ca c că p (j, a mj mod p) theo a mj mod p va lƣu va o danh sa ch L 1. Bƣơ c 3: Ti nh ya -i mod p vơ i 0 i m-1. Bƣơ c 4: Să p xê p ca c că p (i, ya -i mod p) theo a mj mod p va lƣu va o danh sa ch L 2. Bƣơ c 5: Tìm trong hai danh sa ch L 1 va L 2 xem co tô n taị că p (j, a mj mod p) va (i, ya -i mod p) na o ma a mj mod p = ya -i mod p (to a đô thư hai cu a hai cặp bă ng nhau). Bƣơ c 6: x = (mj + i) mod (p-1). Kê t qua na y có thê kiê m chư ng tư công thư c a mj mod p = ya -i mod p => a mj + i mod p = y mod p => x = (mj + i) mod (p-1). 84

94 Chƣơng IV: Các hê ma mâ t kho a công khai Đô phư c ta p cu a thuâ t toa n phu thuô c va o m = [(p-1) 1/2 ], vơ i gia tri cu a m, chúng ta câ n tińh ca c phâ n tƣ thuô c hai danh sa ch L 1 va L 2, đều la ca c phe p toa n lu y thư a phu thuô c va o j va i, i va j laị phu thuô c va o m nên co thê nhâṇ thâ y la thuâṭ toa n na y chi co thê a p duṇg trong nhƣ ng trƣơ ng hơ p ma p nho. Thuâṭ toa n Pohlig-Hellman Có những trƣơ ng hơ p đặc biê t ma ba i toa n Logarithm rơ i ra c có thê gia i quyê t vơ i đô phƣ c ta p nho hơn O(p 1/2 ), chă ng haṇ nhƣ khi p 1 chỉ có ca c ƣơ c nguyên tô nhỏ. Môṭ thuâṭ toa n la m viê c vơ i ca c trƣơ ng hơ p nhƣ vâỵ đa đƣơ c Pohlig va Hellman đƣa ra va o năm Gia sử p 1 = 2 n. Go i a la phâ n tử nguyên thu y cu a * Z p, p la môṭ sô le va a (p-1)/2 mod p = -1. Go i m la sô nguyên thuô c khoa ng [0, p-2] ma chúng ta câ n tìm đê y = a m mod p. Gia sử m đƣơ c biê u diê n tha nh daṇg nhi phân m = m 0 + 2m 1 + 4m n-1 m n-1. Khi đo : p1 p1 p1 p1 2 n1 m0 1nÕu m m m m m m n y ( a ) ( a ) a 1nÕu m0 1 Viê c tińh y (p-1)/2 mâ t nhiê u nhâ t 2[log 2 p] bƣơ c va se cho ta m 0. Khi xa c điṇh đƣơ c y 1 = ya -m 0, ta lă p laị thao ta c tƣơng tƣ đê tińh m 1 : p1 p1 p1 n 2 m1 1nÕu m m m m n c1 ( a ) a 1nÕu m1 1 Qua trình ti nh toa n cư thê tiê p diê n cho tơ i khi chúng ta tìm đƣơ c m cu a thuâ t toa n la : n(2[log 2 p] + 2) ~ O((log 2 p) 2 ) Các hê ma mâ t dư a trên các đƣơ ng cong Elliptic i. Đô phư c ta p Hâ u hê t ca c sa n phâ m va ca c chuâ n sƣ duṇg ca c hê ma kho a công khai đê ma ho a va chữ ky điê n tử hiê n nay đều sử du ng hê ma RSA. Tuy nhiên vơ i sƣ pha t triê n cu a nga nh tha m ma va năng lư c nga y ca ng tăng nhanh chóng cu a ca c hê thô ng ma y ti nh, đô da i khóa đê đa m ba o an toa n cho hê ma RSA cu ng nga y ca ng tăng nhanh chóng, điê u na y la m gia m đa ng kê hiêụ năng cu a ca c hê thô ng sƣ duṇg hê ma RSA, đă c biêṭ la vơ i ca c ư ng du ng thƣơng ma i điê n tử trư c tuyê n hay ca c hê thô ng realtime đòi hỏi thơ i gian xƣ ly nhanh cho ng. Gâ n đây môṭ hê ma mơ i đa xuâ t hiêṇ va có kha năng thay thê cho RSA, đo la ca c hê ma kho a công khai dƣ a trên ca c đƣơ ng cong Elliptic ECC (Elliptic Curve Cryptography). Điê m hâ p dâ n nhâ t cu a ca c hê ma dƣ a trên ca c đƣơ ng cong Elliptic la no cho phe p đa t đƣơ c ti nh an toa n tƣơng đƣơng vơ i RSA trong khi kićh thƣơ c kho a sƣ duṇg laị nhỏ hơn rất nhiều, la m gia m sô phe p ti nh sử du ng khi ma hóa, gia i ma va do đó đa t đƣơ c hiêụ năng va tô c đô câ n thiê t. Trên ly thuyê t tińh an toa n cu a ECC không cao bă ng so vơ i RSA va cu ng kho gia i thićh môṭ ca ch dê hiê u hơn so vơ i RSA hay Diffie -Hellman. Cơ sơ toa n ho c đâ y đu cu a ca c hê ma dư a trên đƣơ ng cong Elliptic vƣơ t ra ngoa i pha m vi cu a ta i liê u na y, trong phâ n na y ch úng ta sẽ chỉ xem xe t ca c vấn đề cơ ba n cu a ca c đƣơ ng cong Elliptic va ca c hê ma ECC. 85

95 Chƣơng IV: Các hê ma mâ t kho a công khai Nho m Abel Nhóm Abel G, thƣơ ng đƣơ c ky hiêụ la {G, } la mô t tâ p hơ p vơ i mô t phe p toa n hai ngôi ky hiêụ la, kê t qu a thƣ c hiêṇ cu a phe p toa n vơ i hai phâ n tử a, b G, ky hiê u la (a b) cu ng la mô t phâ n tử thuô c G, ti nh chất na y go i la đóng đô i vơ i tâ p G. Đô i vơ i phe p toa n ca c mêṇh đê sau đê u tho a ma n: (A1): a, b G thi (a b) G, ti nh đóng (Closure) (A2): a, b, c G thi a (b c) = (a b) c, ti nh kê t hơ p (Associate) G. (A3): Tô n taị e G: e a = a e = a a G, e đƣơ c goị la phâ n tƣ đơn vi cu a tâ p (A4): a G, luôn a G: a a = a a = e, a la phâ n tử nghi ch đa o cu a a. (A5): a, b G: a b = b a, ti nh giao hoa n (Commutative). Râ t nhiê u ca c hê ma kho a công khai dƣ a trên ca c nho m Abel. Chă ng haṇ, giao thƣ c trao đô i kho a Diffie -Hellman liên quan tơ i viê c nhân ca c c ặp sô nguyên kha c không theo modulo q (nguyên tô ). Ca c khóa đƣơ c sinh ra bởi phe p ti nh lu y thư a trên nhóm. Đô i vơ i ca c hê ma ECC, phe p toa n cô ng trên ca c đƣơ ng cong Elliptic đƣơ c sử du ng la phe p toa n cơ ba n. Phe p nhân đƣơ c đi nh nghĩa la sư lặp la i cu a nhiều phe p cô ng : a x k = (a + a + + a). Viê c tha m ma liên quan tơ i viê c xa c điṇh gia tri cu a k vơ i ca c thông tin công khai la a va (a x k). Môṭ đƣơ ng cong Elliptic la môṭ phƣơng triǹh vơ i hai biê n va ca c hê sô. Ca c đƣơ ng cong sƣ duṇg cho ca c hê ma mâṭ co ca c biê n va ca c hê thô ng la ca c phâ n tƣ thuô c vê môṭ trƣơ ng hƣ u haṇ, điê u na y taọ tha nh môṭ nho m Abel. Trƣơ c hê t chu ng ta se xem xe t ca c đƣơ ng cong Elliptic trên trƣơ ng sô thƣ c Các đƣơ ng cong Elliptic trên trƣơ ng sô thƣ c Ca c đƣơ ng cong Elliptic không pha i la ca c đƣơ ng Ellipse. Tên goị đƣơ ng cong Elliptic đƣơ c đăṭ vi loaị đƣơ ng cong na y đƣơ c mô ta bơ i ca c phƣơng triǹh bâ c ba, tƣơng tƣ nhƣ ca c phƣơng triǹh đƣơ c du ng đê tińh chu vi cu a môṭ Ellipse. Ơ da ng chung nhất phƣơng triǹh bâ c 3 biê u diê n môṭ đƣơ ng cong Elliptic co daṇg: y 2 + axy + by = x 3 + cx 2 + dx + e. Trong đo a, b, c, d, e la ca c sô thƣ c, x va y la ca c biê n thuô c trƣơ ng sô thư c. Vơ i mu c đi ch đê hiê u về ca c hê ma ECC chúng ta chỉ xe t ca c da ng đƣơ ng cong Elliptic có da ng: y 2 = x 3 + ax + y (phƣơng triǹh 1) Ca c phƣơng trình na y đƣơ c go i la ca c phƣơng trình bâ c ba, trên ca c đƣơ ng cong Elliptic chu ng ta điṇh nghi a môṭ điê m đă c biêṭ goị la điê m O hay điê m taị vô cu ng (point at infinity). Đê ve đƣơ ng cong Elliptic chu ng ta câ n tińh ca c gia tri theo phƣơng triǹh: 3 y x ax b Vơ i mô i gia tri cu thê cu a a va b, sẽ cho chúng ta hai gia tri cu a y (môṭ âm va môṭ dƣơng) tƣơng ƣ ng vơ i môṭ gia tri cu a x, ca c đƣơ ng cong da ng na y luôn đô i xư ng qua đƣơ ng thă ng y = 0. Vi du về hình a nh cu a mô t đƣơ ng cong Elliptic: 86

96 Chƣơng IV: Các hê ma mâ t kho a công khai Hình 4.4: Ca c đƣơ ng cong Elliptic trên trƣơ ng sô thư c Chúng ta xem xe t tâ p điê m E (a, b) chƣ a tâ t ca ca c điê m (x, y) thỏa ma n phƣơng trình 1, cùng vơ i điê m O. Sƣ duṇg ca c că p (a, b) kha c nhau chu ng ta co ca c tâ p E (a, b) kha c nhau. Sƣ duṇg ky hiêụ na y ta co hiǹh ve minh hoạ trên la biê u diê n cu a hai tâ p hơ p E(1, 0) va E(1, 1) tƣơng ƣ ng Mô ta hiǹh ho c cu a phe p côṇg trên ca c đƣơ ng cong Elliptic Vơ i mô i că p (a, b) cu thê chúng ta có thê tha nh lâ p mô t nhóm trên tâ p E ca c điều kiê n sau: (a, b) vơ i 3 2 4a 27b 0 (điê u kiêṇ 1). 87

97 Chƣơng IV: Các hê ma mâ t kho a công khai Vơ i điê u kiêṇ bô sung na y ta điṇh nghi a phe p côṇg trên đƣơ ng cong Elliptic, mô ta vê măṭ hi nh ho c nhƣ sau: nê u ba điê m trên môṭ đƣơ ng cong Elliptic taọ tha nh môṭ đƣơ ng thă ng thi tô ng cu a chu ng bă ng O. Vơ i điṇh nghi a na y ca c luâṭ cu a phe p côṇg trên đƣơ ng cong Elliptic nhƣ sau: 1. O la phâ n tử trung hòa cu a phe p cô ng. P E(a, b): P + O= P. Trong ca c mêṇh đê sau chu ng ta gia sƣ P, Q O. 2. P = (x, y) thì phâ n tử đô i cu a P, ky hiê u la P, sẽ la (x, -y) va P + (P) = P P = O. P va P nă m trên môṭ đƣơ ng thă ng đƣ ng 3. Đê côṇg hai điê m P va Q không co cùng hoa ng đô x, vẽ mô t đƣơ ng thă ng nô i chu ng va ti m giao điê m R. Dê da ng nhâṇ thâ y chi co môṭ điê m R nhƣ vâỵ, tô ng cu a P va Q la điê m đô i xư ng vơ i R qua đƣơ ng thă ng y = Giao điê m cu a đƣơ ng thă ng nô i P vơ i đô i cu a P, tƣ c P, đƣơ c xem nhƣ că t đƣơ ng cong taị điê m vô cƣ c va đo chińh la O. 5. Đê nhân đôi môṭ điê m Q, ta ve môṭ tiê p tuyê n taị Q vơ i đƣơ ng cong va ti m giao điê m S: Q + Q = 2Q = S. Vơ i 5 điê u kiêṇ na y E(a, b) la mô t nhóm Abel Mô ta đaị sô về phe p cô ng Trong phâ n na y chu ng ta se triǹh ba y môṭ sô kê t qua cho phe p tińh toa n trên ca c đƣơ ng cong Elliptic. Vơ i hai điê m phân biêṭ P = (x P, y P ) va Q = (x Q, y Q ) không pha i la đô i cu a nhau, đô dô c cu a đƣơ ng nô i l giƣ a chu ng la Ä = (y Q, y P ). Có chi nh xa c mô t điê m kha c ma l giao vơ i đƣơ ng cong, va đó chi nh la đô i cu a tô ng giữa P va Q. Sau môṭ sô phe p toa n đa i sô chúng ta có thê ti nh ra R = P + Q nhƣ sau: x y x 2 R P Q y y ( x y ) R P P R Phe p toa n nhân đôi đô i vơ i P đƣơ c ti nh nhƣ sau: x R 3x a 2y 2 P 2 ( ) 2xP P 3x a y x x y 2 P R ( )( P R) P 2yP Các đƣơ ng cong Elliptic trên Z P Ca c hê ma ECC sử du ng ca c đƣơ ng cong Elliptic vơ i ca c biê n va ca c hê sô giơ i ha n thuô c vê môṭ trƣơ ng hƣ u haṇ. Có hai ho ca c đƣơ ng cong Elliptic có thê sử du ng vơ i ca c hê ma ECC: ca c đƣơ ng cong nguyên tô trên Z P va ca c đƣơ ng cong nhi phân trên GF(2 m ). Môṭ đƣơ ng cong nguyên tô trên Z P, chúng ta sử du ng phƣơng trình bâ c ba ma ca c biê n va ca c hê sô cu a nó đều la ca c gia tri nguyên nă m tư 0 tơ i p-1 va ca c phe p ti nh đƣơ c thƣ c hiêṇ theo modulo P. Trên đƣơ ng cong nhi phân, ca c biê n va ca c hê sô la ca c gia tri trên GF(2 n ). va ca c ti nh toa n đƣơ c thư c hiê n trên GF (2 n ). Ca c nghiên cư u về ly thuyê t đa cho thâ y ca c đƣơ ng cong nguyên tô la phu hơ p nhâ t cho ca c ƣ ng duṇg phâ n mê m vi nhƣ ng phƣ c ta p trong tińh toa n đô i vơ i ca c đƣơ ng cong nhi phân, nhƣng đô i vơ i ca c ƣ ng du ng phâ n cư ng thì viê c sử du ng ca c đƣơ ng cong nhi phân la i tô t hơn vì cơ chê la m viê c cu a ca c ma ch, ca c con chi p rất phù hơ p vơ i ca c ti nh toa n trên trƣơ ng nhi phân. 88

98 Chƣơng IV: Các hê ma mâ t kho a công khai Vơ i ca c đƣơ ng cong Elliptic trên Z P chúng ta đi nh nghĩa la i phƣơng trình biê u diê n nhƣ sau: y 2 mod p = (x 3 + ax + y) mod p. (phƣơng triǹh 2) Chă ng haṇ ca c gia tri a = 1, b = 1, x = 9, y = 9, y = 7, p = 23 thỏa ma n phƣơng trình trên. Ca c gia tri hê sô a, b va ca c biê n sô x, y đê u thuô c Z P. Tâ p E P (a, b) gô m tâ t ca ca c că p (x, y) thỏa ma n phƣơng trình phƣơng trình 2. Vi du vơ i p = 23, a = b = 1, ta co tâ p E 23 (1, 1): (0, 1) (6, 4) (12, 19) (0, 22) (6, 19) (13, 7) (1, 7) (7, 11) (13, 16) (1, 16) (7, 12) (17, 3) (3, 10) (9, 7) (17, 20) (3, 13) (9, 16) (18, 3) (4, 0) (11, 3) (18, 20) (5, 4) (11, 20) (19, 5) (5, 19) (12, 4) (19, 18) Ba ng 4.2: Biê u diê n cu a tâ p E23(1, 1) 89

99 Chƣơng IV: Các hê ma mâ t kho a công khai Ca c qui tă c về phe p cô ng cu ng đƣơ c đi nh nghĩa tƣơng tư đô i vơ i ca c đƣơ ng cong Elliptic nguyên tô : Điê u kiêṇ: (4a b 2 ) mod p P + O = P 2. Nê u P = (x P, y P ) thì P +(x P, y P ) = O, điê m (x P, y P ) đƣơ c goị la đô i cu a P, ky hiêụ la P. Chă ng haṇ trên E 23 (1, 1), P = (13, 7) ta co P = (13, 7) nhƣng 7 mod 23 = 16 nên P = (13, 16), cu ng thuô c E 23 (1, 1). 3. Vơ i hai điê m phân biêṭ P = (x P, y P ) va Q = (x Q, y Q ), R = P + Q = (x R, y R ) đƣơ c điṇh nghi a nhƣ sau: x x x p 2 R ( P Q)mod y ( ( x x ) y )mod p R P R P Trong đo : yq yp ( ) mod p,( P Q) xq xp 2 3xP a ( ) mod p,() p Q) 2yP 4. Phe p nhân đƣơ c đi nh nghĩa la tô ng cu a ca c phe p cô ng, chă ng haṇ 4P = P + P + P + P. Vi du vơ i P = (3, 10) va Q = (9, 7) trên E 23 (1, 1) ta co : ( )mod 23 ( )mod 23 ( )mod nên x R = ( ) mod 23 = 17 y R = (11(3-17) - 10) mod 23 = 20. Nên P + Q = (17, 20). Đê ti m 2P ta tińh: 2 3(3 ) ( )mod 23 ( )mod 23 ( )mod Chú y la đê thư c hiê n phe p ti nh cuô i cùng ta lấy phâ n tử nghi ch đa o cu a 4 trên Z 23 sau đo nhân vơ i tƣ sô la 1. x R =(6 2 (3-7) - 10) mod 23 = 30 mod 23 = 7 y R = (6(3-7) - 10) mod 23 = 34 mod 23 = 12 Kê t luâṇ: 2P = (7, 12). Đê xa c điṇh đô an toa n cu a ca c hê ma mâṭ dƣ a trên ca c đƣơ ng cong Elliptic, ngƣơ i ta thƣơ ng dƣ a trên môṭ con sô la sô phâ n điê m trên mô t nho m Abel hƣ u haṇ, go i la N, đƣơ c điṇh nghi a trên môṭ đƣơ ng cong Elliptic. Trong trƣơ ng hơ p nho m hƣ u haṇ E P (a, b), ta co ca c câṇ cu a N la : p 1 2 p N p 1 2 p, con sô na y xâ p xi bă ng sô phâ n tƣ cu a Z P (bă ng p) Các đƣơ ng cong Elliptic dư a trên các trƣơ ng hữu ha n GF(2 m ) Sô phâ n tƣ cu a trƣơ ng hƣ u haṇ GF (2 m ) la 2 m, ca c phe p toa n đƣơ c trang bi trên GF(2 m ) la phe p toa n cô ng va phe p toa n nhân đƣơ c thư c hiê n vơ i ca c đa thư c. Đô i vơ i ca c đƣơ ng cong Elliptic dƣ a trên GF (2 m ), chúng ta sử du ng mô t phƣơng trình bâ c ba vơ i ca c biê n va ca c tham sô co gia tri thuô c GF (2 m ), ca c phe p ti nh đƣơ c thư c hiê n tuân theo ca c phe p toa n trên GF(2 m ). 1. Phƣơng triǹh biê u diê n 90

100 Chƣơng IV: Các hê ma mâ t kho a công khai So vơ i ca c hê ma mâṭ dƣ a trên ca c đƣơ ng cong trên Z P, da ng biê u diê n cu a ca c hê ma dư a trên GF(2 m ) tƣơng đô i kha c: y 2 + xy = x 3 + ax 2 + b (phƣơng triǹh 3) Trong đo ca c biê n x, y va ca c hê sô a, b la ca c phâ n tƣ cu a GF(2 m ) va ca c phe p ti nh toa n đƣơ c thư c hiê n tuân theo ca c qui tă c trên GF(2 m ). Chúng ta ky hiê u E 2 m (a, b) la tất ca ca c cặp sô nguyên (x, y) thỏa ma n phƣơng trình phƣơng triǹh 3 va điê m vô cùng O. Vi du : chúng ta có thê sử du ng GF(2 4 ) vơ i đa thƣ c bâ t kha qui f(x) = x 4 + x + 1. Phâ n tƣ sinh cu a GF(2 4 ) la g thỏa ma n f(g) = 0, g 4 = g + 1, hay ơ daṇg nhi phân la Chúng ta co ba ng lu y thƣ a cu a g nhƣ sau: g0 = 0001 g4 = 0011 g8 = 0101 g12 = 1111 g1 = 0010 g5 = 0110 g9 = 1010 g13 = 1101 g2 = 0100 g6 = 1100 g10 = 0111 g14 = 1001 g3 = 1000 g7 = 1011 g11 = 1110 g15 = 0001 Chă ng haṇ g 5 = g 4 g = (g+1)g = g 2 + g = Xe t đƣơ ng cong Elliptic y 2 + xy = x 3 + g 4 x 2 + 1, trong trƣơ ng hơ p na y a = g 4 va b = g 0 = 1. Môṭ điê m nă m trên đƣơ ng cong la (g 5, g 3 ): (g 3 ) 2 + (g 5 )(g 3 ) = (g 5 ) 3 + (g 4 )(g 5 ) g 6 + g 8 = g 15 + g = = 1001 Ba ng sau la ca c điê m trên E 2 4 (g 4, 1): Hình biê u diê n tƣơng đƣơng: (0, 1) (g 5, g 3 ) (g 9, g 13 ) (1, g 6 ) (g 5, g 11 ) (g 10, g) (1, g 13 ) g 6, g 8 ) (g 10, g 8 ) (g 3, g 8 ) (g 6, g 14 ) (g 12,0) (g 3, g 13 ) (g 9, g 10 ) (g 12, g 12 ) 91

101 Chƣơng IV: Các hê ma mâ t kho a công khai Hình 4.5: Hình biê u diê n E 2 4 (g 4, 1) Môṭ nho m Abel co thê điṇh nghi a dƣ a trên E 2 m (a, b) vơ i điê u kiêṇ b 0. Ca c luâ t thư c hiêṇ vơ i phe p côṇg, a, b E 2 m (a, b): 1. P + O = P 2. Nê u P = (x P, y P ) thì P + (x P, x P + y P ) = O. Điê m (x P, x P + y P ) la điê m đô i cu a P, ky hiê u la P. 3. Nê u P = (x P, y P ) va Q = (x Q, y Q ) va P Q, P Q thì R = P + Q = (x R, y R ) đƣơ c xa c đi nh bă ng ca c công thư c sau: sau: 2 xr xp xq a y ( x x ) x y a R P R R P Trong đo : yq yp xq xp 4. Nê u P = (x P, y P ) thì R = 2P = (x R, y R ) đƣơ c xa c điṇh bă ng ca c công thƣ c x 2 R a y x ( 1) x 2 R P R Trong đo : y xp x P P 92

102 Chƣơng IV: Các hê ma mâ t kho a công khai Hê ma mâṭ dƣ a trên ca c đƣơ ng cong Elliptic Phe p toa n cô ng trên đƣơ ng cong Elliptic tƣơng ư ng vơ i phe p nhân theo modulo trong hê ma RSA, còn phe p toa n nhân (côṇg nhiê u lâ n ) trên đƣơ ng cong Ellipti c tƣơng ư ng vơ i phe p lu y thư a theo modulo trong hê ma RSA. Tƣơng tƣ nhƣ ba i toa n cơ sơ cu a hê ma RSA la ba i toa n phân tićh ra daṇg thƣ a sô nguyên tô cu a môṭ sô nguyên lơ n, ca c hê ma dƣ a trên ca c đƣơ ng cong Elliptic cu ng co ca c ba i toa n cơ sở la mô t ba i toa n khó gia i, go i la ba i toa n Logarithm trên đƣơ ng cong Elliptic: Xe t phƣơng trình Q = kp trong đo P, Q E P (a, b) va k < p. Viê c tińh Q nê u biê t P va k la môṭ ba i toa n dê (thƣ c hiêṇ theo ca c công thƣ c). Nhƣng viê c xa c điṇh k vơ i gia tri P, Q cho trƣơ c laị la ba i toa n kho. Chúng ta xem xe t vi du (Certicom Website E 23 (9, 17) đƣơ c xa c điṇh bơ i phƣơng triǹh y 2 mod 23 = (x 3 + 9x + 17) mod 23. Vơ i Q = (4, 5) va P = (16, 5) thì k thỏa ma n Q = kp se bă ng bao nhiêu? Phƣơng pha p đơn gia n nhất la nhân P lên nhiều lâ n cho tơ i khi bă ng Q: P = (16, 5), 2P = (20, 20), 3P = P = (16, 5); 2P = (20, 20); 3P = (14, 14); 4P = (19, 20); 5P = (13, 10); 6P = (7, 3); 7P = (8, 7); 8P (12, 17); 9P = (4, 5). Nhƣ vâỵ k = 9. Trên thƣ c tê ca c hê ma se đa m ba o gia tri k la đu lơ n đê phƣơng pha p ve t ca n nhƣ trên la không thê thư c hiê n đƣơ c Phƣơng pha p trao đô i kho a Diffie-Hellman dƣ a trên ca c đƣơ ng cong Elliptic Ban đâ u ngƣơ i ta choṇ môṭ sô nguyên lơ n q, có thê la mô t sô nguyên tô p hay có da ng 2 m tƣơng ƣ ng vơ i ca c phƣơng triǹh biê u diê n va ca c tham sô a, b. Viê c lƣ a choṇ na y cho chúng ta tâ p hơ p E q (a, b). Tiê p theo choṇ môṭ điê m G = (x 1, y 1 ) E P (a, b) có bâ c n râ t lơ n, bâ c n cu a điê m G la sô nguyên nho nhâ t tho a ma n ng = O. E q (a, b) va G la ca c tham sô công khai cho hê ma mâṭ dƣ a trên đƣơ ng cong Elliptic tƣơng ƣ ng vơ i ca c tham sô p, a, b. Phƣơng pha p trao đô i kho a giƣ a hai ngƣơ i du ng A va B co thê thƣ c hiêṇ nhƣ sau: 1. A choṇ môṭ sô nguyên n A nhỏ hơn n. Đo chińh la kho a riêng cu a A. Sau đo sinh kho a công khai P A = n A x G, khóa na y la mô t điê m trên E q (a, b). 2. Tƣơng tƣ B cu ng choṇ môṭ kho a riêng n B va ti nh khóa công khai P B. 3. A sinh môṭ kho a bi mâṭ K = n A x P B. B sinh kho a bi mâṭ K = n B x P A. Dê da ng kiê m chƣ ng ca c kho a bi mâṭ cu a A va B ti nh đƣơ c đều bă ng nhau : n A x P B = n A x (n B x G) = n B x (n A x G) = n B x P A. Hình minh ho a ca c bƣơ c: 93

103 Chƣơng IV: Các hê ma mâ t kho a công khai Hình 4.6: Phƣơng pha p trao đô i kho a Diffie-Hellman dƣ a trên ECC Đê tâ n công phƣơng pha p trao đô i kho a trên, ke tấn công câ n pha i ti nh đƣơ c gia tri k vơ i ca c gia tri công khai la G va kg, va đây chi nh la ba i toa n Logarithm trên đƣơ ng cong Elliptic, môṭ ba i toa n kho. Vi du : p = 211, E 211 (0, 4) tƣơng ƣ ng vơ i phƣơng triǹh biê u diê n y 2 = x 3 + 4, ta choṇ G = (2, 2). Do 240G = O nên n = 240. A choṇ kho a riêng la n A = 121, khóa công khai tƣơng ƣ ng cu a A se la P A = 121(2, 2) = (115, 48). Khóa riêng cu a B la n B = 203 nên kho a công khai cu a B la P B = 203(2, 2) = ( 130, 203). Khóa bi mâṭ (chia se ) giƣ a A va B la 121(130, 203) = 203(115, 48) = (161, 69) Thuâṭ toa n ma ho a va gia i ma Có nhiều ca ch ma hóa /gia i ma đa đƣơ c nghiên cư u vơ i ca c hê ma trên ca c đƣơ ng cong Elliptic, ở đây chúng ta sẽ xem xe t ca ch đơn gia n nhâ t. Thuâṭ toa n ma ho a ban đâ u sẽ thư c hiê n phe p biê n đô i tiền xử ly tư input la mô t ba n rõ m tha nh da ng mô t điê m P m. Điê m P m sẽ đƣơ c ma hóa tha nh ba n ma va sau đó gia i ma. Thƣ c châ t viê c tiê n xƣ ly na y không đơn gia n vi không pha i tâ t ca ca c toạ đô co daṇg (x, y) đều thuô c E P (a, b). Có 94

Luâ t Chăm So c Sư c Kho e Mơ i va Medicare

Luâ t Chăm So c Sư c Kho e Mơ i va Medicare Luâ t Chăm So c Sư c Kho e Mơ i va Medicare Nê u quy vi cu ng như nhiê u ngươ i kha c co Medicare, quy vi co thê thă c mă c luâ t chăm so c sư c kho e mơ i co y nghi a gi vơ i quy vi. Mô t sô ca c thay

More information

1. chapter G4 BA O CA O PHA T TRIÊ N BÊ N VƯ NG

1. chapter G4 BA O CA O PHA T TRIÊ N BÊ N VƯ NG 1. chapter G4 HƯƠ NG DÂ N BA O CA O PHA T TRIÊ N BÊ N VƯ NG 1 MU C LU C 1. GIƠ I THIÊ U 4 2. CA CH SƯ DU NG SA CH HƯƠ NG DÂ N THƯ C HIÊ N 6 3. NGUYÊN TĂ C BA O CA O 8 3.1 Nguyên tă c Xa c đi nh Nô i dung

More information

Phâ n thông tin ba o ha nh cu a ASUS

Phâ n thông tin ba o ha nh cu a ASUS Phâ n thông tin ba o ha nh cu a ASUS VN13459 v7 Ông/ Bà: Sô điê n thoa i: Đi a chi : Address: E-mail: Nga y mua: / / (nga y/tha ng/năm) Tên đa i ly : Sô điê n thoa i đa i ly : Đi a chi đa i ly : Sô seri

More information

PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON

PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON NGUYỄN THỊ CẨM BÍCH MODULE mn 20 PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON 69 A. GIỚI THIỆU TỔNG QUAN Ph ng pháp d y h c là m t trong nh ng y u t quan tr ng c a quá trình d y h c. quá trình d

More information

Google Apps Premier Edition

Google Apps Premier Edition Google Apps Premier Edition THÔNG TIN LIÊN H www.google.com/a/enterprise Email: apps-enterprise@google.com Nh ng gi i pháp m nh. i m i c a Google. Chi phí th p. i Google Apps Premier Edition, b n có th

More information

KHI X L T SÔNG H NG VÀO SÔNG ÁY

KHI X L T SÔNG H NG VÀO SÔNG ÁY XÂY D NG B N NG P L T KHU V C H DU TÓM T T T KHI X L T SÔNG H NG VÀO SÔNG ÁY Lê Vi t S n 1 Bài báo này trình bày k t qu nghiên c u, ánh giá r i ro ng p l vùng h du sông áy khi x l t sông H ng vào sông

More information

log23 (log 3)/(log 2) (ln 3)/(ln2) Attenuation = 10.log C = 2.B.log2M SNR db = 10.log10(SNR) = 10.log10 (db) C = B.log2(1+SNR) = B.

log23 (log 3)/(log 2) (ln 3)/(ln2) Attenuation = 10.log C = 2.B.log2M SNR db = 10.log10(SNR) = 10.log10 (db) C = B.log2(1+SNR) = B. Tính log 2 3, thì sẽ bấm như sau (log 3)/(log 2) hoặc (ln 3)/(ln2) Độ suy giảm tính hiệu: Attenuation = 10.log 10 ( ) (db) với - P signal là công suất tín hiệu nhận - công suất đầu vào (input signal power)

More information

Bài 3: Mô phỏng Monte Carlo. Under construction.

Bài 3: Mô phỏng Monte Carlo. Under construction. Bài 3: Mô phỏng Monte Carlo Under contruction. Giới thiệu Monte Carlo (MC) là phương pháp dùng ố ngẫu nhiên để lấy mẫu (ampling) trong một tập hợp Thuật ngữ Monte Carlo được ử dụng lần đầu bởi Metropoli

More information

CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY

CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY Nội dung 1. Giới thiệu 2. Ý tưởng cơ bản 3. Mã minh họa 4. Ví dụ 5. Đánh giá thuật toán 6. Bài tập TRƯƠNG XUÂN NAM 2 Phần 1 Giới thiệu TRƯƠNG XUÂN

More information

ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN. Đi a chi Tha nh phô Tiê u bang Ma zip

ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN. Đi a chi Tha nh phô Tiê u bang Ma zip ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN Ngày: Xin vui lo ng viết in tâ t ca thông tin. Thông tin về người nộp đơn than phiền: ( ) ( ) Tên Sô điê n thoa i nơi la m viê c Sô điê n thoa i nha riêng Đi a

More information

Ngô Nh Khoa và cs T p chí KHOA H C & CÔNG NGH 58(10): 35-40

Ngô Nh Khoa và cs T p chí KHOA H C & CÔNG NGH 58(10): 35-40 XÂY DỰNG PHƯƠNG THỨC TRUYỀN THÔNG TRỰC TIẾP GIỮA PC VÀ PLC ỨNG DỤNG TRONG HỆ ĐIỀU KHIỂN GIÁM SÁT TRẠM TRỘN BÊ TÔNG Ngô Như Khoa 1*, Nguyễn Văn Huy 2 1 Đại học Thái Nguyên, 2 Trường Đại học KTCN - Đại học

More information

NG S VIÊN TRONG CH M SÓC

NG S VIÊN TRONG CH M SÓC Information Sheet INSERT HEADING / SPECIALTY If you have any English language difficulties, please ask staff to book an interpreter. From home contact the Telephone Interpreter Service on 9605 3056. Services

More information

PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4

PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4 PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4 Nội dung chính trong phần này: 1. Khai báo các thông số của biến 2. Tạo biến giả 3. Hồi quy OLS kết hợp với phương pháp Stepwise * SPSS 12.0 là sản phẩm

More information

Why does the motion of the Pioneer Satellite differ from theory?

Why does the motion of the Pioneer Satellite differ from theory? Why does the motion of the Pioneer Satellite differ from theory? Le Van Cuong cuong_le_van@yahoo.com Information from Science journal shows that the motion of the Pioneer satellite, which was launched

More information

BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG

BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG THÀNH VIÊN : 1. Nguyễn Ngọc Linh Kha 08066K. Nguyễn Thị Hải Yến 080710K. Hồ Nữ Cẩm Thy 08069K 4. Phan Thị Ngọc Linh 080647K 5. Trần Mỹ Linh 080648K L p 08TT1D_KHOÁ 1 Page

More information

Đánh giá: ❶ Bài tập (Quiz, In-Class) : 20% - Quiz (15-30 phút): chiếm 80%; 5 bài chọn 4 max TB - In-Class : chiếm 20% ; gọi lên bảng TB

Đánh giá: ❶ Bài tập (Quiz, In-Class) : 20% - Quiz (15-30 phút): chiếm 80%; 5 bài chọn 4 max TB - In-Class : chiếm 20% ; gọi lên bảng TB 404001 - Tín hiệu và hệ thống CBGD: Trần Quang Việt Liên hệ : Bộ môn CSKTĐ P.104 nhà B3 Email : tqviethcmut@gmail.com ; tqviet@hcmut.edu.vn Tài liệu tham khảo [1] B. P. Lathi, Signal Processing and Linear

More information

VÔ TUYẾN ĐIỆN ĐẠI CƯƠNG. TS. Ngô Văn Thanh Viện Vật Lý

VÔ TUYẾN ĐIỆN ĐẠI CƯƠNG. TS. Ngô Văn Thanh Viện Vật Lý Ô TUYẾN ĐỆN ĐẠ CƯƠNG TS. Ngô ăn Thanh iện ật Lý Hà Nội 2016 2 Tài liệu tham khảo [1] David B. Rutledge, The Electronics of Radio (Cambridge University Press 1999). [2] Dennis L. Eggleston, Basic Electronics

More information

15 tháng 06 năm 2014.

15 tháng 06 năm 2014. BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN THỊ HOÀI THANH MỘT SỐ PHƯƠNG PHÁP GIẢI BÀI TOÁN BẤT ĐẲNG THỨC BIẾN PHÂN Chuyên ngành : Phương pháp Toán sơ cấp Mã số : 60 46 0113 TÓM TẮT LUẬN VĂN THẠC SĨ

More information

Các Phương Pháp Phân Tích Định Lượng

Các Phương Pháp Phân Tích Định Lượng Năm học 013-014 Chương Trình Giảng Dạy Kinh tế Fulbright Học kỳ Thu năm 013 Các Phương Pháp Phân Tích Định Lượng Gợi ý giải Bài tập 7 HỒI QUY ĐƠN BIẾN (TIẾP THEO Ngày Phát: Thứ ba 6/11/013 Ngày Nộp: Thứ

More information

Ban Tô Chư c ĐH6 không ngưng ơ đo ma đa đăng pho ng a nh Passport cu a Tha i Văn Dung lên trang ma ng cu a ĐH6.

Ban Tô Chư c ĐH6 không ngưng ơ đo ma đa đăng pho ng a nh Passport cu a Tha i Văn Dung lên trang ma ng cu a ĐH6. Thông tin ma tôi nhâ n đươ c cho thâ y ră ng VOICE la tha nh phâ n chu lư c đư ng ra tô chư c Đa i Hô i Ky 6 cu a Ma ng Lươ i Tuô i Tre Lên Đươ ng. Ban tô chư c qua ng ca o râ m rô 3 yê u nhân ngươ i Viê

More information

Th vi n Trung Tâm HQG-HCM s u t m

Th vi n Trung Tâm HQG-HCM s u t m U N XIN VI C B NG TI NG VI T NG HÒA XÃ H I CH NGH A VI T NAM c l p T do H nh phúc N XIN VI C Kính g i:...... Tôi tên là:... Sinh ngày... tháng...n m...t i... Gi y ch ng minh nhân dân s :... p ngày... tháng...n

More information

5 Dùng R cho các phép tính đơn giản và ma trận

5 Dùng R cho các phép tính đơn giản và ma trận 5 Dùng R cho các phép tính đơn giản và ma trận Một trong những lợi thế của R là có thể sử dụng như một máy tính cầm tay. Thật ra, hơn thế nữa, R có thể sử dụng cho các phép tính ma trận và lập chương.

More information

Mục tiêu. Hiểu được. Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời

Mục tiêu. Hiểu được. Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời ĐỊNH THỜI CPU Mục tiêu Hiểu được Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời Ghi chú: những slide có dấu * ở tiêu đề là những slide dùng để diễn giải thêm Định thời CPU

More information

KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là

KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là LƯỢC ĐỒ CHỮ KÝ SỐ MÙ XÂY DỰNG TRÊN BÀI TOÁN KHAI CĂN Nguyễn Tiền Giang 1, Nguyễn Vĩnh Thái 2, Lưu Hồng Dũng 3 Tóm tắt Bài báo đề xuất một lược đồ chữ ký số mù phát triển từ một dạng lược đồ chữ ký số được

More information

Chapter#2 Tính chất của vật chất (Properties of Substances)

Chapter#2 Tính chất của vật chất (Properties of Substances) Chapter#2 Tính chất của vật chất (Properties o Substances) Mục đích của chương Làm quen với một số khái niệm về tính chất của vật chất, chất tinh khiết. Làm quen với các dạng năng lượng và sự biến đổi

More information

Năm 2015 O A O OB O MA MB = NA

Năm 2015 O A O OB O MA MB = NA hép vị tự quay Nguyễn Văn Linh Năm 2015 1 Giới thiệu hép vị tự và phép quay là những phép biến hình quen thuộc. Tuy nhiên phép vị tự quay còn ít được đề cập tới. Vì vậy trong bài viết này xin giới thiệu

More information

GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015

GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015 GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015 Mục lục 1 Giới thiệu 2 1.1 Một số khái niệm................................. 2 1.2 Phân loại

More information

hoctoancapba.com Kho đ ề thi THPT quốc gia, đ ề kiểm tra có đáp án, tài liệu ôn thi đại học môn toán

hoctoancapba.com Kho đ ề thi THPT quốc gia, đ ề kiểm tra có đáp án, tài liệu ôn thi đại học môn toán hoctoncpb.com xin giới thiệu Tuyển chọn các bài ÌN Ọ KÔNG GIN trong 1 Đ Ề TI T Ử TÂY NIN 15 y vọng tài liệu này s ẽ giúp các em học sinh ôn tập tốt hơn chuyên đề ÌN Ọ KÔNG GIN trong k ỳ thi TPT QG sắp

More information

À N. á trong giáo d. Mã s HÀ N NGHIÊN C ÊN NGÀNH TÓM T

À N. á trong giáo d. Mã s HÀ N NGHIÊN C ÊN NGÀNH TÓM T VI À N C K NGHIÊN C ÊN NGÀNH Mã s á trong giáo d TÓM T HÀ N - 2016 Công trình àn thành t Ph Ph Vi HQGHN c: 1. PGS.TS. Ngô Doãn ãi 2. TS. Nguy... Ph... Lu...... ti... vào h Có th ìm - - Trung tâm Thông

More information

KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ

KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ TÓM T T KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ Nguy n Th Minh Thu n*, Tr n Thanh Nhãn*, Nguy n ng Ti n ** t v n : Thu c b o v th c v t làm ô nhi m môi tr ng và c bi t là

More information

TÓM TẮT ĐỀ TÀI NGHIÊN CỨU

TÓM TẮT ĐỀ TÀI NGHIÊN CỨU ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN TÓM TẮT ĐỀ TÀI NGHIÊN CỨU Họ và tên nghiên cứu sinh: Họ và tên cán bộ hướng dẫn chính: Họ và tên cán bộ hướng dẫn phụ: Huỳnh Trần Mỹ Hòa PGS-TS Trần

More information

GIÁO H I PH T GIÁO VI T NAM TH NG NH T

GIÁO H I PH T GIÁO VI T NAM TH NG NH T BUREAU INTERNATIONAL D'INFORMATION BOUDDHISTE INTERNATIONAL BUDDHIST INFORMATION BUREAU PHÒNG THÔNG TIN PH T GIÁO QU C T C quan Thông tin và Phát ngôn c a Vi n Hóa Ð o, Giáo h i Ph t giáo Vi t Nam Th ng

More information

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA A V I R A A N T O À N H Ơ N Trang 1 Mục lục 1. Mở chương trình... 3 2. Giao Diện Chính Của Chương Trình... 4 3. Quét Virus... 7 4. Theo dõi bảo mật cho kết nối

More information

sao cho a n 0 và lr(a n ) = Ra n X a n với X a n R R. Trong bài báo này, chúng Z r (R) (t.ư., Z l (R)).

sao cho a n 0 và lr(a n ) = Ra n X a n với X a n R R. Trong bài báo này, chúng Z r (R) (t.ư., Z l (R)). TẠP CHÍ KHOA HỌC, Đại học Huế, Tập 74B, Số 5, (2012), 33-42 VỀ VÀNH HẦU NIL-NỘI XẠ YẾU Trương Công Quỳnh 1, Hoàng Thị Hà 2 1 Trường Đại học Sư phạm, Đại học Đà Nẵng 2 Trường THPT chuyên Lê Quý Đôn, Quảng

More information

NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP.

NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP. NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP. HCM M ột trong những chức năng quan trọng hiện nay của thư viện đại học là

More information

PHÂN TÍCH T & CÂN BẰNG B

PHÂN TÍCH T & CÂN BẰNG B Chương VI PHÂN TÍCH T TRỌNG LƯỢNG & CÂN BẰNG B TẠO T O TỦAT (Gravimetric analysis & Precipitation Equilibria) Ts. Phạm Trần Nguyên Nguyên ptnnguyen@hcmus.edu.vn A. Đặc điểm chung của phân tích trọng lượng.

More information

Đầu Nối Cáp T 630A 93-EE9X5-4-Exp-A-3/C Series Đầu Nối T : 24 kv 125 kv BIL Đáp ứng các tiêu chuẩn : IEC 502-4, VDE 0278 Hướng Dẫn Sử Dụng

Đầu Nối Cáp T 630A 93-EE9X5-4-Exp-A-3/C Series Đầu Nối T : 24 kv 125 kv BIL Đáp ứng các tiêu chuẩn : IEC 502-4, VDE 0278 Hướng Dẫn Sử Dụng Đầu Nối Cáp T 630A 93-EE9X5-4-Exp-A-3/C Series Đầu Nối T : 24 kv 125 kv BIL Đáp ứng các tiêu chuẩn : IEC 502-4, VDE 0278 Hướng Dẫn Sử Dụng Mã hiệu sản phẩm Đường kính lõi cách điện cáp (mm) Cỡ cáp (mm2)

More information

NGUYỄN THỊ VIỆT HƢƠNG

NGUYỄN THỊ VIỆT HƢƠNG BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC THÁI NGUYÊN -----------------***----------------- NGUYỄN THỊ VIỆT HƢƠNG NGHIÊN CỨU XÂY DỰNG PHƢƠNG PHÁP ĐIỀU KHIỂN THÍCH NGHI, BỀN VỮNG HỆ EULER - LAGRANGE THIẾU CƠ CẤU CHẤP

More information

TỐI ƯU HÓA ĐA MỤC TIÊU ỨNG DỤNG XÁC LẬP CHẾ ĐỘ CÔNG NGHỆ SẤY THĂNG HOA (STH) TÔM THẺ

TỐI ƯU HÓA ĐA MỤC TIÊU ỨNG DỤNG XÁC LẬP CHẾ ĐỘ CÔNG NGHỆ SẤY THĂNG HOA (STH) TÔM THẺ THOÂNG BAÙO KHOA HOÏC TỐI ƯU HÓA ĐA MỤC TIÊU ỨNG DỤNG XÁC LẬP CHẾ ĐỘ CÔNG NGHỆ SẤY THĂNG HOA (STH) TÔM THẺ MULTI-OBJECTIVE OPTIMIZATION APPLIED TO DETERMINE REGIME TECHNOLOGICAL FREEZE DRYING OF PENAEUS

More information

LÝ LỊCH KHOA HỌC. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI. 1. Họ và tên: Vũ Đặng Hoàng

LÝ LỊCH KHOA HỌC. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI. 1. Họ và tên: Vũ Đặng Hoàng BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc 1. Họ và tên: Vũ Đặng Hoàng LÝ LỊCH KHOA HỌC 2. Ngày tháng năm sinh: 07/01/1976 Nam Dân tộc: Kinh 3. Quê

More information

SỞ GD & ĐT BẮC NINH ĐÊ TẬP HUẤN THI THPT QUỐC GIA NĂM Đề bài y x m 2 x 4. C. m 2. có bảng biến thiên như hình dưới đây:

SỞ GD & ĐT BẮC NINH ĐÊ TẬP HUẤN THI THPT QUỐC GIA NĂM Đề bài y x m 2 x 4. C. m 2. có bảng biến thiên như hình dưới đây: SỞ GD & ĐT BẮC NINH ĐÊ TẬP HUẤN THI THPT QUỐC GIA NĂM 08 Môn: Toán Đề bài 4 y m 4 Câu : Tìm tất cả các giá trị của tham số m để hàm số cực trị. m m Câu : Gọi M là giao điểm của đồ thị hàm số tuyến với

More information

Mã khối không thời gian trực giao và điều chế lưới

Mã khối không thời gian trực giao và điều chế lưới Mã khối không thời gian trực giao và điều chế lưới Nguyễn Thị Hương Trường Đại học Công nghệ Chuyên ngành: Kỹ thuật Điện tử; Mã số: 60 5 70 Cán bộ hướng dẫn khoa học: PGS.TS. Trịnh Anh Vũ Năm bảo vệ: 01

More information

NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI LƯỚI: XÉT CHO TRƯỜNG HỢP LƯỚI ĐIỆN HẠ THẾ 1 PHA

NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI LƯỚI: XÉT CHO TRƯỜNG HỢP LƯỚI ĐIỆN HẠ THẾ 1 PHA NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI ƯỚI: XÉT CHO TRƯỜNG HỢP ƯỚI ĐIỆN HẠ THẾ 1 PHA Xuan Truong Nguyen, Dinh Quang Nguyen, Tung Tran To cite this version:

More information

CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI

CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI I. M C ÍCH - Rà soát và phát tri n chính sách h tr cho nh ng s d ng t ai t t nh t và qu n lý b n v ng ngu n tài

More information

NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH

NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH Lê Trung Ch n 1, Kh u Minh C nh 1 TÓM T T T Vi c nâng ng/ ào kênh s nh h ng n tích l y dòng ch y.

More information

Tạp chí Tin học và Điều khiển học, T.29, S.3 (2013), 221 231 ĐỒNG BỘ THÍCH NGHI MẠNG CNN HỖN LOẠN VÀ ỨNG DỤNG TRONG BẢO MẬT TRUYỀN THÔNG ĐÀM THANH PHƯƠNG 1, PHẠM THƯỢNG CÁT 2 1 Trường Đại học Công nghệ

More information

C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M

C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M Xu t b n l n th 3 T ch c Y t Th gi i Geneva 2004 Hi u ính Th c s Ph m V n H u, Vi n V sinh D ch t Tây Nguyên Th c s Nguy n Th Thu H ng, i h c Qu c gia Hà N i

More information

ĐIỆN TỬ SỐ HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN

ĐIỆN TỬ SỐ HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN Giảng viên: ThS. Trần Thúy Hà Điện thoại/e-mail: 0912166577 / thuyhadt@gmail.com Bộ môn: Kỹ thuật điện tử- Khoa KTDT1 Học kỳ/năm biên soạn: Học kỳ

More information

Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng

Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng Ch ng 3 PHÁT TRI N D LI U Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng t là gì,... ) và m i d li u

More information

TÍNH TOÁN ĐỊNH HƯỚNG CHẾ TẠO CẤU TRÚC UVLED CHO BƯỚC SÓNG PHÁT XẠ 330nm

TÍNH TOÁN ĐỊNH HƯỚNG CHẾ TẠO CẤU TRÚC UVLED CHO BƯỚC SÓNG PHÁT XẠ 330nm TÍNH TOÁN ĐỊNH HƯỚNG CHẾ TẠO CẤU TRÚC UVLED CHO BƯỚC SÓNG PHÁT XẠ 330nm Huỳnh Hoàng Trung Trường Đại học Sư phạm Kỹ thuật Tp.HCM, Việt Nam ABSTRACT: High-efficiency Ultraviolet Light Emitting Diodes (UVLEDs)

More information

CƠ SỞ VẬT LÝ HẠT NHÂN

CƠ SỞ VẬT LÝ HẠT NHÂN NGUYỄN AN SƠN CƠ SỞ VẬT LÝ HẠT NHÂN NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Lời mở đầu Kỹ thuật hạt nhân là ngành học sử dụng chùm bức xạ trong đời sống theo hai hình thức: phi năng lượng và năng

More information

TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM

TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM Tr n B ng, (X2000-Supaéro 2004), Eurocopter. Th tr ng v n t i hàng không Vi t Nam N n kinh t Vi t Nam ã t c nh ng thành t u áng k sau khi chuy n sang n n kinh t

More information

Nhiễu và tương thích trường điện từ

Nhiễu và tương thích trường điện từ Nhiễu và tương thích trường điện từ TS. NGUYỄN Việt Sơn BM Kỹ thuật đo và Tin học công nghiệp Viện Điện Departement 3I Instrumentation and Idustrial Informatics C1-108 Hanoi University of Science and Technology

More information

Phạm Phú Anh Huy Khoa Xây dựng, Đặng Hồng Long- Khoa Xây dựng,

Phạm Phú Anh Huy Khoa Xây dựng, Đặng Hồng Long- Khoa Xây dựng, NGHIÊN CỨU CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN KHẢ NĂNG CHỊU CẮT CỦA DẦM BÊ TÔNG CỐT THÉP THEO LÝ THUYẾT MIỀN NÉN CẢI TIẾN (STUDY OF THE PARAMETERS EFFECTED THE SHEAR CAPACITY OF REINFORCED CONCRETE BEAM ACCORDING

More information

KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ

KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ COLORADO M I KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ h danh bi u t ng bán t i M, Chevrolet Colorado m i v i đ ng c VGT Turbo diesel Duramax m nh m b t phá lên

More information

TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY TÍNH

TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY TÍNH Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR'9) ; Cần Thơ, ngày 4-5/8/2016 DOI: 10.15625/vap.2016.00087 TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY

More information

DỰ BÁO TƯỚNG THẠCH HỌC VÀ MÔI TRƯỜNG TRẦM TÍCH CHO ĐÁ CHỨA CARBONATE PHÍA NAM BỂ SÔNG HỒNG, VIỆT NAM

DỰ BÁO TƯỚNG THẠCH HỌC VÀ MÔI TRƯỜNG TRẦM TÍCH CHO ĐÁ CHỨA CARBONATE PHÍA NAM BỂ SÔNG HỒNG, VIỆT NAM DỰ BÁO TƯỚNG THẠCH HỌC VÀ MÔI TRƯỜNG TRẦM TÍCH CHO ĐÁ CHỨA CARBONATE PHÍA NAM BỂ SÔNG HỒNG, VIỆT NAM Tóm tắt ThS. Đỗ Thế Hoàng, TS. Nguyễn Hải An, ThS. Trần Huy Dư Tổng công ty Thăm dò Khai thác Dầu khí

More information

1 (408) hoă c 1 (800)

1 (408) hoă c 1 (800) SANTA CLARA COUNTY OFFICE OF EDUCATION Early Learning Services Department 1290 Ridder Park Drive, MC 225 San Jose, CA 95131-2304 www.myheadstart.org 1 (408) 453-6900 hoă c 1 (800) 820-8182 Ki nh thưa quy

More information

NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ

NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ Hanoi Center for Financial and Industrial Mathematics Trung Tâm Toán Tài Chính và Công Nghiệp Hà Nội NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ Đỗ Đức Thái và Nguyễn Tiến Dũng Hà Nội Toulouse, 2010 ii Bản thảo

More information

TRƯƠ NG CAO ĐĂ NG NGHÊ SA I GO N SỔ TAY NHÂN VIÊN

TRƯƠ NG CAO ĐĂ NG NGHÊ SA I GO N SỔ TAY NHÂN VIÊN TRƯƠ NG CAO ĐĂ NG NGHÊ SA I GO N SỔ TAY NHÂN VIÊN Tháng 06 năm 2014 1 MỤC LỤC Trang LƠ I MỞ ĐẦU... 3 I. GIỚI THIỆU SAIGONTECH...4 1. Sư ma ng cu a SaigonTech 2. Tầm nhìn cu a SaigonTech II. TUYỂN DỤNG

More information

PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP

PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP THERMAL STRESS ANALYSIS OF EARLY- AGE CONCRETE STRUCTURES FOR CRACKING CONTROL

More information

THÔNG TIN VỀ LUẬN ÁN TIẾN SĨ

THÔNG TIN VỀ LUẬN ÁN TIẾN SĨ THÔNG TIN VỀ LUẬN ÁN TIẾN SĨ 1. Họ và tên nghiên cứu sinh: Nguyễn Thị Kim Giang 2.Giới tính: Nữ 3. Ngày sinh: 20/7/1983 4. Nơi sinh: Hà Nội 5. Quyết định công nhận nghiên cứu sinh: số 3201/QĐ-SĐH ngày

More information

Nguồn điện một chiều E mắc trong mạch làm cho diode phân cực thuận. Gọi I D là dòng điện thuận chạy qua diode và V D là hiệu thế 2 đầu diode, ta có:

Nguồn điện một chiều E mắc trong mạch làm cho diode phân cực thuận. Gọi I D là dòng điện thuận chạy qua diode và V D là hiệu thế 2 đầu diode, ta có: Chương 1: Mạch Diode CHƯƠNG I MẠCH DIODE Trong chương này, chúng ta khảo sát một số mạch ứng dụng căn bản của diode bán dẫn (giới hạn ở diode chỉnh lưu và diode zener - Các diode đặc biệt khác sẽ được

More information

Nguyễn Thị Huyền Trang*, Lê Thị Thủy Tiên Trường Đại học bách khoa, ĐHQG tp Hồ Chí Minh,

Nguyễn Thị Huyền Trang*, Lê Thị Thủy Tiên Trường Đại học bách khoa, ĐHQG tp Hồ Chí Minh, TẠP CHÍ SINH HỌC, 2012, 34(3SE): 219-226 TĂNG HỆ SỐ NHÂN NHANH CHỒI CÂY HOA SALEM TÍM (Limonium sinuatum L. Mill) BẰNG CÁCH SỬ DỤNG KẾT HỢP CÁC CHẤT ĐIỀU HÒA SINH TRƯỞNG THỰC VẬT VÀ ADENINE TRONG NUÔI

More information

THÔNG TIN LUẬN ÁN TIẾN SĨ

THÔNG TIN LUẬN ÁN TIẾN SĨ THÔNG TIN LUẬN ÁN TIẾN SĨ 1. Họ và tên nghiên cứu sinh: Trần Thanh Hà 2.Giới tính: Nữ 3. Ngày sinh: 20/02/1987 4. Nơi sinh: Thái Bình 5. Quyết định công nhận nghiên cứu sinh: 4050/QĐ-KHTN-CTSV ngày 19/09/2013

More information

Hà Nội, ngày 22 tháng 1 năm 2012 (ngày Tất niên năm Nhâm Thìn) Đại diện nhóm biên soạn Chủ biên Hoàng Minh Quân Phan Đức Minh

Hà Nội, ngày 22 tháng 1 năm 2012 (ngày Tất niên năm Nhâm Thìn) Đại diện nhóm biên soạn Chủ biên Hoàng Minh Quân Phan Đức Minh LỜI NÓI ĐẦU Ngay từ năm 1736, nhà toán học Euler đã giải quyết thành công bài toán tổ hợp về bảy cây cầu ở thành phố Königsberg, Đức (nay là Kaliningrad, Nga) nằm trên sông Pregel, bao gồm hai hòn đảo

More information

M C L C. Thông tin chung. Ho t ng doanh nghi p. Báo cáo & ánh giá BÁO CÁO THƯỜNG NIÊN Thông tin công ty. 3 Quá trình phát tri n c a INVESTCO

M C L C. Thông tin chung. Ho t ng doanh nghi p. Báo cáo & ánh giá BÁO CÁO THƯỜNG NIÊN Thông tin công ty. 3 Quá trình phát tri n c a INVESTCO M C L C Thông tin chung 2 Thông tin công ty 3 Quá trình phát tri n c a INVESTCO Ho t ng doanh nghi p 4 C c u c ông & qu n tr INVESTCO 6 Công ty con & Công ty liên doanh, liên k t Báo cáo & ánh giá 14 Báo

More information

Trao đổi trực tuyến tại: l

Trao đổi trực tuyến tại:   l Trao đổi trực tuyến tại: www.mientayvn.com/chat_box_li.htm l Lời nói đầu Giáo trình Linh Kiện Điện Tử ********* Linh kiện điện tử là kiến thức bước đầu và căn bản của ngành điện tử. Giáo trình được biên

More information

System AR.12_13VI 01/ with people in mind

System AR.12_13VI 01/ with people in mind System 2000 H ng d n S d ng 04.AR.12_13VI 01/2018...with people in mind C NH BÁO tránh th ng tích, hãy luôn c H ng d n S d ng này và các tài li u kèm theo tr c khi s d ng s n ph m. B t bu c ph i c H ng

More information

(Analytical Chemistry)

(Analytical Chemistry) HÓA A PHÂN TÍCHT (Analytical Chemistry) Ts. Phạm Trần Nguyên Nguyên ptnnguyen@hcmus.edu.vn (Dành cho sinh viên Khoa Hóa, Đại Học Lạc Hồng) Nămhọc 2008-2009 HọcKỳ 2 THÔNG TIN TỔNG T QUÁT Thời lượng: 48

More information

NH NGH A C C THU T NG 4 PH N I NHI M HUẨN ỆNH VIỆN V VỆ SINH TAY 6 PH N II TH C H NH HU N UYỆN V GI M S T VỆ SINH TAY 9

NH NGH A C C THU T NG 4 PH N I NHI M HUẨN ỆNH VIỆN V VỆ SINH TAY 6 PH N II TH C H NH HU N UYỆN V GI M S T VỆ SINH TAY 9 Ẩ AG ƯỚG DẪ Ệ I AY G A U G 4 I I UẨ Ệ IỆ Ệ I AY 6 I.1 6 I.2 6 I.3? 6 I.4 6 I.5 7 I.5.1 8 II U UYỆ GI Ệ I AY 9 II.1 9 II.1.1 9 II.1.2 9 II.1.3 10 II.2 10 II.3 10 II.4 10 II.5 11 II.5.1 ( ) 1: 11 II.5.2

More information

GIÁO TRÌNH LÝ THUY T C B N V M NG LAN

GIÁO TRÌNH LÝ THUY T C B N V M NG LAN GIÁO TRÌNH LÝ THUY T C B N V M NG LAN C L C Ch ng I: GI I THI U CHUNG... 1 I. M NG TRUY N THÔNG VÀ CÔNG NGH M NG...1 1. Gi i thi u chung...1 2 Th nào là m t m ng máy tính...3 2.1. Các thành ph n m ng:

More information

SỬ DỤNG PHƯƠNG PHÁP ĐO SÂU ĐIỆN XÁC ĐỊNH CẤU TRÚC ĐỊA CHẤT VÀ QUY MÔ PHÂN BỐ CỦA THAN TRONG TRẦM TÍCH ĐỆ TAM VÙNG TRŨNG AN NHƠN - BÌNH ĐỊNH

SỬ DỤNG PHƯƠNG PHÁP ĐO SÂU ĐIỆN XÁC ĐỊNH CẤU TRÚC ĐỊA CHẤT VÀ QUY MÔ PHÂN BỐ CỦA THAN TRONG TRẦM TÍCH ĐỆ TAM VÙNG TRŨNG AN NHƠN - BÌNH ĐỊNH PETROVIETNAM Tóm tắt SỬ DỤNG PHƯƠNG PHÁP ĐO SÂU ĐIỆN XÁC ĐỊNH CẤU TRÚC ĐỊA CHẤT VÀ QUY MÔ PHÂN BỐ CỦA THAN TRONG TRẦM TÍCH ĐỆ TAM VÙNG TRŨNG AN NHƠN - BÌNH ĐỊNH ThS. Hoàng Anh Tuấn, TS. Trịnh Xuân Cường,

More information

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN HÀ MY

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN HÀ MY ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN --------------------- NGUYỄN HÀ MY KHẢO SÁT MỘT SỐ DẪN XUẤT HALOGEN, ANCOL, PHENOL VÀ AXIT CACBOXYLIC BẰNG PHƯƠNG PHÁP HÓA HỌC LƯỢNG TỬ LUẬN VĂN

More information

Hướng dẫn sử du ng máy in

Hướng dẫn sử du ng máy in Hướng dẫn sử du ng máy in TIẾNG VIỆT Trươ c khi sư du ng ma y in, đa m ba o đo c ky hươ ng dâ n na y, bao gô m ca phâ n Ca nh ba o an toa n. Đo c hươ ng dâ n se giu p ba n sư du ng ma y in đu ng ca ch.

More information

BÀI TOÁN CỰC TRỊ VỀ HÌNH HỌC TRONG MẶT PHẲNG

BÀI TOÁN CỰC TRỊ VỀ HÌNH HỌC TRONG MẶT PHẲNG 1 TRƯỜNG ĐẠI HOC SƯ PHẠM HÀ NỘI 2. KHOA TOÁN HỌC PHẠM THỊ HIỀN BÀI TOÁN CỰC TRỊ VỀ HÌNH HỌC TRONG MẶT PHẲNG KHOÁ LUẬN TỐT NGHIỆP CHUYÊN NGÀNH : HÌNH HỌC Người hướng dẫn khoa học T.S PHAN HỒNG TRƯỜNG Hà

More information

cách kết hợp thuật toán Fuzzy C-Means (FCM) với giải thuật di truyền (GA). Sau đó, HaT2-FLS

cách kết hợp thuật toán Fuzzy C-Means (FCM) với giải thuật di truyền (GA). Sau đó, HaT2-FLS Tạp chí Tin học và Điều khiển học, T.27, S.2 (2011), 119 130 XÂY DỰNG HỆ LÔGIC MỜ LOẠI HAI ĐẠI SỐ GIA TỬ PHAN ANH PHONG 1, ĐINH KHẮC ĐÔNG 2, TRẦN ĐÌNH KHANG 2 1 Khoa Công nghệ thông tin, trường Đại học

More information

BIỂU PHÍ SẢN PHẨM DỊCH VỤ DOANH NGHIỆP TẠI QUẦY (Biểu phí chưa bao gồm VAT)

BIỂU PHÍ SẢN PHẨM DỊCH VỤ DOANH NGHIỆP TẠI QUẦY (Biểu phí chưa bao gồm VAT) BIỂU PHÍ SẢN PHẨM DỊCH VỤ DOANH NGHIỆP TẠI QUẦY TÊN PHI VND Ngoa i tê (USD/EUR/Va ng) A. DI CH VU TA I KHOA N TIÊ N GƯ I Mơ ta i khoa n Phi Qua n ly ta i khoa n (1) 120.000/quy 6 USD/quy Đo ng ta i khoa

More information

AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES

AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES HIGH SCHOOL A Quick Overview of the American International School 850 students, Pre-Kindergarten

More information

SÁNG TH T, NGÀY

SÁNG TH T, NGÀY 4 SÁNG TH T, NGÀY 23.4.2008 07h00 08h30 Xe a i bi u t Vi n Toán h c lên Ba Vì 8h30 09h00 ón ti p i bi u t i Ba Vì 09h00 09h15 Khai m c H i th o 09h15 10h15 Ch t a: Hoàng Xuân Phú Hoàng T y (Bài gi ng m

More information

MÔN KINH TẾ LƯỢNG (Econometric)

MÔN KINH TẾ LƯỢNG (Econometric) TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING BỘ MÔN TOÁN THỐNG KÊ Slide bài giảng và bài tập MÔN KINH TẾ LƯỢNG (Econometric) Giảng viên : ThS. Nguyễn Trung Đông Tp. Hồ Chí Minh, 0-0 - 014 TRƯỜNG ĐẠI HỌC TÀI CHÍNH

More information

BẢNG GIÁ THIẾT BỊ SELEC

BẢNG GIÁ THIẾT BỊ SELEC Hình ảnh BẢNG GIÁ THIẾT BỊ SELEC ÁP DỤNG TỪ NGÀY 01/10/2015 Mã hàng Mô tả Giá (VNĐ) (Có VAT) ĐỒNG HỒ TỦ ĐIỆN DẠNG SỐ HIỂN THỊ DẠNG LED MA12 MA202 (72x72) MA302 - Đồng hồ đo Dòng điện AC gián tiếp qua CT

More information

Kho a đa o ta o vê phân ti ch an toa n thu y nhiê t lo pha n ư ng

Kho a đa o ta o vê phân ti ch an toa n thu y nhiê t lo pha n ư ng Biên dịch các bài giảng trong khóa đào tạo chuyên sâu về đánh giá và phân tích an toàn lò phản ứng (JNES 2010) *** Sản phẩm Hợp đồng thuê khoán chuyên môn số 04/HĐ NV 2012 Người thực hiện: Nguyễn Tú Oanh

More information

- Cài đặt hệ số CT: 1/5-999 KA. - Nguồn cấp: AC: 240V AC ±20%, (50 / 60Hz) - 110V AC ±20%, (50 / 60Hz) - Mạng kết nối: 1 pha 2 dây hoặc 3 pha 3/4 dây

- Cài đặt hệ số CT: 1/5-999 KA. - Nguồn cấp: AC: 240V AC ±20%, (50 / 60Hz) - 110V AC ±20%, (50 / 60Hz) - Mạng kết nối: 1 pha 2 dây hoặc 3 pha 3/4 dây BẢNG GIÁ THIẾT BỊ SELEC ĐỒNG HỒ TỦ ĐIỆN DẠNG SỐ HIỂN THỊ DẠNG LED ÁP DỤNG TỪ NGÀY 01/10/2015 MA12 MA202 MA302 MA335 MV15 MV205 MV305 MV334 MF16 MF216 MF316 - Đồng hồ đo Dòng điện AC gián tiếp qua CT -

More information

Lu t t tụng qu c tế và thủ tục t tụng qu c tế

Lu t t tụng qu c tế và thủ tục t tụng qu c tế Tạp chí Kho h c HQGHN: Lu t h c T p 33 S 2 (2017) 21-32 Lu t t tụng qu c tế và thủ tục t tụng qu c tế L n ính * Khoa Luật, ĐHQGHN, 144 Xuân Thủy, Cầu Giấy, Hà Nội, Việt Nam Nh n ngày 22 tháng 4 n m 2017

More information

Thông Tin An Toàn V n Ph m AAM704 INTERGARD 345 DUSTY GREY PART A. 1.2 Cách dùng ng nh t có liên quan c a các ch t ho c h n h p và cách dùng ng c l i

Thông Tin An Toàn V n Ph m AAM704 INTERGARD 345 DUSTY GREY PART A. 1.2 Cách dùng ng nh t có liên quan c a các ch t ho c h n h p và cách dùng ng c l i International Paint Pte Ltd. Thông Tin An Toàn V n Ph m AAM704 INTERGARD 345 DUSTY GREY PART A S n d ch 2 S n hi u ch nh 04/08/15 1. Chi ti t v n ph m và công ty 1.1. Tên S n Ph m INTERGARD 345 DUSTY GREY

More information

BỒI DƯỠNG HỌC SINH GIỎI

BỒI DƯỠNG HỌC SINH GIỎI SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ NỘI VÀ HỘI TOÁN HỌC HÀ NỘI ========================== NGUYỄN VĂN MẬU, NGUYỄN HỮU ĐỘ (Chủ biên) CÁC CHUYÊN ĐỀ TOÁN HỌC BỒI DƯỠNG HỌC SINH GIỎI (Tóm tắt báo cáo Hội nghị khoa học)

More information

Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE

Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE If you are searching for the book Saigon oi Vinh Biet (Vietnamese Edition) by Duong Hieu Nghia chuyen dich in pdf format,

More information

NGHIÊN CỨU CHẾ TẠO MÀNG MỎNG SẮT ĐIỆN - ÁP ĐIỆN PZT BẰNG PHƯƠNG PHÁP SOL - GEL ĐỊNH HƯỚNG ỨNG DỤNG TRONG CẢM BIẾN SINH HỌC

NGHIÊN CỨU CHẾ TẠO MÀNG MỎNG SẮT ĐIỆN - ÁP ĐIỆN PZT BẰNG PHƯƠNG PHÁP SOL - GEL ĐỊNH HƯỚNG ỨNG DỤNG TRONG CẢM BIẾN SINH HỌC NGHIÊN CỨU CHẾ TẠO MÀNG MỎNG SẮT ĐIỆN - ÁP ĐIỆN PZT BẰNG PHƯƠNG PHÁP SOL - GEL ĐỊNH HƯỚNG ỨNG DỤNG TRONG CẢM BIẾN SINH HỌC Nguyễn Thị Quỳnh Chi 1, Nguyễn Vũ Cẩm Bình 1, Nguyễn Đức Minh 2, Vũ Ngọc Hùng

More information

DANH T NG VI T NAM TI U S DANH T NG VI T NAM TH K XX - T P II

DANH T NG VI T NAM TI U S DANH T NG VI T NAM TH K XX - T P II Giáo H i Ph t Giáo Vi t Nam Ph t L ch 2546 2002 DANH T NG VI T NAM TI U S DANH T NG VI T NAM TH K XX - T P II - Nhà Xu t B n Tôn Giáo - Hà N i Ch biên: Thích ng B n (Word and PDF creator http://tuvienhuequang.com)

More information

Mã số: Khóa:

Mã số: Khóa: TIỂU LUẬN TỔNG QUAN Tên đề tài: Dáng điệu tiệm cận của một số hệ vi phân đa trị trong không gian vô hạn chiều Chuyên ngành: Phương trình vi phân và tích phân Mã số: 62.46.01.05 NCS: Đỗ Lân Khóa: 2012-2016

More information

NHẬT BÁO THẲNG TIẾN 11

NHẬT BÁO THẲNG TIẾN 11 NHẬT BÁO THẲNG TIẾN 11 Thứ Hai, ngày 02, Tháng Bẩy, Năm 2018 H i ng Trung ng / H ng o Vi t Nam và Soát Viên tài chánh, 2018 T Các c : T : Nhánh T T : -2018 H Sau p T / T 2018-2022 Soát Viên Tài chánh:

More information

BÀI TIỂU LUẬN Môn học : Tính toán thiết kế Robot

BÀI TIỂU LUẬN Môn học : Tính toán thiết kế Robot TRƯỜNG ĐH BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ BÀI TIỂU LUẬN Môn học : Tính toán thiết kế Robot ĐỀ TÀI : Tính toán thiết kế Robot hàn hồ quang Giảng viên hướng dẫn : PGS.TS. PHAN BÙI KHÔI Nhóm sinh viên thực hiện

More information

VieTeX (21) Nguy ên Hũ, u Ðiê, n Khoa Toán - Co, - Tin học

VieTeX (21) Nguy ên Hũ, u Ðiê, n Khoa Toán - Co, - Tin học Câu h, oi và tr, a lò, i về s, u, dụng LaTeX và VieTeX (21) Nguy ên Hũ, u Ðiê, n Khoa Toán - Co, - Tin học ÐHKHTN Hà Nội, ÐHQGHN Mục lục 21.1. Lệnh nào trong LaTeX làm khô i công thú, c có thê, ng ăt dôi

More information

TỰ NHIÊN VÀ MÔI TRƯỜNG 2 (EV3019) ID:

TỰ NHIÊN VÀ MÔI TRƯỜNG 2 (EV3019) ID: TỰ NHIÊN VÀ MÔI TRƯỜNG 2 (EV3019) ID: 64614 LINK XEM VIDEO http://moon.vn/fileid/64614 I. PHRASES AND COLLOCATIONS 1. control Take/ have/ lose control (of something) Điều khiển/ mất kiểm soát cái gì 2.

More information

chuyên gia MAV (Machine Learning Approach to Anti-virus Expert System). Kê t qua thu.. c

chuyên gia MAV (Machine Learning Approach to Anti-virus Expert System). Kê t qua thu.. c Tạp chí Tin học và Diều khiê n học, T.24, S.1 (2008), 32 41 CO. CHÊ MÁY HỌC CHÂ N DOÁN VIRUS MÁY TÍNH HOÀNG KIÊ M 1, TRU. O. NG MINH NHẬT QUANG 2 1 Tru. ò. ng Dại học Công nghệ Thông tin, DHQG TP.HCM 2

More information

L i m. v m ng, lá có hai th : m t lo i ph t lo i thô nhám. C hai lo u dài 4,5 t u nh ng

L i m. v m ng, lá có hai th : m t lo i ph t lo i thô nhám. C hai lo u dài 4,5 t u nh ng L i m Hoa u i hoa hi m, l không thu c lo i hoa qu, m c nh (Himalaya), cao nguyên Delcan thu c hay c Tích Lan v.v S i c c Ph t Thích Ca Mâu Ni c t i cung thành Ca T La v i chân dãy Hy Mã L c C ng Hòa Nepal.

More information

TÀI CHÍNH DOANH NGHIP

TÀI CHÍNH DOANH NGHIP TÀI CHÍNH DOANH NGHIP Chng 1: Tng quan v Tài chính DN Chng 2: Giá tr tin t theo thi gian Chng 3: Quan h li nhu n và ri ro Chng 4: Mô hình nh giá tài sn vn Chng 4: Mô hình nh giá tài sn vn I. Gii thiu và

More information

HÀM BĂM HASH FUNCTIONS. Giáo viên: Phạm Nguyên Khang

HÀM BĂM HASH FUNCTIONS. Giáo viên: Phạm Nguyên Khang HÀM BĂM HASH FUNCTIONS Giáo viên: Phạm Nguyên Khang pnkhang@cit.ctu.edu.vn Tổng quan Mục tiêu: các hàm băm (H) tạo ra bản nhận dạng (fingerprint) cho một tập tin, thông điệp hay một khối dữ liệu truyền

More information