SlideShare a Scribd company logo
1 of 14
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Bộ môn :ĐẠI SỐ TUYẾN TÍNH
GV hướng dẫn: Nguyễn Xuân Mỹ
CHỦ ĐỀ 12: MẬT MÃ HILL TRONG BÀI TOÁN
MÃ HOÁ
STT HỌ VÀ TÊN MSSSV
1 Lâm Trọng Nhân 2312423
2 Huỳnh Hoài Nhân 2312421
3 Võ Phan Thanh Nguyên 2312393
4 Đỗ Minh Nhật 2312467
5 Nguyễn Anh Nhật 2312476
6 Huỳnh Nguyên Phát 2312572
7 Vĩnh Bảo Phúc 2312728
LỚP: LO6
NHÓM: 12
Mã hoá Hill (được phát minh bởi
Lester S. Hill năm 1929) là mật mã
cổ điển cho phép mã hoá hai, hay
ba, hoặc nhiều hơn các ký tự (theo lý
thuyết) tại cùng thời điểm. Mã hoá
Hill sử dụng hai lý thuyết toán hác
cực kì quan trọng trong ngành mật
mã là Đại số Tuyến Tính và Số phức
Mô-Đun.
Trong bài báo cáo này nhóm em sẽ
trình bày tạo ra bản mã và giải bản
mã bằng phần mềm MATLAB
Lester S. Hill
Một số khái
niệm liên
quan
01
Ma trận
khả nghịch
trên vành
Z27
02
Các bước
để mã hóa
và giải mã
thông tin
03
• Mã cũng được thực hiện trên từng bộ m ký tự. mỗi ký tự
trong bản mã một tổ hợp tuyến tính (trên vành Z26) của m
ký tự trong bản rõ. Khoá sẽ được cho bởi một ma trận cấp
m, tức nó là một phần tử của Z26mxm
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 -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 1
5
16 17 18 19 20 21 22 23 24 25 26 0
Để mã hoá thông tin:
• Đầu tiên, ta chọn một ma trận chìa khoá A (là một ma trận vuông n×n khả nghịch mà người gửi
và người nhận đều biết trước. Lưu ý, định thức của ma trận này phải là số nguyên tố cùng nhau
với 27. Tiếp theo, chuyển đoạn tin nhắn cần gửi thành dãy số theo bảng quy ước :
• Sau đó, chia dãy số thành từng nhóm n số và lập thành ma trận tin nhắn ta gọi đó là ma trận B.
• Thực hiện phép nhân: A×B=M
• Ta có thể dùng máy tính bỏ túi để thực hiện phép nhân bằng cách chia ma trận B thành những
ma trận con có số cột nhỏ hơn hoặc bằng , rồi thực hiện phép nhân ma trận A cho các ma trận
con này. Thay thế c Thay thế mỗi số trong ma trận C bởi các kí tự trong bảng quy tắc trên ta
được thông điệp mã hóa.
Double Chuyển đổi chuỗi sang số thập phân với độ chính xác kép
(ASCII)
Reshape Sửa lại cấu trúc của một ma trận (sửa lại số hàng, số cột )
Strrep Tìm kiếm và thay thế chuỗi String
Mod Thay thế phần dư theo modul X
Char Chuyển đổi số thập phân (ASCII) về lại dạng chuỗi ký tự
Inv Tính ma trận nghịch đảo cảu ma trận X
For Thực hiện lặp lại một hay nhiều câu lệnh với số lần định
trước
2.2.1. MỘT SỐ LỆNH ĐƯỢC DÙNGTRONG BẢN CODE
• Matlab (viết tắt của matrix laborary) là
một ngôn ngữ
• Lập trình bậc cao bán thế hệ, môi trường
để tính toán số học, trực quan và lập trình.
• Nó cho phép thao tác với ma trận, vẽ
biểu đồ với hàm và số liệu, hiện thực
thuật toán, tạo ra giao diện người dùng,
bao gồm C, C++, Java và Fortran; phân
tích dữ liệu, phát triển thuật toán, tạo
các kiểu mẫu và ứng dụng.
• Nó là công cụ hỗ trợ đắc lực cho
bên trong việc tính toán, vẽ các
hình, vẽ biểu đã thông dụng cả thực
thi các phương pháp tính toán.
• Hỗ trợ giao tiếp liên lạc giữa
các đơn vị
• Phù hợp cho việc giữ bí mật
chiến lược quan trọng.
Trong Quân Sự
2.4 Ứng dụng của mật mã
trong cuộc sống
• Tránh để bị lộ những thông
tin tuyệt mật
• Là công cụ ngôn ngữ hữu
dụng.
Trong Trao Đổi Thư Tín
• Tránh những tài liệu mật thông
tin cá nhân bị lộ ra ngoài
• Tránh các tình trạng mạo danh
lừa gạt người khác
Trong bảo mật cá nhân
• Bảo mật máy tính nhằm mục đích
giúp người dung
• Ngăn chặn gian lận hoặc phát hiện
gian lận trong một hệ thống dựa trê
thông tin.
Trong việc bảo mật
tin nhắn văn bản
IV. Kết luận
Môn Đại số tuyến tính có tính
thiết thực, được ứng dụng trong
nhiều lĩnh vực khác nhau
Mật mã Hill có nhiều ứng dụng
trong đời sống và trong mã hoá
thông tin
Dựa vào phần mềm MATLAB
có thể viết chương trình mã
hoá và giải mã thông điệp
V. Tham khảo
1/ Giáo trình Đại số tuyến tính- ĐặngVănVinh,
NXBĐHQGTPHCM, 2019
2/Tham khảo bài giảng trênYoutube của cô BùiThị Thuỳ
3/ Ngôn ngữ lập trình khác :https//www.geeksforgeeks.org/hill-
cipher/
4/Tham khảo các thuật toán tại: https//www.mathworks.com
Cảm ơn cô và các bạn đã lắng nghe
Thank You

More Related Content

Similar to btl đsttinh.pptx

Huong dan 8 o so
Huong dan 8 o soHuong dan 8 o so
Huong dan 8 o soshjdunglv
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBrand Xanh
 
C cho 8051
C cho 8051C cho 8051
C cho 8051Nhan Bui
 
bai giang Matlab
bai giang Matlabbai giang Matlab
bai giang Matlableoteo113
 
Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#Dương Tuấn
 
Chuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdfChuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdfDuyNguyn856183
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921tienhien110293
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfHngTrn365275
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfnguyenkaka2
 
Chuong1 phan tichvathietkegiaithuat
Chuong1 phan tichvathietkegiaithuatChuong1 phan tichvathietkegiaithuat
Chuong1 phan tichvathietkegiaithuatQuoc Nguyen
 
Bài tập CTDL và GT 10
Bài tập CTDL và GT 10Bài tập CTDL và GT 10
Bài tập CTDL và GT 10Hồ Lợi
 
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPTBÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPTMasterCode.vn
 
Pregel: Hệ thống xử lý đồ thị lớn
Pregel: Hệ thống xử lý đồ thị lớnPregel: Hệ thống xử lý đồ thị lớn
Pregel: Hệ thống xử lý đồ thị lớnViet-Trung TRAN
 
Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Vu Tuan
 
Dự đoán liên kết trong đồ thị tri thức
Dự đoán liên kết trong đồ thị tri thứcDự đoán liên kết trong đồ thị tri thức
Dự đoán liên kết trong đồ thị tri thứcThanh Minh Hoang
 
Giao trinh ctmt
Giao trinh ctmtGiao trinh ctmt
Giao trinh ctmtcanh071179
 

Similar to btl đsttinh.pptx (20)

Huong dan 8 o so
Huong dan 8 o soHuong dan 8 o so
Huong dan 8 o so
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tu
 
C cho 8051
C cho 8051C cho 8051
C cho 8051
 
bai giang Matlab
bai giang Matlabbai giang Matlab
bai giang Matlab
 
Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#Sáng tạo trong thuật toán và lập trình Pascal và C#
Sáng tạo trong thuật toán và lập trình Pascal và C#
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
Baomat chuongiv
Baomat chuongivBaomat chuongiv
Baomat chuongiv
 
Chuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdfChuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdf
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
Chuong1 phan tichvathietkegiaithuat
Chuong1 phan tichvathietkegiaithuatChuong1 phan tichvathietkegiaithuat
Chuong1 phan tichvathietkegiaithuat
 
Bài tập CTDL và GT 10
Bài tập CTDL và GT 10Bài tập CTDL và GT 10
Bài tập CTDL và GT 10
 
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPTBÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
 
Pregel: Hệ thống xử lý đồ thị lớn
Pregel: Hệ thống xử lý đồ thị lớnPregel: Hệ thống xử lý đồ thị lớn
Pregel: Hệ thống xử lý đồ thị lớn
 
matlab co ban
matlab co banmatlab co ban
matlab co ban
 
Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731
 
Dự đoán liên kết trong đồ thị tri thức
Dự đoán liên kết trong đồ thị tri thứcDự đoán liên kết trong đồ thị tri thức
Dự đoán liên kết trong đồ thị tri thức
 
Giao trinh ctmt
Giao trinh ctmtGiao trinh ctmt
Giao trinh ctmt
 
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thámPhân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
 

Recently uploaded

kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docxkich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docxcuonglee1
 
kich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docxkich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docxcuonglee1
 
luat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docx
luat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docxluat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docx
luat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docxcuonglee1
 
9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docx
9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docx9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docx
9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docxcuonglee1
 
648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docx
648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docx648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docx
648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docxcuonglee1
 
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docxkich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docxcuonglee1
 

Recently uploaded (6)

kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docxkich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2 03.docx
 
kich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docxkich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-07 HNGD 02.docx
 
luat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docx
luat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docxluat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docx
luat-su-dan-su-ho-so-7-hao-nguyet-ver-2.docx
 
9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docx
9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docx9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docx
9.1. Kịch bản Diễn án LS. DS 07 FULL TÊN.docx
 
648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docx
648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docx648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docx
648079791-123doc-Thu-Hoach-Ho-So-Dan-Su-So-07-Hvtp.docx
 
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docxkich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docx
kich-ban-ho-so-07-mo-ta-ho-so-so-DS07 Tranh chấp Ly hôn 2.docx
 

btl đsttinh.pptx

  • 1. TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Bộ môn :ĐẠI SỐ TUYẾN TÍNH GV hướng dẫn: Nguyễn Xuân Mỹ
  • 2. CHỦ ĐỀ 12: MẬT MÃ HILL TRONG BÀI TOÁN MÃ HOÁ STT HỌ VÀ TÊN MSSSV 1 Lâm Trọng Nhân 2312423 2 Huỳnh Hoài Nhân 2312421 3 Võ Phan Thanh Nguyên 2312393 4 Đỗ Minh Nhật 2312467 5 Nguyễn Anh Nhật 2312476 6 Huỳnh Nguyên Phát 2312572 7 Vĩnh Bảo Phúc 2312728 LỚP: LO6 NHÓM: 12
  • 3.
  • 4. Mã hoá Hill (được phát minh bởi Lester S. Hill năm 1929) là mật mã cổ điển cho phép mã hoá hai, hay ba, hoặc nhiều hơn các ký tự (theo lý thuyết) tại cùng thời điểm. Mã hoá Hill sử dụng hai lý thuyết toán hác cực kì quan trọng trong ngành mật mã là Đại số Tuyến Tính và Số phức Mô-Đun. Trong bài báo cáo này nhóm em sẽ trình bày tạo ra bản mã và giải bản mã bằng phần mềm MATLAB Lester S. Hill
  • 5. Một số khái niệm liên quan 01 Ma trận khả nghịch trên vành Z27 02 Các bước để mã hóa và giải mã thông tin 03
  • 6. • Mã cũng được thực hiện trên từng bộ m ký tự. mỗi ký tự trong bản mã một tổ hợp tuyến tính (trên vành Z26) của m ký tự trong bản rõ. Khoá sẽ được cho bởi một ma trận cấp m, tức nó là một phần tử của Z26mxm 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 - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5 16 17 18 19 20 21 22 23 24 25 26 0
  • 7. Để mã hoá thông tin: • Đầu tiên, ta chọn một ma trận chìa khoá A (là một ma trận vuông n×n khả nghịch mà người gửi và người nhận đều biết trước. Lưu ý, định thức của ma trận này phải là số nguyên tố cùng nhau với 27. Tiếp theo, chuyển đoạn tin nhắn cần gửi thành dãy số theo bảng quy ước : • Sau đó, chia dãy số thành từng nhóm n số và lập thành ma trận tin nhắn ta gọi đó là ma trận B. • Thực hiện phép nhân: A×B=M • Ta có thể dùng máy tính bỏ túi để thực hiện phép nhân bằng cách chia ma trận B thành những ma trận con có số cột nhỏ hơn hoặc bằng , rồi thực hiện phép nhân ma trận A cho các ma trận con này. Thay thế c Thay thế mỗi số trong ma trận C bởi các kí tự trong bảng quy tắc trên ta được thông điệp mã hóa.
  • 8. Double Chuyển đổi chuỗi sang số thập phân với độ chính xác kép (ASCII) Reshape Sửa lại cấu trúc của một ma trận (sửa lại số hàng, số cột ) Strrep Tìm kiếm và thay thế chuỗi String Mod Thay thế phần dư theo modul X Char Chuyển đổi số thập phân (ASCII) về lại dạng chuỗi ký tự Inv Tính ma trận nghịch đảo cảu ma trận X For Thực hiện lặp lại một hay nhiều câu lệnh với số lần định trước 2.2.1. MỘT SỐ LỆNH ĐƯỢC DÙNGTRONG BẢN CODE
  • 9. • Matlab (viết tắt của matrix laborary) là một ngôn ngữ • Lập trình bậc cao bán thế hệ, môi trường để tính toán số học, trực quan và lập trình. • Nó cho phép thao tác với ma trận, vẽ biểu đồ với hàm và số liệu, hiện thực thuật toán, tạo ra giao diện người dùng, bao gồm C, C++, Java và Fortran; phân tích dữ liệu, phát triển thuật toán, tạo các kiểu mẫu và ứng dụng. • Nó là công cụ hỗ trợ đắc lực cho bên trong việc tính toán, vẽ các hình, vẽ biểu đã thông dụng cả thực thi các phương pháp tính toán.
  • 10. • Hỗ trợ giao tiếp liên lạc giữa các đơn vị • Phù hợp cho việc giữ bí mật chiến lược quan trọng. Trong Quân Sự 2.4 Ứng dụng của mật mã trong cuộc sống • Tránh để bị lộ những thông tin tuyệt mật • Là công cụ ngôn ngữ hữu dụng. Trong Trao Đổi Thư Tín
  • 11. • Tránh những tài liệu mật thông tin cá nhân bị lộ ra ngoài • Tránh các tình trạng mạo danh lừa gạt người khác Trong bảo mật cá nhân • Bảo mật máy tính nhằm mục đích giúp người dung • Ngăn chặn gian lận hoặc phát hiện gian lận trong một hệ thống dựa trê thông tin. Trong việc bảo mật tin nhắn văn bản
  • 12. IV. Kết luận Môn Đại số tuyến tính có tính thiết thực, được ứng dụng trong nhiều lĩnh vực khác nhau Mật mã Hill có nhiều ứng dụng trong đời sống và trong mã hoá thông tin Dựa vào phần mềm MATLAB có thể viết chương trình mã hoá và giải mã thông điệp
  • 13. V. Tham khảo 1/ Giáo trình Đại số tuyến tính- ĐặngVănVinh, NXBĐHQGTPHCM, 2019 2/Tham khảo bài giảng trênYoutube của cô BùiThị Thuỳ 3/ Ngôn ngữ lập trình khác :https//www.geeksforgeeks.org/hill- cipher/ 4/Tham khảo các thuật toán tại: https//www.mathworks.com
  • 14. Cảm ơn cô và các bạn đã lắng nghe Thank You