Tải bản đầy đủ (.doc) (45 trang)

ĐỒ ÁN TỐT NGHIỆP AN TOÀN VÀ BẢO MẬT THÔNG TIN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (299.99 KB, 45 trang )

LỜI CẢM ƠN
Để hoàn thành bản đồ án tốt nghiệp này, em đã nhận được sự hướng dẫn tận
tình của các thầy giáo, cô giáo đặc biệt là sự hướng dẫn trực tiếp của thầy giáo
Th.s Vũ Vinh Quang. Với khả năng cũng như thời gian có hạn nên bản đồ án có
thể còn nhiều khiếm khuyết. Bởi vậy em rất mong nhận được những ý kiến đóng
góp chân thành của các thầy cô giáo cũng như của các bạn đồng nghiệp. Qua đây
em xin gửi lời cảm ơn sâu sắc tới các thầy, cô trong khoa Công nghệ thông tin Trường Đại học Thái Nguyên và đặc biệt là thầy giáo Th.s Vũ Vinh Quang đã
tạo điều kiện giúp đỡ em để hoàn thành bản đồ án này.
Em xin chân thành cảm ơn!
Sinh viên
Trương Thị Uyên

1


MỤC LỤC
Trang
Lời nói đầu...............................................................................................................3
Chương 1- Tổng quan về an toàn và bảo mật thông tin..........................................4
1.1 - Thông tin và vai trò của thông tin...........................................................4
1.1.1 - Thông tin là gì?................................................................................4
1.1.2 – Vai trò của thông tin.......................................................................5
1.2 - An toàn thông tin của hệ thống...............................................................5
1.3 - Bảo mật thông tin...................................................................................8
1.3.1 Các quan điểm bảo vệ an toàn...............................................................8
1.4 - An toàn thông tin của hệ thống mã hoá....................................................
1.5 - Lý thuyết độ phức tạp...............................................................................
Chương 2 - Các hệ thống mật mã cổ điển.................................................................
2.1 - Định nghĩa hệ mã cổ điển.........................................................................
2.2 Các hệ mã cổ điển.......................................................................................


2


LỜI NÓI ĐẦU
Trong hoạt động của xã hội loài người, thông tin là một vấn đề không thể
thiếu trong cuộc sống, ngày nay thông tin càng trở thành một tài nguyên vô giá.
Xã hội phát triển ngày càng cao thì nhu cầu trao đổi thông tin giữa các thành
phần trong xã hội ngày càng lớn. Máy tính ra đời mang lại cho con người rất
nhiều lợi ích trong việc trao đổi thông tin và xử lý thông tin một cách chính xác
và nhanh chóng.
Với sự phát triển mạnh mẽ của Khoa học kỹ thuật, đặc biệt là lĩnh vực
Công nghệ thông tin với sự ra đời của mạng toàn cầu Internet đã giúp cho con
người trên khắp thế giới có thể liên lạc trao đổi thông tin với nhau một cách dễ
dàng, chính xác trong thời gian ngắn nhất.
Trong môi trường trao đổi một lượng tin - một khối dữ liệu, khi được gửi đi
từ người gửi đến người nhận phải qua nhiều nút, nhiều trạm với nhiều người sử
dụng khác nhau. Không ai dám đảm bảo rằng thông tin không bị sao chép, không
bị đánh cắp hay xuyên tạc. Bạn cũng có thể nghe nhiều về máy tính và những
mối đe doạ từ Internet đối với sự riêng tư của bạn. Và ở đâu lại chẳng nghe
những chuyện về mạo nhận danh tiếng. hoặc những ông chủ muốn can thiệp vào
mọi thông tin cá nhân của nhân viên, hay những kẻ đánh cắp mật khẩu, những kẻ
săn tin chuyên nghiệp, những kẻ quấy nhiễu… Chúng sẽ không buông tha bạn,
và ngay cả những cơ quan Chính phủ cũng không tránh khỏi việc bị xâm nhập,
đánh cắp thông tin. Nó giống như người ta đang theo dõi đến mọi hoạt động
riêng tư của bạn vậy. Và đó là điều không ai mong muốn.
Chính bởi lý do này mà vấn đề an toàn thông tin cá nhân nói riêng và an
toàn dữ liệu nói chung là một vấn đề đang được quan tâm hàng đầu khi nghiên
cứu đến truyền dữ liệu trên mạng. Đây là vấn đề mà hiện nay được ngành Công
nghệ thông tin và những người làm công tác tin học đặc biệt quan tâm. An toàn
dữ liệu trên mọi phương diện vừa mang tính thời sự, vừa mang tính thách thức

đối với không chỉ các chuyên gia mà còn đối với sự phát triển tồn vong của các
hệ thống thông tin toàn cầu. Bản đồ án “ Nghiên cứu các vấn đề an toàn bảo mật
thông tin” cũng góp phần nghiên cứu tìm ra giải pháp để bảo vệ an toàn dữ liệu.

3


CHƯƠNG 1
TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN
1.1 Thông tin và vai trò của thông tin
1.1.1 Thông tin là gì?
Thông tin là cái được truyền từ đối tượng này đến đối tượng khác để báo
một “điều” gì đó. Thông tin chỉ có ý nghĩa khi “điều” đó bên nhận chưa biết.
Như vậy nói cách khác thông tin là tất cả những gì nhằm đem lại sự hiểu biết cho
con người.
Thông tin xuất hiện dưới nhiều dạng âm thanh, hình ảnh, … Những dạng
này chỉ là “vỏ bọc” vật chất chứa thông tin. “Vỏ bọc” là phần “xác”, thông tin là
phần “hồn”. Ngữ nghĩa của thông tin chỉ có thể hiểu được khi bên nhận hiểu
được cách biểu diễn ngữ nghĩa của bên phát.
Có hai trạng thái của thông tin: truyền và lưu trữ. Môi trường truyền/ lưu
trữ được gọi chung là môi trường chứa tin hay kênh tin.
Thông tin là một khái niệm trừu tượng, phi vật chất và rất khó được định
nghĩa chính xác. Hai định nghĩa về thông tin:
• Thông tin là sự cảm hiểu của con người về thế giới xung quanh thông qua
sự tiếp xúc trực tiếp với nó.
• Thông tin là một hệ thống những tin báo và mệnh lệnh giúp loại trừ sự chắc
chắn trong trạng thái của nơi nhận tin. Nói ngắn gọn, thông tin là cái mà
loại trừ sự chắc chắn.
Định nghĩa đầu chưa nói lên được bản chất của thông tin. Định nghĩa thứ
hai nói rõ hơn về bản chất của thông tin và được dùng để định lượng thông tin

trong kỹ thuật.
Thông tin là một đại lượng vật lý, nó thường tồn tại và được truyền đi dưới
một dạng vật chất nào đó. Những dạng vật chất mang thông tin được gọi là tín
hiệu.
• Một số ví dụ:
- Hai người nói chuyện với nhau, cái mà trao đổi giữa họ là thông tin.
4


- Một người đang xem Tivi, nghe đài, đọc báongười đó đang nhận thông tin.
- Các máy tính nối mạng và trao đổi dữ liệu với nhau.
1.1.2 Vai trò của thông tin
Thông tin có một vai trò vô cùng to lớn đối với sự tồn tại và phát triển. Các
đối tượng sống luôn có nhu cầu muốn tìm hiểu về thế giới xung quanh để thích
nghi và tồn tại.
Khi Khoa học kỹ thuật và xã hội ngày càng phát triển, thông tin càng thể
hiện được vai trò của nó đối với chúng ta. Nó có thể chi phối mọi hành động của
con người, vì hành động của con người thì xuất phát từ suy nghĩ, mà suy nghĩ lại
là hệ quả của quá trình tiếp nhận thông tin.
1.2 An toàn thông tin của hệ thống
* An toàn thông tin (Integrity)
An toàn thông tin ( dữ liệu) là giữ cho thông tin dữ liệu được toàn vẹn
( không bị đánh tráo, mất mát,sửa đổi …) dù là vô tình hay cố ý.
* An ninh thông tin ( Security)
Là giữ cho thông tin được an toàn trong trường hợp những kẻ chống phá cố
ý tấn công ( chúng thường tổ chức tấn công có kịch bản).
* Các yêu cầu về an toàn thông tin
- Tính bí mật: Tính kín đáo riêng tư của thông tin.
- Tính xác thực: Bao gồm xác thực người đối tác ( danh tính và xác thực
thông tin được trao đổi.

- Tính toàn vẹn: Bảo đảm thông tin không bị cắt xén hay xuyên tạc qua
kênh trao đổi.
- Tính trách nhiệm: Bảo đảm người gửi thông tin không thể thoái thác trách
nhiệm về thông tin mà mình gửi.
- Tính kịp thời: Thông tin đến nơi nhận đúng thời gian.
* Ý nghĩa của an toàn thông tin
- Bảo vệ an toàn thông tin dữ liệu là một đề tài rộng, có liên quan đến nhiều
lĩnh vực và trong thực tế có nhiều phương pháp được thực hiện để đảm bảo an

5


toàn thông tin dữ liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể
quy về ba nhóm chính sau đây:
- Bảo vệ an toàn thông tin dữ liệu bằng các biện pháp hành chính.
- Bảo vệ an toàn thông tin dữ liệu bằng các biện pháp kỹ thuật ( phần cứng)
- Bảo vệ an toàn thông tin dữ liệu bằng các biện pháp thuật toán ( phần
mềm).
Ba nhóm biện pháp trên có thể ứng dụng riêng hoặc phối hợp. Môi trường
khó bảo vệ an toàn thông tin dữ liệu nhất cũng là môi trường đối phương dễ xâm
nhập nhất như môi trường mạng và truyền thông. Biện pháp bảp vệ an toàn thông
tin hiệu quả nhất trên môi trường mạng truyền tin là các biện pháp thuật toán.
Để bảo vệ an toàn thông tin trên đường truyền tin và trên mạng có hiệu quả
nhất thì việc trước tiên phải dự đoán được hoặc lường trước được các khả năng
xâm phạm,các sự cố rủi ro có thể xảy ra với thông tin lưu trữ hay truyền trên
mạng. Xác định càng chính xác các nguy cơ nói trên thì càng dễ tìm ra các giải
pháp tốt để giảm thiểu thiệt hại.
* Phân loại các hành vi xâm phạm
Về bản chất có thể phân loại các hành vi xâm phạm trên đường truyền thành
hai loại: vi phạm chủ động và vi phạm thụ động.

- Vi phạm chủ động: Là dạng vi phạm có thể làm thay đổi nội dung, xoá bỏ,
làm trễ, sắp xếp lại thứ tự, làm lặp lại các gói tin đó ngay thời điểm hiện tại sau
đó.
- Vi phạm thụ động: Là loại vi phạm chỉ nhằm mục đích nắm bắt được
thông tin (đánh cắp thông tin).
Vi phạm thụ động khó phát hiện nhưng có thể có những biện pháp ngăn
chặn hiệu quả trong khi đó vi phạm chủ động dễ phát hiện nhưng biện pháp ngăn
chặn lại khó hơn nhiều.
* Các vị trí có thể xâm phạm
Trong thực tế, kẻ xâm phạm có thể xâm nhập vào hệ thống thông tin bất cứ
thời điểm nào mà thông tin đi qua hoặc được lưu trữ. Điểm đó có thể trên đường
truyền, nút mạng, máy tính chủ có nhiều người sử dụng hoặc tại giao diện kết nối

6


mạng ( bridge, gateway, router…). Trong quan hệ tương tác người – máy thì các
thiết bị ngoại vi, đặc biệt các thiết bị đầu cuối ( teminal) là cửa ngõ thuận tiện
nhất cho việc xâm nhập.
Ngoài ra có thể tính đến các thiết bị điện từ có các phát xạ điện tử và các
thiết bị máy tính. Bằng các thiết bị chuyên dụng có khả năng đón bắt các phát xạ
này và xử lý chúng. Cũng có trường hợp sử dụng các bức xạ điều khiển từ bên
ngoài để tác động gây nhiễu, gây lỗi nội dung truyền tin.
* Các mức bảo vệ của một hệ thống thông tin
1, Quyền truy nhập: Đây là lớp bảo vệ trong nhất, nhằm kiểm soát truy nhập
tài nguyên mạng và quyền hạn sử dụng tài nguyên đó. Cụ thể việc quản lí được
tiến hành ở mức truy nhập File (đọc, ghi, xoá, sửa…) do người quản lí mạng
thiết lập.
2, Đăng kí và mật khẩu: Phương pháp này không mấy hiệu quả đối với
những người hiểu bíêt về hệ thống của ta nhưng ưu điểm của nó là đơn giản.

3, Mã hoá dữ liệu: Biến đổi dữ liệu từ dạng nhận thức được sang dạng
không nhận thức được theo một quy cách nào đó.
4, Bảo vệ vật lý: Nhằm ngăn chặn các truy cập vật lý bất hợp pháp vào hệ
thống.
5, Tường lửa: Để đảm bảo an toàn và ngăn chặn từ xa cho các mạng nội bộ,
đây là phương thức bảo vệ cho mạng cục bộ (Intranet), ngăn chặn các xâm nhập
trái phép, lọc bỏ các gói tin không muốn nhận ( gửi) vì một lý do nào đó.
Tường lửa ( Fire walls)
Bảo vệ vật lý ( Physical protect)
Mã hoá dữ liệu ( Data)
Đăng ký và mật khẩu ( Login/Password)
Quyền truy nhập ( Access Rights)
Thông tin
1.3 Đảm bảo an toàn cho hệ thống thông tin

7


1.3.1 Các quan điểm bảo vệ an toàn
Quyền hạn ít nhất ( least privilege): Mỗi một đối tượng chỉ có quyền hạn
nào đó, khi đó nếu kẻ xâm nhập có vào được hệ thống cũng chỉ phá hoại được
một phần nào đó của hệ thống.
Phòng thủ theo chiều sâu: Đặt nhiều cơ chế bảo vệ khác nhau trên một hệ
thống, nếu một cớ chế bị phá vỡ thì còn cơ chế khác.
Tạo điểm thắt: Chỉ có thể xâm nhập vào hệ thống qua một kênh hẹp, sau đó
tập trung giám sát điều khiển hệ thống qua kênh này.
Tìm ra điểm yếu nhất: Cần phải biết điểm yếu nhất của mình nếu không
loại bỏ được thì cũng cần có cơ chế giám sát chặt chẽ. An toàn về mặt vật lý
được coi là điểm yếu nhất trong hệ thống.
Cơ chế tự động ngắt khi có sự cố: Hệ thống có thể tự ngắt tức là khi hệ

thống có nguy cơ bị đe dọa thì nó có khả năng tự bảo vệ.
Hợp nhất các thành phần tham gia: Tất cả các thành phần trong hệ thống từ
các quy chế an toàn, người sử dụng, thiết bị bảo vệ, phần mềm… phải được kết
hợp thành một hệ thống bảo vệ có hiệu quả và hỗ trợ bảo vệ lẫn nhau.
Tính đa dạng của hệ thống phòng thủ: Sự bảo vệ của hệ thống sẽ tăng khi ta
sử dụng nhiều modul phòng thủ khác nhau hoặc nhiều kiểu phòng thủ khác nhau.
Nếu các modul phòng thủ giống nhau thì kẻ tấn công sẽ dễ dàng vào được mọi
nơi trong hệ thống.
Tính đơn giản: Làm cho hệ thống trở nên dễ hiểu, nếu ta không hiểu một vấn đề,
một phần nào đó trong hệ thống thì cũng không biết hệ thống có bí mật không.
Bảo vệ cả phần nhỏ sẽ dễ dàng hơn bảo vệ cả một hệ thống lớn.
* Quan điểm để đặt ra quy tắc an toàn:
Quan điểm mặc nhiên từ chối (Default deny stance) chỉ cho phép 1 số dịch
vụ phục vụ, các dịch vụ khác không đề cập đến coi như từ chối. Quan điểm mặc
nhiên cho phép (Default permit stance) tức là những gì không cấm thì được phép
làm. Tùy từng trường hợp, tùy từng đặc thù riêng của hệ thống ta sẽ đi đến quyết
định chọn quan điểm nào.
1.3.2 Chính sách an toàn thông tin
8


Trước khi một hệ thống thông tin có thể được đảm bảo an toàn nhất thiết
phải xác lập một chính sách an toàn, nó là nền tảng tiêu chuẩn đúng đắn để xem
xét. Nếu không có chính sách an toàn đúng đắn thì hiệu quả của mọi biện pháp
khác sẽ bị giảm sút.
1.3.2.1 Các thành phần của chính sách an toàn
Các chính sách thường khác nhau tuy vào thực tế tuy nhiên dưới đây là một
số vấn đề được xem như là tương đối thích ứng với tất cả các chính sách.
Chính sách an toàn vật lý: Nói rõ các điều khiển phần cứng sẽ được bảo vệ,
ai sẽ được gán quyền truy nhập hoặc bi ngăn cấm không cho đến các khu vực.

Chính sách an toàn mạng: Bao gồm các tiêu chuẩn về quyền truy nhập,
filewall, vấn đề ghi kiểm toán theo dõi danh mục các dịch vụ bị cấm…
Chính sách về điều khiển truy nhập: Quyết định ai sẽ được truy nhập cái gì?
Phải có thủ tục đúng đắn để cho phép người truy nhập dịch vụ, chúng không nên
qúa phức tạp.
Chính sách về xác thực và mật mã: Xác thực là làm thế nào để người sử
dụng có thể thông báo cho hệ thống họ là ai. Mật mã là thuật toán mã hóa được
sử dụng và vấn đề quản lý khóa.
Kế hoặch đối phó với rủi ro và thảm họa.
Chính sách đào tạo và kiểm tra sự tuân thủ.
1.3.2.2 Các bước để phát triển một chính sách an toàn
• Xác định mục đích
• Xác định phạm vi
• Tham khảo các chính sách khác để cảm nhận chính sách của mình
• Đánh giá rủi ro
• Quyết định các thành phần và viết chính sách. Việc lựa chọn thành phần
nào là phụ thuộc vào cấu trúc của hệ thống thông tin, vị trí, quy mô của tổ
chức.

9


• Đánh giá: Sau khi chính sách được phát triển, việc đánh giá lại chính sách
là thực sự cần thiết để xem mục đích của chính sách đa đạt được chưa?
Ngoài ra các mối đe doạ, các lỗ hổng bảo mật, yêu cầu nghiệp vụ luôn
biến đổi, do đó phải định kỳ và luôn xem xét lại hệ thống để có chính sách
an toàn cho phù hợp.
1.4 Bảo mật thông tin
Để bảo vệ thông tin trên đường truyền người ta thường biến đổi nó từ dạng
nhận thức được sang dạng không nhận thức được trước khi truyền đi trên mạng,

quá trình này được gọi là mã hoá thông tin. Ở trạm nhận phải thực hiện quá trình
ngược lại, tức là biến đổi thông tin từ dạng không nhận thức được sang dạng
nhận thức được ( dạng gốc), quá trình này được gọi là quá trình giải mã. Đây là
một lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rãi trong quá trình
truyền tin.
Như vậy lý do mã hoá thông tin chính là để đảm bảo an toàn thông tin trong
quá trình truyền - nhận.
Để bảo vệ an toàn thông tin bằng mật mã, người ta tiếp cận theo hai hướng:
 Theo đường truyền ( Link Oriented Sercurity)
 Từ nút đến nút ( End to End)
Theo cách thứ nhất thông tin được mã hoá để bảo vệ trên đường truyền giữa
hai nút mà không quan tâm đến nguồn và đích của thông tin đó. Ở đây ta lưu ý
rằng thông tin chỉ được bảo vệ trên đường truyền, tức là ở mỗi nút phải có quá
trình giải hoá sau đó mã hoá để truyền đi tiếp, do đó các nút phải được bảo vệ tốt.
Ngược lại theo cách thứ hai, thông tin trên mạng được bảo vệ trên toàn
đường truyền từ nguồn đến đích. Thông tin sẽ được mã hoá ngay sau khi mới tạo
ra và chỉ được giải mã sau khi đã về đến đích. Cách này mắc phải nhược điểm là
chỉ có dữ liệu của người sử dụng thì mới có thể mã hoá được còn dữ liệu điều
khiển thì giữ nguyên để có thể xử lý tại các nút.
1.4.1 Cơ sở kỹ thuật của việc bảo mật thông tin

10


Khoá mã là công nghệ quan trọng nhất cho sự an toàn của mạng. Ngoài sự
bảo vệ an toàn thông tin truyền tải nó còn có những công dụng khác nữa. Nhiều
thuật toán khoá có thể sử dụng với những thuật toán khác để đảm bảo sự toàn vẹn
của nội dung thông tin điện tử, đảm bảo không kẻ nào có thể biết được hoặc thay
đổi nội dung của thông tin.
1.4.2 Mật mã

Là phương thức để bảo vệ một đối tượng ( loại hình dữ liệu): văn bản, hình
ảnh, âm thanh … thông qua việc biến đổi sang một dạng biểu diễn khác, việc này
gọi là mã hoá.
1.4.3 Hệ mật mã
Là tập hợp các thuật toán và các thủ tục kết hợp để che dấu thông tin cũng
như làm rõ nó.
* Vai trò của hệ mật mã
Các hệ mật mã phải thực hiện được các vai trò sau:
- Hệ mật mã phải che dấu được nội dung của văn bản rõ ( Plaintext) để đảm
bảo sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thông
tin, hay nói cách khác là chống truy nhập không đúng quyền hạn.
- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ
thống đến người nhận hợp pháp là xác thực ( Authenticity).
- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo
chữ ký, mạo danh để gửi thông tin trên mạng.
- Ưu điểm lớn nhất của bất kỳ hệ mật mã nào đó là có thể đánh giá được độ
phức tạp tính toán mà “ kẻ địch ” phải giải quyết bài toán để có thể lấy được
thông tin của dữ liệu được mã hoá. Tuy nhiên mỗi hệ mật mã có một số ưu và
nhược điểm khác nhau, nhưng nhờ đánh giá được độ phức tạp tính toán mà ta có
thể áp dụng được các thuật toán mã hoá khác nhau cho từng ứng dụng cụ thể tuỳ
theo yêu cầu về độ an toàn.

11


Sơ đồ quá trình mã hoá và giải mã
Khoá Ke
DL gốc

Quản lý

khoá
Mã hoá

DL mã hoá

Bản rõ
ổcT
Trong đó:

Khoá Kd
Giải mã

Bản mã

DL gốc
Bản rõ gốc

- Bản rõ ( Plaintext): Chứa các xâu ký tự gốc, thông tin trong bản rõ là
thông tin cần mã hoá để giữ bí mật.
- Bản mã ( Ciphertext): Chứa các ký tự sau khi đã mã hoá, mà nội dung
được giữ bí mật.
- Khoá ( Key): Gồm một số hữu hạn mà các bít thương được biểu diễn dưới
dạng các xâu ký tự số, số thập phân hoặc số nhị phân.
- Mật mã học ( Crytopraphy): Là nghệ thuật và khoa học để giữ thông tin
được an toàn.
- Sự mã hoá (Encryption): Quá trình che dấu thông tin bằng phương pháp
nào đó để làm ẩn nội dung bên trong.
- Sự giải mã ( Decryption): Quá trình biến đổi trả lại bản mã thành bản rõ.
1.4.4 Định nghĩa một hệ mật mã
Một hệ thống mật mã là một hệ thống gồm 5 thành phần: (P,C,K,E,D)

trong đó:
P: Tập hữu hạn các văn bản gốc (bản rõ).
C: Tập hữu hạn các văn bản đã được mã hóa ( bản mã).
K: Tập hữu hạn các khóa ( không gian khoá). Đối với mỗi phần tử k ∈ K
được gọi là một khoá.
E: Tập hữu hạn các luật (hàm) mã hóa. Đối với mỗi k :∈ K có một quy tắc
mã: eK: P→ C

D: Tập hữu hạn các luật ( hàm) giải mã dK ∈ D, mỗi eK: P→ C có tương
ứng hàm dK: C→ P sao cho dK (eK (x))=x với mọi bản rõ x ∈ P.

12


Mục đích của mã hóa: Đảm bảo tính riêng tư, cung cấp khả năng ngăn cản
người không có thẩm quyền đưa ra những thông tin giả hoặc sửa đổi thông tin
trên kênh truyền công cộng.
Giả sử một bản tin nguyên thủy (bản tin gốc) M được mã hóa bởi E k để tạo ra
bản tin đã được mã hóa C = Ek (M).
Bản mã hóa đó được truyền đi trên kênh công cộng ( độ an toàn không cao). Khi
người nhận hợp pháp có được bản tin C sẽ thực hiên việc giải mã bằng D k với
( Dk = Ek-1) để nhận được bản tin gốc.
Dk(Ek(M)) = Ek-1(Ek(M)) = M
Khóa k được phân phối tới người sử dụng hợp pháp bằng một kênh nào đó
đảm bảo độ an toàn cần thiết. Nói chung khóa k được sử dụng n lần nào đó thì
nên thay đổi.
Việc dò tìm bản gốc mà không sử dụng khóa được gọi là thám mã hay bẻ
khóa.
Trước đây độ an toàn của hệ thống phụ thuộc vào bí mật của thuật toán mã hóa
và giải mã, hiện nay thì hầu như các thuật toán đều được công bố công khai, nên

đối với hệ thống mật mã hiện đại độ an toàn của hệ thống chỉ phụ thuộc vào độ
mật của khóa k.
1.4.5 Phân loại các hệ thống mật mã.
Lịch sử phát triển của hệ mật mã trải qua 2 giai đoạn:
- Từ 1974 trở về trước sử dụng hệ mã cổ điển.
- Từ 1974 trở về đây sử dụng hệ mật mã hiện đại.
Ta cần phân biệt hai loại mã này.
* Phân loại theo cách tiến hành mã hóa.
Mã hóa khối (Block): Dữ liệu trước khi được mã hóa được chia thành từng
khối có độ dài nhất định sau đó mỗi khối được mã hóa độc lập (nếu cùng sử dụng
một khóa thì các bản gốc giống nhau có bản mã như nhau).
Mã hóa chuỗi (String): Không chia nhỏ thành các khối mà mỗi bit của văn
bản gốc M được mã hóa với thành phần thứ i nào đó của một chuỗi ký hiệu mà
chuỗi ký hiệu đó được hình thành từ khóa. Quá trình mã hóa là tuần hoàn nếu
13


dòng khóa được lặp lại chính nó sau mỗi lần xác định p ký hiệu, ngược lại gọi là
mã hóa không tuần hoàn.
* Phân loại theo quá trình mã hóa và giải mã:
Mật mã đối xứng (bí mật): Sử dụng một khóa duy nhất cho mã hóa và giải
mã vì vậy khóa phải được giữ bí mật tuyết đối.
Mật mã không đối xứng (công khai): Có 2 khóa, 1 khóa sử dụng cho mã
hóa được công bố rộng rãi, khóa còn lại sử dụng để giải mã phải giữ bí mật tuyệt
đối.
* Phân loại theo quá trình truyền tin:
Bí mật trên đường truyền.
Bí mật từ nút đến nút.
1.5 Các cách thức tấn công vào một hệ thống mật mã
- Chỉ biết bản tin đã được mã hóa.

- Biết đầy đủ hoặc một phần bản tin gốc và bản tin mật mã tương ứng với
nó. Thám mã có thể tình cờ có được bản tin gốc hay dựa vào một số mẫu của văn
bản pháp quy, hợp đồng kinh tế để đoán được bản tin gốc.
- Biết được bản tin mật mã hoặc bất cứ bản tin gốc nào đó nhưng chưa biết
được khóa. Trong một số trường hợp đặc biệt thám mã có thể thâm nhập được
vào hệ thống gửi và gửi được bản tin theo ý muốn.
- Biết bản tin gốc của thuật toán nhưng không biết khóa. Thám mã sẽ thử
với một số lượng lớn các khóa khác nhau và có thể tìm ra được khóa đúng.
1.6 Tiêu chuẩn đánh giá một hệ mã
Một hệ mã được gọi là tốt thì nó phải đảm bảo các yêu cầu sau đây:
Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của các khoá.
Khi cho khóa công khai eK và bản rõ P thì chúng ta dễ dàng thực hịên mã ( nghĩa
là tính được eK(P) = C). Ngược lại khi cho hàm giải mã d K và bản mã C thì dễ
dàng tìm được bản rõ ( tính được dK(M) = P).
Khi không biết dK thì không có khả năng để tìm được M từ C, nghĩa là khi cho
hàm f: X → Y thì việc tính y = f(x) với mọi x ∈ X là dễ còn việc tìm x khi biết y
lại là vấn đề khó và nó được gọi là hàm một chiều.

14


Bản mã C không được có các đặc điểm gây chú ý nghi ngờ.
1. 7 An toàn của một hệ thống mã hoá
Mục đích của người phân tích là phát hịên ra khoá k, bản rõ P, hoặc cả hai
thứ đó. Trong hầu hết các lần phân tích mã, người phân tích có một vài thông tin
có khả năng về bản rõ P trước khi bắt đầu phân tích. Họ có thể biết ngôn ngữ đã
được mã hoá, có thể đoán về nội dung bản mã. Mục đích của việc thám mã là tập
hợp những khả năng có thể của bản mã với mỗi khả năng có thể của bản rõ.
Năm 1949, Claude Shannon đã phát triển lý thuyết đánh giá độ mật của một
hệ thống thông tin

* Lý thuyết Shannon.
Ý tưởng chính là đánh giá độ mật của hệ thống thông tin:
• Độ bí mật ( dựa trên 2 quan điểm cơ bản về tính an toàn):
- Độ an toàn tính toán: Một hệ thống mật là an toàn về mặt tính toán nếu thuật
toán tốt nhất cần phá vỡ nó cần ít nhất n phép toán (n∞).Nếu giải bằng các
công cụ hiện đại thì yêu cầu thời gian lớn đến mức không thể thực hiện được.
Một phương pháp để chứng minh độ an toàn tính toán là quy độ an toàn tính toán
của hệ mật về việc giải một bài toán đã được nhiều người nghiên cứu kỹ và công
nhận là khó.
- Độ an tòan không điều kiện (tuyệt đối): Một hệ thống mật mã được gọi là an
toàn không điều kiện nếu nó không thể bị phá vỡ dù kẻ phá họai có năng lực tính
toán không hạn chế. Theo Shannon thì 1 hệ thống là bí mật tuyệt đối nếu: |P|=|C|
=|K| tức là không gian bản rõ bằng không gian bản mã và bằng số không gian
bản khóa đồng thời thỏa mãn hai điều kiện sau:
+ Chỉ có một khóa duy nhất để chuyển bản gốc thành bản mã.
+ Tất cả các khóa là tương đương.
• Tỷ lệ của ngôn ngữ và độ dư.
Mỗi một ngôn ngữ thì có một độ dư nhất định.
Khái niệm về khoảng cách đơn vị: Một bản tin mật mã cụ thể có thể mật không
điều kiện nếu nó đủ ngắn để thông tin nội dung không đủ để xác định 1 lời giải
chung. Shannon định nghĩa chiều dài tối thiểu của bản tin cần thiết để dần đến 1

15


lời giải chung gọi là khoảng cách đơn vị, hầu hết các hệ thống mật đều quá phức
tạp để xác định các sắp xếp cần thiết nhằm tìm ra khoảng cách. Tuy nhiên
Shannon và Huffman chỉ ra rằng trong một số trường hợp cụ thể có thể xác định
được khoảng cách gần đúng này.
N0= log2|k|/ Rl log2|P|

Với mã thay thế |P|=26, |K|=26! Thì log2|K|=88.4 và log2|P|=4.7 và N0=25
Vậy thì thông thường nếu thám mã có được xâu bảng mã với độ dài tối
thiểu là 25, họ có thể tính ra được bản rõ.
• Đặc tính cần có của hệ thống mật mã:
Shannon chỉ ra rằng 1 hệ thống mật mã cần phải đạt được các đặc tính sau:
Xáo trộn: Là thuật toán phải đạt được nhiều quan hệ phức tạp giữa 3 yếu tố : bản
tin gốc, khóa và bản tin mật mã. Để thám mã không thể biết được 1 sự biến đổi
của 1 ký tự trong bản gốc sẽ gây ra hiệu quả như thế nào với bản mã.
Khuyếch tán: Là thuật toán phải trải thông tin từ bản gốc ra thành toàn bộ
bản mã hay nói cách khác là 1 sự biến đổi nào đó của bản tin gốc cần làm biến
đổi nhiều phần của bản mật mã.
• Lý thuyết độ phức tạp
Lý thuyết độ phức tạp cung cấpmột phương pháp để phân tích độ phức tạp
tính toán của thuật toán và các kỹ thuật mã hóa khác nhau. Nó so sánh các thuật
toán mã hoá, kỹ thuật và phát hiện đô an toàn của các thuật toán đó.
Lý thuyết độ phức tạp phân loại bài toán theo thời gian và không gian tối
thiểu cần thiết để giải những trường hợp khó nhất của bài toán trên máy Turing
hay một mô hình trừu tượng nào đó.
Thuật toán có độ phức tạp thời gian f(n) đối với mọi n và độ dài đầu vào n,
nghĩa là sự thực hiện của thuật toán lớn hơn f(n) bước.
Độ phức tạp thời gian thuật toán phụ thuộc vào mô hình của các thuật toán,
số các bước nhỏ hơn nếu các hoạt động được tập trung nhiều hơn trong một
bước.

16


CHƯƠNG 2
CÁC HỆ THỐNG MẬT MÃ CỔ ĐIỂN
2.1 Định nghĩa hệ mã cổ điển

Đối tượng cơ bản của mật mã là tạo ra khả năng liên lạc trên một kênh
không mật cho cả hai người sử dụng (AB) sao cho đối phương C không thể hiểu
đựơc thông tin đã truyền đi. Kênh này có thể là một đường dây điện thoại hay
một mạng máy tính.
Các dữ liệu được gửi đi bằng số hoặc bất cứ tài liệu nào có cấu trúc tuỳ ý. A
mã hoá bản rõ bằng một khoá đã được xác định từ trước và gửi bản mã lên kênh
truyền. C có bản mã thu trộm được trên kênh song không thể xác định được nội
dung của bản rõ, nhưng B có thể giải mã được để thu được bản rõ vì đã biết khoá
mã.
Việc quy định khoá chỉ có A và B biết ( chỉ có hai người ở cùng một chỗ
hoặc được gửi trên kênh truyền nếu ở xa nhau). Trong trường hợp này hàm mã
hoá phải là một hàm đơn ánh (ánh xạ 1 -1), nếu không việc giải mã không thực
hiện được một cách tường minh.
* Mã cổ điển là các loại mã được thực hiện thông qua một hàm f có tính
thuận nghịch. Độ mật của mã phụ thuộc vào hàm f ( các tham số của hàm f).
Với hệ mã cổ điển, có hạn chế là: Biết f ta suy ra f -1, ngược lại biết f-1 ta có
thể suy ra f.
* Là hệ mã có tính chất đối xứng tức là các thuật toán của hệ mã này có tính
chất đối xứng, từ khoá giải mã ta có thể tính ra được khoá mã hoá, là các giải
thuật sử dụng cùng một khóa bí mật cho việc mã hoá và giải mã.
Do sử dụng chung một khoá nên khoá phải được trao đổi bí mật ( kênh an
toàn).
2.2 Các hệ mã cổ điển
Giả sử bảng rõ được dùng là gồm các ký tự của bảng chữ cái tiếng Anh 26
ký tự. Các ký tự được đánh số lần lượt từ 0 đến 25

17


A


B

C

D

E

F

G

H

I

J

K

L

M

0

1

2


3

4

5

6

7

8

9

10

11

12

N
13

O
14

P
15


Q
16

R
17

S
18

T
19

U
20

V
21

W
22

X
23

Y
24

Z
25


Quy ước: Dùng các chữ in hoa cho bản mã, các chữ in thường cho bản rõ.
2.2.1 Các hệ mã dịch chuyển và thay thế
1, Mã dịch vòng
* Mô tả:
Sử dụng bảng chữ cái tiếng Anh, mỗi ký tự của bảng mật mã được tạo ra
bởi ký tự của bản gốc dịch đi k vị trí theo chiều kim đồng hồ.
* Mô hình toán học:
Mã dịch vòng được xác định trên tập Z 26 ( tổng quát ta có thể xác định trên
tập Zm với m tuỳ ý), khi đó ta có mô tả toán học của mã dịch vòng như sau:
Giả sử |P|=|C|=|K|=Z26
Ek (x)=x+k ( mod 26)
Dk(x)=y-k (mod 26)
Giả sử P = C = K = Z26 ( 0 <= k <= 25), x và y ∈ Z26.
- Hàm mã hoá: ek (x) = (x + k) mod 26
- Hàm giải mã: dk (y)= (y – k) mod 26
* Ví dụ:
Ta có bản tin cần mã hóa như sau:
x = CNTTTHAINGUYEN
Giả sử ta dùng Z26 và k=11 thì khi đó bản tin có dạng
x = 2 13 19 19 19 7 0 8 13 6 20 24 4 13
ek (x) = x + 11
ek (x) = 13 24 4 4 4 18 11 19 24 17 5 9 15 24
và ta thu được bản mã y như sau:
y= NYEEESLTYRFJPY
18


Quá trình giả mã tiến hành ngược lại
dk (y) = y - 11
Ta thu được bản rõ x = CNTTTHAINGUYEN

* Nhận xét:
- Tính mật của mã dịch vòng rất yếu, chỉ có 26 khóa, tính xáo trộn, khuyếch
tán không lớn.
- K cố định, chỉ cần thử đối với 1 đoạn ngắn là có thể tìm ra được quy luật
và từ đó giả mã được.
- Để nâng cao độ an toàn ta có thể cải tiến hàm mã hoá hoặc hàm giải mã
bằng cách thêm vào các tham số.
2, Mã thay thế
* Mô tả:
Tạo ra một bảng chữ cái mới được sắp xếp không theo trật tự , nói cách khác đó
là sự mã hóa và giải mã dựa vào sự hoán vị dựa trên bảng chữ cái của các ký tự.
* Mô hình toán học:
Giả sử P|=|C|=Z26
Ek(x)=k(x)
Dk(y)=k-1(y)
K chứa 1 hoán vị có thể có của 26 ký tự (0,1,…25) với mỗi phép hoán vị k
thuộc K ta xác định:
- Hàm mã hóa: ek (x) = k (x)
- Hàm giải mã: dk (y) = k-1 (y)
* Ví dụ:
- Cho bản rõ THAINGUYEN
- Cho khoá là một hoán vị π trong bảng chữ cái
A
Z

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

Y

X

W

V

U

T

S

R


Q

P

O

N

M

L

K

J

I

H

G

F

F

D

C


B

A

Ta thu được bản mã là: GSZRMTFBVM
* Nhận xét:

19


- Độ an toàn của mã thay thế cao hơn mã dịch vòng song không gian mã
chưa đủ lớn để đảm bảo an toàn tuyệt đối.
- Mã dịch vòng là trường hợp đặc biệt của mã thay thế chỉ gồm 26 trong số
26! các hoán vị có thể có của 26 phần tử.
- Mỗi bảng chữ cái là 1 bản thay thế, khóa là hoán vị của 26 chữ cái. |K|
=26!. Để thám mã có thể dựa vào tần suất xuất hiện của mỗi chữ cái trong ngôn
ngữ ( Ví dụ E: 13.1%, T: 9.0%, 0: 8.2%...... hay các nhóm chữ thường hay đi
kèm với nhau như: IN, ON, THE…..) để dò ra bảng chữ cái hoán vị ,độ an toàn
không cao. Giá trị khóa k là 1 cái gì đó cố định.
3, Mã Affine
* Mô tả:
Mã Affine có nhiều biến thể khác nhau, ta chỉ xét hàm mã hóa có dạng
Ek(x)= ax+b (mod 26)
* Mô hình toán học: cho |P|=|C|=Z26
Giả sử k={(a,b) ∈ Z26 | USCLN (a,26)=1)} với k ∈ K, và x, y ∈ Z26,
Ta xác định:
ek (x)=ax +b (mod 26)
dk (y)= a-1(y-b) (mod 26)
* Định lý toán học đồng dư:

Phương trình: a*x ≡ b (mod m) có nghiệm duy x nhất khi và chỉ khi a và m
là nguyên tố cùng nhau tức là: ƯSCLN ( a,m) =1.
* Cách xây dựng hệ mã:
Để việc xây dựng hệ mã có thể tiến hành được thì hàm Affine phải là hàm
đơn ánh. Nói cách khác với bất kỳ y ∈ Z26 , ta có đồng nhất thức sau:
ax+ b ≡ y ( mod 26) phải có nghiệm duy nhất. Đồng dư thức này tương
đương với: ax ≡ y –b ( mod 26 ) có nghiệm duy nhất.
Vì y thay đổi trên Z26 nên y – b cũng thay đổi trên trên Z 26. Bởi vậy ta chỉ
cần nghiên cứu phương trình đồng dư: ax ≡ y với y ∈ Z26 có nghiệm duy nhất.
điều này xảy ra khi ƯSCLN(a,26) = 1.
* Ví dụ:
20


Cho k = (7 , 3) bản tin x = LOVE , hãy mã hoá và giải mã ngược lại.
Mã hoá:
- Bước 1: Biến đổi các ký tự trong bản rõ thành các số tương ứng trong
bảng chữ cái, sau đó biến đổi thành các thặng dư theo mod 26.
Ta được các số tương ứng là: 11, 14, 21, 4.
- Bước 2: Mã hóa theo hàm mã hoá: ek (x) = (7x + 3) mod 26
7 x 11 + 3 mod 26 = 2
7 x 14 + 3 mod 26 = 23
7 x 21 + 3 mod 26 = 20
7 x 4 + 3 mod 26 = 5
- Bước 3: Biến đổi các kí hiệu thành xâu ký tự, ta thu được bản mã
x = 2 23 20 5 tương ứng x = C X U F
Giải mã:
- Bước 1: Đổi các ký tự thành số theo bảng chữ cái.
- Bước 2: Tính a –1 theo thuật toán Euclide mở rộng: 7-1 mod 26 = 15
Giải mã theo hàm giải mã:dk (y) = (a-1 * ( y – b)) mod 26

= 7-1 * ( y -3 ) mod 26
= 15 * ( 7*x + 3) mod 26
- Bước 3: Thay thế các số thành xâu ký tự ta thu được bản tin x ban đầu.
* Nhận xét:
- Số các phép chọn của b là m = 26 số, số các phép chọn của a là Φ(m) = 13
số với hàm mã hoá là e(x) = ax + b.
- Như vậy không gian khoá là 13 x 26 = 312→ quá nhỏ để đảm bảo an toàn.
2.2.2 Hệ mã khối.
1, Mã Vigenere
* Mô tả:
Cắt bản gốc ra thành từng khối k ky tự, với k là số ký tự của từ khóa.
* Mô hình toán học:
Cho m là số nguyên dương cố định nào đó, ta định nghĩa P=C=K (Z 26)m với
khóa k = (k1,k2,k3…..km), ta xác định được luật mã hóa:

21


Ek (x1,x2,…,xm)=(x1+k1,x2+k2,….xm+km) (mod 26)
Dk(y1,y2,….,ym)=(y1-k1,y2-k2,…..ym-km) (mod 26)
* Ví dụ:
Giả sử ta có bản tin gốc x = ANTOANTHONGTIN, sử dụng từ khoá
BOOK ta cắt bản tin gốc ra thành từng khối 4 ký tự:
Từ khoá BOOK tương ứng trong Z26 là: k = (1, 14, 14, 10)
Mã hóa:
Biến đổi các phần tử của bản tin gốc thành các giá trị tương ứng trong
module 26 (đổi xâu sang số), viết thành nhóm 4 rồi cộng với từ khoá theo
module 26.
ANTO/ ANTH/ ONGT/ IN
Ta có bảng kết quả sau:

A N T O A N T H O N
bản rõ
00 13 19 14 00 13 19 07 14 13
số bản rõ
1 14 14 10 1 14 14 10 1 14
Khoá
1 27 33 24 1 27 33 17 15 27
bản rõ +khoá
Tính theo mod 26 1 1 7 24 1 1 7 17 15 1
B B H Y B B H R P B
bản mã
Để giả mã sử dụng từ khoá đó nhưng thay vì cộng ta sẽ trừ đi.

G
06
14
20
20
U

T
19
10
29
3
D

I
08
1

9
9
J

N
13
14
27
1
B

Cùng 1 kí tự ở bản rõ ta ra các ký tự khác nhau ở bản mã.
* Nhận xét:
Nếu từ khóa có độ dài là m thì số lượng từ khóa có thể có 26 m , m là tương
đối lớn thì không gian khóa cũng khá lớn. Nếu từ khóa có n ký tự phân biệt thì
ký tự của bản có nhiều giá trị trong bản mã. Hệ mật như vậy gọi là hệ mật thay
thế đa biểu.
2, Mật mã Hill
* Mô tả:
Là một hệ thống mật thay thế đa biểu, do Leiter S.Hill đưa ra vào 1929.
Cho m là số nguyên dương lớn, ta có P=C=Z 26 ,lấy m tổ hợp tuyến tính của m ký
tự trong 1 bản rõ để tạo ra m ký tự trong bản mã.
Y1=a11x1+a12x2+….a1mxm
Y2=a21x1+a22x2+….a2mxm
22


Vớ d:
Cho m =2, ta tỏch bn tin gc thnh tng cm 2 kớ t x = ( x 1, x2 ) mi phn
t trong bn mó c tỏch thnh y = ( y 1, y2 ). Nu cho x v y t hp tuyn tớnh

vi nhau cú dng :
Y1=a11x1+a12x2+.a1mxm
Y2=a21x1+a22x2+.a2mxm
Tng quỏt ta cú th ly ma trn k, kớch thc m x n lm khoỏ, khi ú ta tớnh:
y= x * k
thc hin c phng phỏp mt ny thỡ k phi l kh nghch ( tc l cú
ma trn nghch o k-1 , k * k-1 = 1 ). Nu c nh vy thỡ vic gii mó tin hnh
nh sau:
dk(y)= y * k-1
* Mụ hỡnh toỏn hc:
Cho m l 1 s nguyờn dng c nh
P = C = (Z26 )m , cho K l ma trn kh nghch (m x n) trờn Z 26 vi 1 khúa k
thuc K ( k l mt ma trn) ta xỏc nh:
ek(x)= x * k mod 26
dk(y)= y * k-1 mod 26
* Vớ d:
11 8
, ta tớnh nh thc: Det K = 11*7 3*8 = 53,
7

Cho khoỏ K =
3
ƯSCLN(53,26) = 1

Vy tn ti ma trn nghch o ca ma trn K
7

8

Tính K-1 = (det K)-1 *

Z26
3 11
7

8

K-1 = 53-1 *

3 11
7

18

Ta có 53-1 = 1( mod 26) nên ma trận nghịch đảo là

23 11
Giả sử có bản rõ HOA SUA, yêu cầu mã hoá bản rõ trên.
23


B1: Ta chuyển các ký tự của bản rõ thành dạng số tơng ứng
7

14

0

18

20


0

Ta có 3 phần tử của bản rõ để mã hoá (7,14) ứng với HO; (0,18) ứng với AS;
(20,0) ứng với UA. Ta tính nh sau:
11 8
= (77+42,56+98) = (15,24) đổi ra mod 26 = (P,Y)
7

(7,14)
3

11 8
=(0+54,0+126) = (2,22) = (C,W)
7

(0,18)
3

11 8
= ( 220+0,160+0) = (12,4) = (M,E)
7

(20,0)
3

Kết quả ta thu đợc bản mã của HOA SUA là PYCWME.
Gii mó: dk(y)= y * k-1 mod 26
3, Mó hoỏn v
* Mụ t:

Cỏc h mt mó ó c nghiờn cu u thc hin vic thay th cỏc ký t
ca bn rừ bng mt ký t no ú trong bng ch cỏi nhng ý tng ca mó hoỏn
v l gi li cỏc ký t ca bn rừ nhng i v trớ ca chỳng. Trong mó hoỏn v
khụng cn s dng bt c phộp toỏn i s no.
* Mụ hỡnh toỏn hc:
Cho m l 1 s nguyờn dng xỏc nh. P = C = (Z26)m
K l khụng gian khúa gm tt c cỏc hoỏn v trong tp (1m). i vi
1 khúa k ta xỏc nh:
e(x)=e(x1..xm)=(x1..xm)
d(y)=d(y1..ym)=(y-11..y-mm)
trong ú -1 l hoỏn v ngc ca .
* Vớ d:
Gi s cho m = 5 , = 2, 1, 3, 5,4
Bn tin x = KHONGCOGIQUIHONDOCLAPTUDO
Vi m = 5 ta cú: x = KHONG|COGIQ|UIHON|DOCLA|PTUDO
Sp xp li theo x = HKOGN|OCGQI|IUHNO|ODCAL|TPUOD

24


Ta được bản mã muốn có bản rõ chỉ cần làm ngược lại với ∏-1.
* Chú ý: Trong thực tế khoá k thường được cho dưới dạng từ khoá.
2.2.3 Các hệ mã dòng
* Mô tả:
Các hệ mật mã trước đây đều dùng 1 loại khóa cố định nói chung thuộc vào
loại mật mã khối vì đều chia thành từng khối.
y=y1 y2….ym=ek(x1) ek(x2) …. ek(xm)
Ý tưởng của hệ mã dòng là tạo ra 1 dòng khóa: z=z 1 z2 ….zm từ đó xác định
các luật ezi với (i=1,2…m) để mã hóa bản rõ:
Cách tạo ra dòng khoá: Giả sử k1 thuộc k là khoá và x = (x1 x2…… xm ) là bản

rõ, ta có hàm fi dùng để tạo ra zi , trong đó fi là hàm của khoá k.
Vậy để mã hoá x = (x1 x2…… xm ) ta phải tính:
Z = (z1 z2…… zm ) --> Y = (y1 y2…… ym )
Giải mã : Z = (z1 z2…… zm ) --> x = (x1 x2…… xm )
Ví dụ: Cho m=4, k = (1,0,0,0), dòng khoá được tao theo quy tắc:
zi+4 = zi + zi+1 mod 2, ta có dòng khoá: 1,0,0,0,1,0,0,1,1,0,10,1,1,1
* Mô tả toán học:
Mật mã dòng là bộ gồm 7 thành phần (P,C,K,L,F,E,D)
P: Tập hữu hạn các bản rõ có thể có được.
C: Tập hữu hạn các bản mã có thể có được.
K: Tập hữu hạn các bản khóa có thể có được.
L: Tập hữu hạn bộ chữ của dòng khóa.
F: F=(f1,f2,…..fm)(m∞):
bộ tọa dòng khóa với i>>1, fi là ánh xạ K x P(i-1) L
Với mỗi z ∈ L , 1 quy tắc mã hóa ez∈ E và quy tắc giải mã dz ∈ D sao
cho: dz(ez(x))= x với mọi x ∈ P.
* Nhận xét: Có thể coi mã khối là trường hợp đặc biệt của mã dòng trong đó
dùng một khóa không đổi.
Mã dòng được gọi là mã đồng bộ nếu như dòng khóa không phụ thuộc vào
một xâu bản rõ.
25


×