162
CHƯƠNG 3 LÝ THUYẾT MẬT MÃ Gv: Trịnh Huy Hoàng

ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

  • Upload
    itnoi

  • View
    1.063

  • Download
    6

Embed Size (px)

Citation preview

Page 1: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

CHƯƠNG 3

LÝ THUYẾT MẬT MÃ

Gv: Trịnh Huy Hoàng

Page 2: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 2

Nội dung trình bày

1. Giới thiệu

2. Lịch sử phát triển

3. Các khái niệm cơ sở

4. Mã hóa đối xứng

5. Mã hóa bất đối xứng

6. Chữ ký điện tử

Page 3: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 3

1 2 3 4 5

1 A B C D E

2 F G H I J

3 K L M N O

4 P Q R S T

5 U V W X Y

MẬT THƯ 1: 45,24,34 – 12,11 – 13 – 14,35,11,34 – 31,15,45

TIN BA C ĐOÀN KẾTTIN BA C

ĐOÀN KẾT

Page 4: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 4

MẬT THƯ 2: TÍ VỀ –TUẤT THƯƠNG–HỢI NHẤT - SỬU HƯỚNG-

DẬU YÊU- DẦN MẶT- THÌN BẠN – MẸO TRỜI- TỊ SẼ –– MÙI NGƯỜI- NGỌ THẤY - THÂN BẠN

12 CON GIÁP: TÍ, SỬU, DẦN, MẸO, THÌN, NGỌ, MÙI, THÂN, DẬU, TUẤT, HỢI

12 CON GIÁP: TÍ, SỬU, DẦN, MẸO, THÌN, NGỌ, MÙI, THÂN, DẬU, TUẤT, HỢI

12 CON GIÁP: TÍ, SỬU, DẦN, MẸO, THÌN, NGỌ, MÙI, THÂN, DẬU, TUẤT, HỢI

VỀ HƯỚNG MẶT TRỜI BẠN SẼ THẤY

NGƯỜI BẠN Y£U THƯƠNG NHẤT

VỀ HƯỚNG MẶT TRỜI BẠN SẼ THẤY

NGƯỜI BẠN Y£U THƯƠNG NHẤT

Page 5: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 55

Vấn Đề đặt ra là :

Tại sao chúng ta cần mã hóa? ●Mã hóa là một phương pháp hỗ

trợ rất tốt cho trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi qua các kênh truyền thông.

●Mã hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thông tin đó.

Page 6: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 6

Page 7: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 7

• Mật mã (Cryptography) là ngành khoa học nghiên cứu các kỹ thuật toán học nhằm cung cấp các dịch vụ bảo vệ thông tin.

W. Stallings (2003), Cryptography and Network Security: Principles and Practice,

Third Edition, Prentice Hall

A-GIỚI THIỆU CHUNGA-GIỚI THIỆU CHUNG

Page 8: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 8

Cryptography Cryptanalysis Cryptology = Cryptography +

Cryptanalysis Security Steganography

Một số thuật ngữMột số thuật ngữ

Page 9: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 9

Cách hiểu truyền thống: giữ bí mật nội dung trao đổiGỬI và NHẬN trao đổi với nhau trong khi TRUNG

GIAN tìm cách “nghe lén”

GỬIGỬI NHẬNNHẬN

TRUNG GIANTRUNG GIAN

Page 10: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 10

Bảo mật thông tin (Secrecy): đảm bảo thông tin được giữ bí mật.

Toàn vẹn thông tin (Integrity): bảo đảm tính toàn vẹn thông tin trong liên lạc hoặc giúp phát hiện rằng thông tin đã bị sửa đổi.

Xác thực (Authentication): xác thực các đối tác trong liên lạc và xác thực nội dung thông tin trong liên lạc.

Chống lại sự thoái thác trách nhiệm (Non-repudiation): đảm bảo một đối tác bất kỳ trong hệ thống không thể từ chối trách nhiệm về hành động mà mình đã thực hiện

Chống lặp lại: Không cho phép bên thứ ba copy lại văn bản và gửi nhiều lần đến người nhận mà người gửi không hề hay biết.

Page 11: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 11

Mô tả một thể thức của mật mã (người gửi Alice làm rối loạn thông tin, người nhận Bod tìm thuật toán để giải mã thông tin)

Page 12: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 12

• Tính bảo mật thông tin:Đảm bảo thông tin đến đúng người nhận.

Page 13: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 13

• Ví dụ:– NHẬN cần đảm bảo là nhận chính xác nội dung mà

GỬI đã gửi

– Cần đảm bảo rằng TRUNG GIAN không can thiệp để sửa nội dung thông điệp mà GỬI gửi cho NHẬN

• Tính toàn vẹn thông tin (Integrity)GỬI NHẬN

TRUNG GIAN

Page 14: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 14

• Ví dụ:– NHẬN chờ GỬI “xác nhận” khi đến thời điểm thực

hiện công việc

– Cần đảm bảo rằng TRUNG GIAN không can thiệp để tạo “xác nhận” giả

Page 15: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 15

• Ví dụ:– NHẬN nhận được 1 thông điệp mà GỬI đã gửi

– GỬI không thể “chối” rằng không gửi thông điệp này cho NHẬN

• Chống lại sự thoái thác trách nhiệm (Non-repudiation)

GỬI NHẬN

Page 16: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 16

B- LỊCH SỬ VÀ THÀNH TỰU CỦA MẬT MÃ HỌC Lịch sử mật mã học chính là lịch sử của những

phương pháp mật mã học cổ điển - các phương pháp mật mã hóa với bút và giấy, đôi khi có hỗ trợ từ những dụng cụ cơ khí đơn giản.

Vào đầu thế kỷ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳng hạn như máy Enigma, đã cung cấp những cơ chế phức tạp và hiệu quả hơn cho việc mật mã hóa.

Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máy tính trong những thập kỷ gần đây đã tạo điều kiện để mật mã học phát triển nhảy vọt lên một tầm cao mới

Page 17: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 17

Sự phát triển của mật mã học luôn luôn đi kèm với sự phát triển của các kỹ thuật phá mã (hay thám mã). Phát hiện ra bức điện Zimmermann khiến Hoa

Kỳ tham gia Thế chiến I Việc phá mã thành công hệ thống mật mã của

Đức Quốc xã góp phần làm đẩy nhanh thời điểm kết thúc thế chiến II.

Đầu thập kỷ 1970, các kỹ thuật liên quan tới mật mã học hầu như chỉ nằm trong tay các chính phủ. Hai sự kiện đã khiến cho mật mã học trở nên thích hợp cho mọi người, đó là: sự xuất hiện của tiêu chuẩn mật mã hóa DES và sự ra đời của các kỹ thuật mật mã hóa khóa công khai.

B- LỊCH SỬ VÀ THÀNH TỰU CỦA MẬT MÃ HỌC

Page 18: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 18

1. MẬT MÃ HỌC CỔ ĐIỂN

2. MẬT MÃ HỌC TRUNG CỔ

3. MẬT MÃ HỌC TỪ 1800 TỚI THỂ CHIẾN

THỨ II

4. MẬT MÃ HỌC TRONG THỂ CHIẾN THỨ II

5. MẬT MÃ HỌC HIỆN ĐẠI

B- LỊCH SỬ VÀ THÀNH TỰU CỦA MẬT MÃ HỌC

Page 19: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 19

1-MẬT MÃ HỌC CỔ ĐIỂN Chữ tượng hình không

tiêu chuẩn tìm thấy trên các bức tượng Ai Cập cổ đại (cách đây khoảng 4500). Những ký hiệu tỏ ra không phải để phục vụ mục đích truyền thông tin bí mật mà có vẻ như là nhằm mục đích gợi nên những điều thần bí, trí tò mò hoặc thậm chí để tạo sự thích thú cho người xem.

Page 20: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 20

Người Hy Lạp cổ đại đã biết sử dụng các kỹ thuật mật mã: mật mã scytale

Người La Mã nắm được các kỹ thuật mật mã: mật mã Caesar và các biến thể,thậm chí đã có những đề cập đến một cuốn sách nói về mật mã trong quân đội La Mã

Khoảng năm 500 đến năm 600: mật mã hóa Atbash ra đời là phương pháp mã hóa thay thế cho bảng chữ cái đơn giản

Scytale, một thiết bị mật mã hóa cổ đại

1-MẬT MÃ HỌC CỔ ĐIỂN

http://www.cqrsoft.com/history/scytale.htm

Page 21: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 21

K=3

Page 22: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 22

Khoảng năm 1000 đến thể chiến thứ II: kỹ thuật phân tích tần suất đã được phát minh để phá vỡ các hệ thống mật mã đơn ký tự, là từ việc phân tích bản kinh Qur'an, do nhu cầu tôn giáo.

Năm 1465: Alberti đã sáng tạo ra kỹ thuật mật mã đa ký tự

2 - THỜI TRUNG CỔ

Page 23: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 23

Tại Châu Âu, trong và sau thời kì phục Hưng các công dân của các thành bang thuộc Ý, gồm cả các thành bang thuộc giáo phận và Công giáo La Mã, đã sử dụng và phát triển rộng rãi các kỹ thuật mật mã.

Tại Nhật Bản, mãi cho tới 1510, mật mã học vẫn chưa được sử dụng và các kỹ thuật tiên tiến chỉ được biết đến sau khi nước này mở cửa với phương Tây (thập kỷ 1860)

Thế kỷ 19: Mật mã học phát triển một cách có hệ thống không còn là tiếp cận nhất thời, vô tổ chức.

2 - THỜI TRUNG CỔ

Page 24: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 24

Kỷ nguyên của Chiến tranh Krim (Crimean War) xuất hiện công trình của Charles Babbage về toán phân tích mật mã đơn ký tự tuy muộn màng nhưng Friedrich Kasiski(người Phổ) khôi phục và công bố.

Trong thập niên 1840 Edgar Allan Poe đã xây dựng một số phương

pháp có hệ thống để giải mật mã ( Philadelphia, mời mọi người đệ trình cácphương pháp mã hóa của họ, và ông là người đứng ra giải)

Luận văn về các phương pháp mật mã hóa trở thành những công cụ có lợi, được áp dụng vào việc giải mã của Đức trong Thế chiến II.

3 – MẬT MÃ HỌC TỪ NĂM 1800 ĐẾN THẾ CHIẾN THỨ II

Page 25: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 25

Trước và tới thời điểm của Thế chiến II nhiều phương pháp toán học đã hình thànhWilliam F. Friedman dùng kỹ thuật thống

kê để phân tích và kiến tạo mật mã.Marian Rejewski đã bước đầu thành công

trong việc bẻ gãy mật mã của hệ thống Enigma của Quân đội Đức

3 – MẬT MÃ HỌC TỪ NĂM 1800 ĐẾN THẾ CHIẾN THỨ II

Page 26: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 26

Trong thế chiến II, các hệ thống mật mã cơ khí và cơ điện tử được sử dụng rộng rãi mặc dù các hệ thống thủ công vẫn được dùng tại những nơi không đủ điều kiện

Các kỹ thuật phân tích mật mã đã có những đột phá Người Đức đã sử dụng rộng rãi một hệ thống máy

rôto cơ điện tử, dưới nhiều hình thức khác nhau, có tên gọi là máy Enigma.

4 – MẬT MÃ HỌC THỜI THẾ CHIẾN THỨ II

Page 27: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 27

Máy Enigma được Phát Xít Đức sử dụng rộng rãi; việc phá vỡ hệ thống này đã mang lại cho quân Đồng Minh những tin tức tình báo cực kỳ quan trọng

4 – MẬT MÃ HỌC THỜI THẾ CHIẾN THỨ II

Page 28: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 28

Sau Thế chiến II trở đi, cả hai ngành, mật mã học và phân tích mã, ngày càng sử dụng nhiều các cơ sở toán học. Nhưng khi máy tính và các phương tiện interner phổ biến thì “ Mật mã học” mới phát huy hết tính hữu dụng của mình

Các loại mật mã trong chiến tranh thế giới II

4 – MẬT MÃ HỌC THỜI THẾ CHIẾN THỨ II

Page 29: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 29

SIGABA được miêu tả trong Bằng sáng chế của Mỹ 6.175.625, đệ trình năm 1944 song mãi đến năm 2001 mới được phát hành

4 – MẬT MÃ HỌC THỜI THẾ CHIẾN THỨ II

Page 30: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 30

Claude Shannon, người được coi là cha đẻ của mật mã toán học. Những công trình to lớn của ông như “Lý thuyết về truyền thông trong các hệ thống bảo mật” và Lý thuyết toán học trong truyền thông - cùng với tác giả Warren Weaver đã thiết lập một nền tảng lý thuyết cơ bản cho mật mã học và thám mã học.

5 – MẬT MÃ HỌC HIỆN ĐẠI

Page 31: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 31

Smart cards

Embedded systems

Page 32: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 32

Giữa thập niên kỷ 1970 được chứng kiến hai tiến bộ công chính lớn (công khai). 17/03/1975: Tại Mỹ trong “Công báo Liên Bang”công bố

đề xuất Tiêu chuẩn mật mã hóa dữ liệu (DES).2001: DES đã chính thức được thay thế bởi AES (viết tắt của Advanced Encryption Standard - Tiêu chuẩn mã hóa tiên tiến) khi NIST công bố phiên bản FIPS 197

Tiêu chuẩn Xử lý Thông tin của Liên bang (1977)

Page 33: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 33

Tiến triển thứ hai, vào năm 1976: Đó chính là công bố của bài viết phương hướng mới trong mật mã học (New Directions in Cryptography) của Whitfield Diffie và Martin Hellman , giới thiệu cách thức phân phối các khóa mật mã và đây là sự kích thích các thuật toán mới ra đờiThuật toán chìa khóa bất đối xứng trong đó người ta

phải có một cặp khóa có quan hệ toán học để dùng trong thuật toán, một dùng để mã hóa và một dùng để giải mã.

Page 34: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 34

Page 35: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 3535

Lịch Sử Mã hóa bất đối xứng

Thuật Toán mật mã hóa khóa công khai được thiết kế đầu tiên bởi Jame H.Ellis, Clifford Cocks, và Malcolm Williamson tại Anh vào đầu thập kỷ 1970.

Thuật toán sau này được phát triển và

biết đến dưới tên Diffie-Hellman, và là một trường hợp đặc biệt của “RSA”. Tuy nhiên những thông tin này chỉ được tiết lộ vào năm 1997.

Page 36: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 3636

Năm 1976, Whitfield Diffie và Martin Hellman công bố một hệ thống mật mã hóa khóa bất đối xứng trong đó nêu ra phương pháp trao đổi khóa công khai.

Trao đổi khóa Diffie-Hellman là phương pháp có thể áp dụng trên thực tế đầu tiên để phân phối khóa bí mật thông qua một kênh thông tin không an toàn.

Page 37: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 37

Ứng dụng của khóa công khai Mã hóa: giữ bí mật

thông tin và chỉ có người có khóa bí mật mới giải mã được.

Tạo chữ ký số: cho phép kiểm tra một văn bản có phải đã được tạo với một khóa bí mật nào đó hay không.

Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa 2 bên.

Page 38: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 38

Trước thời kỳ này, hầu hết các thuật toán mật mã hóa hiện đại đều là những thuật toán khóa đối xứng (symmetric key algorithms), trong đó cả người gửi và người nhận phải dùng chung một khóa, tức khóa dùng trong thuật toán mật mã, và cả hai người đều phải giữ bí mật về khóa này.

Mỗi một cặp truyền thông cần phải có một khóa riêng nếu, theo như thiết kế của hệ thống mật mã, không một người thứ ba nào, kể cả khi người ấy là một người dùng, được phép giải mã các thông điệp. Một hệ thống thuộc loại này được gọi là một hệ thống dùng chìa khóa mật, hoặc một hệ thống mật mã hóa dùng khóa đối xứng.

5 – MẬT MÃ HỌC HIỆN ĐẠI

Page 39: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 39

Page 40: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 40

Những nhà mật mã học hiện đại đôi khi phải khai thác một số lớn các mạch tích hợp (integrated circuit) - hay còn gọi là vi mạch. Mạch điện này là một phần cơ bản trong Bộ phá mã DES của Tổ chức tiền tuyến điện tử (EFF DES cracker) và nó bao gồm 1800 chip tùy biến và có thể bẻ gãy (dùng phương pháp vét cạn) một khóa DES chỉ trong vòng vài ngày.

-Trong những thập kỷ gần đây bằng phương pháp thám mã, những thiết kế mật mã bị bẻ gẫy nổi tiếng bao gồm:• DES• Mã hóa WEP phiên bản đầu tiên dùng trong kỹ thuật

truyền thông vô tuyến Wi-Fi• Hệ thống Xáo trộn Nội dung được sử dụng để mã hóa

và quản lý việc sử dụng DVD• Các mã A5/1, A5/2 được sử dụng trong điện thoại di

động GSM. Vì vậy: Độ lớn khóa đề nghị đối với việc bảo an lại càng

ngày càng phải tăng lên, vì công suất máy tính cần thiết để bẻ gãy các mã càng ngày càng trở nên rẻ tiền hơn và sẵn có.

-Trong những thập kỷ gần đây bằng phương pháp thám mã, những thiết kế mật mã bị bẻ gẫy nổi tiếng bao gồm:• DES• Mã hóa WEP phiên bản đầu tiên dùng trong kỹ thuật

truyền thông vô tuyến Wi-Fi• Hệ thống Xáo trộn Nội dung được sử dụng để mã hóa

và quản lý việc sử dụng DVD• Các mã A5/1, A5/2 được sử dụng trong điện thoại di

động GSM. Vì vậy: Độ lớn khóa đề nghị đối với việc bảo an lại càng

ngày càng phải tăng lên, vì công suất máy tính cần thiết để bẻ gãy các mã càng ngày càng trở nên rẻ tiền hơn và sẵn có.

Page 41: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 41

C-GIAO THỨC MẬT MÃ Là các giao thức (trên lý thuyết hoặc đã thực

hiện) nhằm thực hiện các chức năng liên quan tới bảo mật bằng các kỹ thuật mật mã.

Giao thức mật mã được sử dụng rộng rãi cho việc truyền dữ liệu an toàn ở mức ứng dụng. Một giao thức mật mã tiêu biểu thường bao gồm các chức năng sau: Thỏa thuận khóa; Nhận thức các bên tham gia; Truyền dữ liệu an toàn; Đảm bảo tính chất không thể từ chối (non-

reputation).

Page 42: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 42

C-GIAO THỨC MẬT MÃ Giao thức Transport Layer Security (TLS) tạo các kết

nối web (HTTP) an toàn. Nó bao gồm cơ chế nhận thực dựa trên tiêu chuẩn X.509, cơ chế thiết lập khóa (tạo khóa đối xứng bằng cách dùng hệ thống mã hóa bất đối xứng) và chức năng truyền dữ liệu mức ứng dụng an toàn. Giao thức này không bao gồm khả năng không thể từ chối.

Các giao thức mật mã có thể được kiểm tra độ chính xác bằng các phương pháp thuần túy lý thuyết (formal verification).

Giao diện điện tử sử dụng chữ kí số sử dụng một dạng chữ ký điện tử được tạo ra bằng sự biến đổi một thông điệp dữ liệu sử dụng hệ thống mật mã không đối xứng

Page 43: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 43

Nhận dạng dấu vân tay hoặc bảo mật bằng các phần mềm cung cấp bằng các tính năng có sẵn Pocket PC, như hệ thống mật mã hoặc hệ thống sinh trắc học.

Hai tập đoàn điện tử Nhật Mitsubishi và NEC đã kết nối thành công các hệ thống mật mã của nhiều nhà cung cấp lại với nhau.

D-MỘT SỐ ỨNG DỤNG KHÁC CỦA MẬT MÃ HỌC

Page 44: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 44

Một ngân hàng Áo vừa triển khai loại hình chuyển tiền điện tử bằng cách sử dụng photon phân tách để tạo ra mật mã liên lạc không thể phá vỡ

Mã hóa lượng tử truyền qua sợi quang: bảo mật cho tổng tuyển cử ở Thụy Sĩ

D-MỘT SỐ ỨNG DỤNG KHÁC CỦA MẬT MÃ HỌC

Page 45: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 45

Một số hệ mật mã cổ điển (mã đối xứng)

Mã hóa thay thếMã CeasarMã bảng chữ đơnMã PlayfairCác mã đa bảng Mã Vigenere Mã khoá tự động

Mã hóa hoán vịMã Rail Fence Mã dịch chuyển dòng Mã tích

Page 46: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 46

Mô hình mã đối xứng

Page 47: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 47

Khái niệm cơ bản Bản rõ X được gọi là là bản tin gốc. Bản rõ có thể được chia

nhỏ có kích thước phù hợp. Bản mã Y là bản tin gốc đã được mã hoá. Ở đây ta thường

xét phương pháp mã hóa mà không làm thay đổi kích thước của bản rõ, tức là chúng có cùng độ dài.

Mã là thuật toán E chuyển bản rõ thành bản mã. Thông thường chúng ta cần thuật toán mã hóa mạnh, cho dù kẻ thù biết được thuật toán, nhưng không biết thông tin về khóa cũng không tìm được bản rõ.

Khoá K là thông tin tham số dùng để mã hoá, chỉ có người gửi và nguời nhận biết. Khóa là độc lập với bản rõ và có độ dài phù hợp với yêu cầu bảo mật.

Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường bao gồm việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm theo.

Giải mã chuyển bản mã thành bản rõ, đây là quá trình ngược lại của mã hóa.

Mật mã là chuyên ngành khoa học của Khoa học máy tính nghiên cứu về các nguyên lý và phương pháp mã hoá. Hiện nay người ta đưa ra nhiều chuẩn an toàn cho các lĩnh vực khác nhau của công nghệ thông tin.

Page 48: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 48

Khái niệm cơ bản (tt) Thám mã nghiên cứu các nguyên lý và

phương pháp giải mã mà không biết khoá. Thông thường khi đưa các mã mạnh ra làm chuẩn dùng chung giữa các người sử dụng, các mã đó được các kẻ thám mã cũng như những người phát triển mã tìm hiểu nghiên cứu các phương pháp giải một phần bản mã với các thông tin không đầy đủ.

Lý thuyết mã bao gồm cả mật mã và thám mã. Nó là một thể thống nhất, để đánh giá một mã mạnh hay không, đều phải xét từ cả hai khía cạnh đó. Các nhà khoa học mong muốn tìm ra các mô hình mã hóa khái quát cao đáp ứng nhiều chính sách an toàn khác nhau.

Page 49: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 49

Hệ mật mã

Một hệ mật là một bộ 5 (P,C,K,E,D) thoả mãn các điều kiện sau:

P là một tập hữu hạn các bản rõ có thể. C là một tập hữu hạn các bản mã có thể. K (không gian khoá) là tập hữu hạn các khoá

có thể. Đối với mỗi k K có một quy tắc mã ek: P C

và một quy tắc giải mã tương ứng dk D. Mỗi ek: P C và dk: C P là những hàm mà:

dk(ek (x)) = x với mọi bản rõ x P.

Page 50: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 50

Thám mã.

Có hai cách tiếp cận tấn công mã đối xứng. Tấn công thám mã dựa trên thuật toán và

một số thông tin về các đặc trưng chung về bản rõ hoặc một số mẫu bản rõ/bản mã. Kiểu tấn công này nhằm khai phá các đặc trưng của thuật toán để tìm bản rõ cụ thể hoặc tìm khóa. Nếu tìm được khóa thì là tai họa lớn.

Tấn công duyệt toàn bộ: kẻ tấn công tìm cách thử mọi khóa có thể trên bản mã cho đến khi nhận được bản rõ. Trung bình cần phải thử một nửa số khóa mới tìm được.

Page 51: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 51

Các kiểu tấn công thám mã

Chỉ dùng bản mã: biết thuật toán và bản mã, dùng phương pháp thống kê, xác định bản rõ.

Biết bản rõ: biết thuật toán, biết được bản mã/bản rõ tấn công tìm khóa.

Chọn bản rõ: chọn bản rõ và nhận được bản mã, biết thuật toán tấn công tìm khóa.

Chọn bản mã: chọn bản mã và có được bản rõ tương ứng, biết thuật toán tấn công tìm khóa.

Chọn bản tin: chọn được bản rõ hoặc mã và mã hoặc giải mã tuơng ứng, tấn công tìm khóa.

Page 52: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 52

Mã thay thế - Mã Ceasar

Đây là mã thế được biết sớm nhất, được sáng tạo bởi Julius Ceasar. Lần đầu tiên được sử dụng trong quân sự. Việc mã hoá được thực hiện đơn giản là thay mỗi chữ trong bản rõ bằng chữ thứ ba tiếp theo trong bảng chữ cái.

Ví dụ: Meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB

Page 53: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 53

Mã thay thế - Mã Ceasar Có thể định nghĩa việc mã hoá trên qua ánh xạ trên bảng chữ

cái sau: 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 zD 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

Bằng cách gán thứ tự các ký bởi các giá trị tương ứng của Za b c d e f g h i j k l m0 1 2 3 4 5 6 7 8 9 10 11 12n o p q r s t u v w x y z13 14 15 16 17 18 19 20 21 22 23 24 25

Ta có thể xem mã Ceasar được định nghĩa qua phép tịnh tiến:c = E(p) = (p + k) mod (26)p = D(c) = (c – k) mod (26)

Ở đây, p là số thứ tự của chữ trong bản rõ và c là số thứ tự của chữ tương ứng của bản mã; k là khoá của mã Ceasar. Có 26 giá trị khác nhau của k, nên có 26 khoá khác nhau. Thực tế độ dài khoá ở đây chỉ là 1, vì mọi chữ đều tịnh tiến đi một khoảng như nhau.

Bài tập: Tìm bản rõ của “GCUA VQ DTGCM “

Page 54: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 54

Phương pháp này mã hoá các chữ không chỉ là dịch chuyển bảng chữ, mà có thể tạo ra các bước nhảy khác nhau cho các chữ.Ví dụ. Ta có bản mã tương ứng với bản rõ trong mã bảng chữ đơn như sau:Plain: abcdefghijklmnopqrstuvwxyz Cipher: DKVQFIBJWPESCXHTMYAUOLRGZNPlaintext: ifwewishtoreplacelettersCiphertext: WIRFRWAJUHYFTSDVFSFUUFYA

Mã thay thế - Các mã bảng chữ đơn

Page 55: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 55

Sử dụng bảng tần suất vào việc thám mã

Điều quan trọng là mã thế trên bảng chữ đơn không làm thay đổi tần suất tương đối của các chữ, có nghĩa là ta vẫn có bảng tần suất trên nhưng đối với bảng chữ mã tương ứng. Điều đó được phát hiện bởi các nhà khoa học Ai cập từ thế kỷ thứ 9. Do đó có cách thám mã trên bảng chữ đơn như sau:- Tính toán tần suất của các chữ trong bản mã- So sánh với các giá trị đã biết- Tìm kiếm các chữ đơn hay dùng A-I-E, bộ đôi NO

và bộ ba RST; và các bộ ít dùng JK, X-Z..- Trên bảng chữ đơn cần xác định các chữ dùng các

bảng bộ đôi và bộ ba trợ giúp.

Page 56: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 56

Bảng thống kê tần xuất ký tự tiếng Anh

Page 57: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 57

Phân tích của Beker và Peper

E: có xác suất khoảng 1,120 T, A, O, I, N, S, H, R : mỗi ký tự có xac suất

khoảng 0,06 đến 0,09 D, L : mỗi ký tự có xác suất chừng 0,04 C, U, M, W, F, G, Y, P, B: mỗi ký tự có xác

suất khoảng 0,015 đến 0,023 V, K, J, X, Q, Z mỗi ký tự có xác suất nhỏ hơn

0,01

Page 58: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 58

Phân tích của Beker và Peper

30 bộ đôi thông dụng nhất ( theo hứ tự giảm dần ) là: TH, HE, IN, ER, AN, RE, ED, ON, ES, ST, EN, AT, TO, NT, HA, ND, OU, EA, NG, AS, OR, TI, IS, ET, IT, AR, TE, SE, HI và OF

12 bộ ba thông dụng nhất (theo thứ tự giảm dần ) là: THE, ING, AND, HER, ERE, ENT, THA, NTH, WAS, ETH, FOR và DTH.

Page 59: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 59

Ví dụ thám mã bảng mã đơn

UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOUDTMOHMQ- Tính tần suất các chữ- Đoán P và Z là e và t.- Khi đó ZW là th và ZWP là the.- Suy luận tiếp tục ta có bản rõ:“it was disclosed yesterday that several informal butdirect contacts have been made with politicalrepresentatives in moscow”

Page 60: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 60

Bài tập thám mã sử dụng bảng tần suất

“ YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ

NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ

NZUCDRJXỷYMTMEYIFZWDYVZVYFZUMRZCRWNZDZJT

XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDINZDIR ”

Page 61: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 61

Mã thay thế - Mã Playfair

Một trong các hướng khắc phục của phương pháp mã bằng bảng mã đơn là mã bộ các chữ, tức là mỗi chữ sẽ được mã bằng một số chữ khác nhau tùy thuộc vào các chữ mà nó đứng cạnh. Playfair là một trong các mã như vậy, được sáng tạo bởi Charles Wheastone vào năm 1854 và mang tên người bạn là Baron Playfair. Ở đây mỗi chữ có thể được mã bằng một trong 7 chữ khác nhau tùy vào chữ cặp đôi cùng nó trong bản rõ.

Page 62: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 62

Mã thay thế - Mã PlayfairPhương pháp là lập ma trận 5x5 dựa trên từ khóa cho trước và

các ký tự trên bảng chữ cái- Trước hết viết các chữ của từ khoá vào các hàng của ma trận bắt

từ hàng thứ nhất. - Nếu ma trận còn trống, viết các chữ khác trên bảng chữ cái chưa

được sử dụng vào các ô còn lại. Có thể viết theo một trình tự qui ước trước, chẳng hạn từ đầu bảng chữ cái cho đến cuối.

- Vì có 26 chữ cái tiếng Anh, nên thiếu một ô. Thông thuờng ta dồn hai chữ nào đó vào một ô chung, chẳng hạn I và J.

- Giả sử sử dụng từ khoá MORNACHY. Lập ma trận khoá Playfair tương ứng như sau:

MONARCHYBDEFGIKLPQSTUVWXZ

Page 63: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 63

Quy tắc mã hóa và giải mã Chia bản rõ thành từng cặp chữ. Nếu một cặp nào đó có

hai chữ như nhau, thì ta chèn thêm một chữ lọc chẳng hạn X. Ví dụ, trước khi mã “balloon” biến đổi thành “ba lx lo on”.

Nếu cả hai chữ trong cặp đều rơi vào cùng một hàng, thì mã mỗi chữ bằng chữ ở phía bên phải nó trong cùng hàng của ma trận khóa (cuộn vòng quanh từ cuối về đầu), chẳng hạn “ar” biến đổi thành “RM”

Nếu cả hai chữ trong cặp đều rơi vào cùng một cột, thì mã mỗi chữ bằng chữ ở phía bên dưới nó trong cùng cột của ma trận khóa (cuộn vòng quanh từ cuối về đầu), chẳng hạn “mu” biến đổi thành “CM”

Trong các trường hợp khác, mỗi chữ trong cặp được mã bởi chữ cùng hàng với nó và cùng cột với chữ cùng cặp với nó trong ma trận khóa. Chẳng hạn, “hs” mã thành “BP”, và “ea” mã thành “IM” hoặc “JM” (tuỳ theo sở thích)

Page 64: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 64

Bài tập

Hãy tìm hiểu quá trình mã hóa và giải mã bằng phương pháp mã Playfair

Bản rõ P= “Dai hoc su pham”Khóa K=tinhoc

Page 65: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 65

Các mã đa bảng Một hướng khác làm tăng độ an toàn cho mã

trên bảng chữ là sử dụng nhiều bảng chữ để mã. Ta sẽ gọi chúng là các mã thế đa bảng. Ở đây mỗi chữ có thể được mã bằng bất kỳ chữ nào trong bản mã tùy thuộc vào ngữ cảnh khi mã hoá. Làm như vậy để trải bằng tần suất các chữ xuất hiện trong bản mã. Do đó làm mất bớt cấu trúc của bản rõ được thể hiện trên bản mã và làm cho thám mã đa bảng khó hơn. Ta sử dụng từ khoá để chỉ rõ chọn bảng nào được dùng cho từng chữ trong bản tin. Sử dụng lần lượt các bảng theo từ khóa đó và lặp lại từ đầu sau khi kết thúc từ khoá. Độ dài khoá là chu kỳ lặp của các bảng chữ. Độ dài càng lớn và nhiều chữ khác nhau được sử dụng trong từ khoá thì càng khó thám mã

Page 66: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 66

Mã Vigenere Mã thế đa bảng đơn giản nhất là mã

Vigenere. Thực chất quá trình mã hoá Vigenere là việc tiến hành đồng thời dùng nhiều mã Ceasar cùng một lúc trên bản rõ với nhiều khoá khác nhau. Khoá cho mỗi chữ dùng để mã phụ thuộc vào vị trí của chữ đó trong bản rõ và được lấy trong từ khoá theo thứ tự tương ứng.

Giả sử khoá là một chữ có độ dài d được viết dạng K = K1K2…Kd, trong đó Ki nhận giá trị nguyên từ 0 đến 25. Khi đó ta chia bản rõ thành các khối gồm d chữ. Mỗi chữ thứ i trong khối chỉ định dùng bảng chữ thứ i với tịnh tiến là Ki giống như trong mã Ceasar.

Page 67: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 67

Quá trình mã hóa và giải mã Vigenere

Để sử dụng mã Vigenere với từ khóa và bản rõ cho trước ta có thể làm như sau:

- Viết bản rõ ra- Viết từ khoá lặp nhiều lần phía trên tương ứng

của nó- Sử dụng mỗi chữ của từ khoá như khoá của

mã Ceasar- Mã chữ tương ứng của bản rõ với bước nhảy

tương ứng.- Chẳng hạn sử dụng từ khoá deceptive plaintext: wearediscoveredsaveyourself key: deceptivedeceptivedeceptive ciphertext:ZICVTWQNGRZGVTWAVZHCQYGL

Page 68: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 68

Bài tập

Thực hiện mã hóa và giải mã đoạn văn bản sau:Tuyen chong chat luongLuong thang khong tieuKhong duoc noi nhieuKhong duoc cai voPhai biet di choNau nuong quet nhaKhong duoc la caRuoc che co bac

Page 69: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 69

Mã hóa đối xứng Symmetric cryptography

Mã hóa đối xứng, tức là cả hai quá trình mã hóa và giải mã đều dùng một chìa khóa. Để đảm bảo tính an toàn, chìa khóa này phải được giữ bí mật. Vì thế các thuật toán loại này còn có tên gọi khác là secret key cryptography (hay private key cryptography)

Các thuật toán thông dụng: DES, TripleDES, Rijndael, …

Page 70: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 70

Mô hình mã hóa đối xứng

Page 71: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 71

Phân loạia. Block cipher

Block cipher là một giải pháp hoạt dộng chống lại sự hạn chế của dữ liệu tĩnh. Dữ liệu được chia ra thành các blocks với size cụ thể và mỗi blocks được mã hoá một cách khác nhau..

b. Stream cipher

Stream cipher là giải pháp hoạt động chống lại dữ liệu luôn luôn sử dụng một phương thức để truyền. Một vùng đệm, ít nhất bằng một block, đợi cho toàn bộ thông tin của block đó được chứa trong vùng đệm sau đó block đó sẽ được mã hoá rồi truyền cho người nhận

Page 72: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 72

Giới thiệu một số thuật toán DES (Data Encryption Standard) Triple DES AES (Advanced Encryption Standard) RC 4, RC 5, RC 6 (Rivest Cipher 4,5,6 ) Skipjack Blowfish CAST-128

Page 73: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 73

DES (Data Encryption Standard )

Với DES, Bản tin hay mẫu thư được mã hóa theo từng khối 64 bits và sử dụng một khóa là 64 bits.

Page 74: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 74

Là một thuật toán được sử dụng rộng rãi nhất trên thế giới với bề dày lịch sử hơn 20 năm, được phát triển bởi IBM Team vào những năm 1970, sau đó được phát triển bởi NIST (National Institute of Standard and Technology) cho các ứng dụng thương mại..

DES (Data Encryption Standard )

Page 75: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 75

Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ dài thực tế của khóa chỉ là 56 bit.

Nó dễ dàng bị phá vỡ chỉ trong vòng 24 tiếng đồng hồ

DES

Page 76: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 76

Triple DES (3DES) Thực hiện DES ba lần

Page 77: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 77

AES

AES là thuật toán mã hóa đối xứng dạng khối 128-bit Được phát triển bởi Vincent Rijmen và được sự hỗ trợ của chính phủ Mỹ xem như một thuật toán thay thế DES. AES cũng được gọi là Rijndael “Rhine-dale” phát âm theo tên người tạo ra.

Page 78: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 78

RC 4, 5, 6 Thuật toán RC bao gồm một series được

phát triển bởi Ronald Rivest. Tất cả có chiều dài khóa khác nhau. RC5 và RC6 là các mã hóa dạng khối với

các kích cỡ khác nhau

Page 79: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 79

Skipjack Skipjack là một thuật toán mã hóa khối

được thiết kế bởi Cơ quan bảo mật quốc gia Hoa kỳ - US National Security Agency (NSA) được sử dụng trong chip Clipper Fortezza PC card

Page 80: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 80

Blowfish Blowfish là một thuật toán mã hóa

miễn phí dùng block 64-bit sử dụng khóa có độ dài khác nhau.Được phát triển bởi Bruce Schneier.

Page 81: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 81

CAST-128

CAST-128, được đặt theo tên người phát triển là Carlisle Adams và Stafford Tavares, là một thuật toán mã hóa đối xứng có chiều dài khóa 128-bit. Là một trong những đối thủ cạnh tranh chính của AES.

Page 82: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 82

Page 83: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 83

MÃ HÓA Chuyển 64 bit chìa khoá qua một bảng

hoán vị gọi là Permuted Choice hay PC-1 để thu được chìa khoá mới có 56 bit.

Page 84: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 84

Mã hóa Khối dữ liệu đầu vào 64 bit được chia thành

hai nửa, L và R. L gồm 32 bit bên trái và R gồm 32 bit bên phải. Quá trình sau đây được lặp lại 16 lần tạo thành 16 vòng của DES gồm 16 cặp L[0]-L[15] và R[0]-R[15]:

Page 85: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 85

Mã hóa R[r-1]- ở đây r là số vòng, bắt đầu từ 1-

được lấy và cho qua bảng E, bảng này giống như một bảng hoán vị, một số bit được dùng hơn một lần do vậy nó sẽ mở rộng R[r-1] từ 32 bit lên 48

Page 86: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 86

Mã hóa 48 bit R[r-1] được XOR với K[r] và được lưu

trong bộ nhớ đệm, vì vậy R[r-1] không thay đổi.

Page 87: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 87

Mã hóa Kết quả của bước trước lại được chia thành 8

đoạn, mỗi đoạn 6 bit, từ B[1] đến B[8]. Những đoạn này tạo thành chỉ số cho các bảng S (Substitution) được sử dụng ở bước tiếp theo. Các bảng S, là một bộ 8 bảng (S[1]-S[8]) 4 hàng, 16 cột. Các số trong bảng có độ dài 4 bit vì vậy có giá trị từ 0 đến 15

Page 88: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 88

Mã hóa Bắt đầu từ B[1], bit đầu và cuối của khối 6 bit

được lấy ra và sử dụng làm chỉ số hàng của bảng S[1], nó có giá trị từ 0 đến 3, và 4 bit giữa được dùng làm chỉ số cột, từ 0 đến 15. Giá trị được chỉ đến trong bảng S được lấy ra và lưu lại. Việc này được lặp lại đối với B[2] và S[2] cho đến B[8] và S[8]. Lúc này bạn có 8 số 4 bit, khi nối lại với nhau theo thứ tự thu được sẽ tạo ra một chuỗi 32 bit.

Page 89: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 89

Mã hóa Kết quả của bước trước được hoán vị bit bằng

bảng hoán vị P (Permutation

Page 90: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 90

Mã hóa Kết quả thu được sau khi hoán vị được XOR

với L[r-1] và chuyển vào R[r]. R[r-1] được chuyển vào L[r].

Page 91: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 91

Mã hóa Lúc này bạn có L[r] và R[r] mới. Bạn tiếp tục tăng r

và lặp lại các bước trên cho đến khi r= 17, đIều đó có nghĩa là 16 vòng đã được thực hiện và các chìa khoá phụ K[1]-K[16] đã được sử dụng.

Khi đã có L[16] và R[16], chúng được ghép lại với nhau theo cách chúng bị tách ra (L[16] ở bên trái và R[16] ở bên phải) thành 64 bit. 64 bit này được hoán vị để tạo ra kết quả cuối cùng là dữ liệu 64 bit đã được mã hoá.

Page 92: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 92

VD MÃ HÓA Mã hóa bản rõ sau trong dạng thập lục phân

(Hexadecimal) 0123456789ABCDEF Sử dụng khóa thập lục phân 133457799BBCDFF1

Page 93: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 93

Page 94: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 94

Page 95: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 95

Page 96: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 96

Page 97: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 97

Page 98: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 98

Page 99: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 99

Kết quả Cuối cùng áp dụng IP-1 cho R16L16 ta nhận

được bản rõ trong dạng thập lục phân sau: 85E813540F0AB405

Page 100: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 100

Giải mã Việc giải mã dùng cùng một thuật toán như

việc mã hoá. Để giải mã dữ liệu đã được mã hoá, quá trình giống như mã hoá được lăp lạI nhưng các chìa khoá phụ được dùng theo thứ tự ngược lạI từ K[16] đến K[1], nghĩa là trong bước 2 của quá trình mã hoá dữ liệu đầu vào ở trên R[r-1] sẽ được XOR với K[17-r] chứ không phảI với K[r]..

Page 101: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 101

Vd giải mã Vd trên

Page 102: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 102

BÀI TẬP Sử dụng bản rõ sau: loptin3c Khóa: 20062010

Page 103: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 103

TÍNH AN TOÀN Chìa khoá của DES có độ dài tới 56 bit,  nghĩa

là số lần thử tối đa để tìm được chìa khoá lên đến 2^56, trung bình là 2^55 = 36.028.797.018.963.968 lần, một con số rất lớn!.

Page 104: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 104

ỨNG DỤNG Thường được dùng để mã hoá bảo mật các thông tin trong quá trình truyền tin cũng như  lưu trữ thông tin. Kiểm tra tính xác thực của mật khẩu truy nhập vào một hệ thống (hệ thống quản lý bán hàng, quản lý thiết bị viễn thông…), Tạo và kiểm tính hợp lệ của một mã số bí mật (thẻ internet, thẻ điện thoại di động trả trước), hoặc của một thẻ thông minh (thẻ tín dụng, thẻ payphone…).

Page 105: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 105

HẠN CHẾ

N người, tổng số lượng chìa khóa cần phải có là n*(n-1)/2.

Page 106: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 106

TẤN CÔNG

Năm 1997, một dự án đã tiến hành bẻ khóa DES chưa đến 3 ngày với chi phí thấp hơn 250.000 dollars. Năm 1999, một mạng máy tính gồm 100.000 máy có thể giải mã một thư tín mã hóa DES chưa đầy 24 giờ.

Page 107: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 107

TẤN CÔNG Năm 1977, Diffie và Hellman dự thảo một hệ

thống có giá khoảng 20 triệu đô la Mỹ và có khả năng phá khóa DES trong 1 ngày.

Năm 1993, Wiener dự thảo một hệ thống khác có khả năng phá mã trong vòng 7 giờ với giá 1 triệu đô la Mỹ.

Page 108: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 108

TẤN CÔNG Vào năm 1997, công ty bảo mật RSA đã tài

trợ một chuỗi cuộc thi với giải thưởng 10.000 đô la Mỹ cho đội đầu tiên phá mã được một bản tin mã hóa bằng DES. Đội chiến thắng trong cuộc thi này là dự án DESCHALL với những người dẫn đầu bao gồm Rocke Verser, Matt Curtin và Justin Dolske.

Page 109: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 109

TẤN CÔNG năm 1998 khi tổ chức Electronic Frontier

Foundation (EFF), một tổ chức hoạt động cho quyền công dân trên Internet, xây dựng một hệ thống chuyên biệt để phá mã với giá thành 250000 đô la Mỹ

Page 110: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 110

Phá mã Phá mã vi sai Phá mã tuyến tính Phá mã Davies

Page 111: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 111

TÌM NHƯỢC ĐIỂM & KHẮC PHỤC

Tripple DES thực hiện ba lần thuật toán DES với 3 khoá khác nhau và với trình tự khác nhau. Trình tự thực hiện phổ biến là EDE (Encrypt – Decrypt – Encrypt), thực hiện xen kẽ mã hóa với giải mã (lưu ý là khóa trong từng giai đoạn thực hiện khác nhau).

Bên cạnh đó còn có 6 DES

Page 112: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 112

KẾT LUẬN

Không thể phủ nhận là thuật toán DES có nhiều ứng dụng trong viễn thông và công nghệ thông tin, việc làm chủ và cứng hóa các thuật toán rất có ý nghĩa đối với sự an toàn trong các giao dịch trên mạng.

Nhìn chung, đối với Việt Nam, việc làm chủ công nghệ cứng hóa thuật toán DES rất có ý nghĩa trong việc đảm bảo an toàn giao dịch trên mạng, đảm bảo an toàn trong truyền tin cho các đơn vị cơ yếu tại Việt Nam. Hiện nay, đang triển khai cứng hóa thuật toán DES nhờ các công nghệ thiết kế số hiện đại, các chương trình và mạch phần cứng

Page 113: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 113

Page 114: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 114

AES Thuật toán mã hóa khóa quy ước, sử dụng

miễn phí trên toàn thế giới.

Page 115: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 115

Gồm các yêu cầu sau

Thuật toán mã hóa theo khối 128 bit. Chiều dài khóa 128 bit, 192 bit và 256 bit. Không có khóa yếu. Hiệu quả trên hệ thống Intel Pentium Pro và trên

các nền phần cứng và phần mềm khác. oThiết kế dễ dàng (hỗ trợ chiều dài khóa linh

hoạt, có thể triển khai ứng dụng rộng rãi trên các nền và các ứng dụng khác nhau).

Thiết kế đơn giản: phân tích đánh giá và cài đặt dễ dàng.

Chấp nhận bất kỳ chiều dài khóa lên đến 256 bit. Mã hóa dữ liệu thấp hơn 500 chu kỳ đồng hồ cho

mỗi khối trên Intel Pentium, Pentium Pro và Pentium II đối với phiên bản tối ưu của thuật toán.

Page 116: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 116

Gồm các yêu cầu sau Có khả năng thiết lập khóa 128 bit (cho tốc độ mã

hóa tối ưu) nhỏ hơn thời gian đòi hỏi để mã hóa các khối 32 bit trên Pentium, Pentium Pro và PentiumII.

Không chứa bất kỳ phép toán nào làm nó giảm khả năng trên các bộ vi xử lý 8 bit, 16 bit, 32 bit và 64 bit.

Không bao hàm bất kỳ phần tử nào làm nó giảm khả năng của phần cứng.

Thời gian mã hóa dữ liệu rất thấp dưới 10/1000 giây trên bộ vi xử lý 8 bit.

Có thể thực hiện trên bộ vi xử lý 8 bit với 64 byte bộ nhớ RAM.

Page 117: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 117

Phương pháp mã hóa MARS

MARS hỗ trợ kích thước khối dữ liệu 128 bit và cho phép sử dụng mã khóa có kích thước thay đổi được.

Thuật toán được thiết kế trên cơ sở khai thác các thế mạnh của việc thực hiện các phép toán trên các thế hệ máy tính hiện nay nhằm tăng hiệu quả của thuật toán so với các thuật toán mã hóa quy ước trước đây.

Page 118: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 118

Phương pháp mã hóa RC6 RC6 tương ứng với các tham số w/r/b, trong

đó kích thước từ là w bit, quy trình mã hóa bao gồm r chu kỳ và tham số b xác định chiều dài mã khóa tính bằng byte.

RC6 đạt được kích thước khóa b là 16, 24 và 32–byte (tương ứng với 128/192/256 bit).

RC6–w/r/b thực hiện trên các đơn vị bốn từ w bit sử dụng sáu phép toán cơ bản và Logarit cơ số 2 của w, ký hiệu bằng lgw.

Page 119: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 119

Phương pháp mã hóa RC6 a + b phép cộng số nguyên modulo 2w a – b phép trừ số nguyên modulo 2w a xor b phép XOR a × b phép nhân số nguyên modulo 2w a <<< b quay chu kỳ tròn bên trái b bit a >>> b quay chu kỳ tròn bên phải b bit

Page 120: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 120

Thuật toán SERPENT Serpent là một hệ thống 32 chu kỳ thực hiện

trên 4 từ 32 bit, kích thước khối là 128 bit. Ứng với mỗi từ 32 bit, chỉ số bit được đánh từ 0 đến 31, các khối 128 bit có chỉ số từ 0 đến 127 và các khóa 256 bit có chỉ số từ 0 đến 255…

Đối với các phép tính bên trong, tất cả các giá trị đặt trong little–endian, ở đó từ đầu tiên (từ có chỉ số 0) là từ thấp nhất, từ cuối cùng là từ cao nhất và bit 0 của từ 0 là bit thấp nhất. Ở ngoài, ta viết mỗi khối dưới dạng số hexa 128 bit.

Page 121: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 121

Thuật toán SERPENT Serpent mã hóa một văn bản ban đầu P 128

bit thành một văn bản mã hóa C 128 bit qua 32 chu kỳ với sự điều khiển của 33 subkey 128 bit

Chiều dài khóa người dùng là biến số (nếu ta cố định chiều dài khóa là 128, 192 hoặc 256 bit thì khi người sử dụng đưa vào chiều dài khóa ngắn hơn, ta đặt một bit 1 vào cuối MSB, còn lại điền các bit 0).

Page 122: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 122

HƯỚNG PHÁT TRIỂN CỦA MÃ HÓA ĐỐI XỨNG DES vẫn còn sử dụng ở việt nam. Và một số

thuật toán khác có tính bảo mật cao khác ( đã trình bày ở phần ứng dụng trên).

Tuy nhiên, sử dụng rộng rãi hơn là thuật toán mã hóa bất đối xứng, sử dụng 2 khóa: khóa công khai và khóa bí mật. đó cũng chính là sự khác biệt của mã hóa đối xứng và mã hóa bất đối xứng

Page 123: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 123

Mã hóa bất đối xứngAsymmetric cryptography

Mã hóa bất đối xứng sử dụng một cặp chìa khóa có liên quan với nhau về mặt toán học, một chìa công khai dùng để mã hóa (public key) và một chìa bí mật dùng để giải mã (private key). Một thông điệp sau khi được mã hóa bởi chìa công khai sẽ chỉ có thể được giải mã với chìa bí mật tương ứng.

Các thuật toán bất đối xứng: RSA, Elliptic Curve, ElGamal, Diffie Hellman …

Page 124: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 124

Mô hình mã hóa bất đối xứng

Page 125: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

125

• Như chúng ta đã biết Mã Hóa Đối xứng chỉ sử dụng một khóa cho việc mã hóa và giải mã.

• Ngược lại mã hóa bất đối xứng (Asymmetric cryptography) sử dụng một cặp chìa khóa có liên quan với nhau về mặt toán học.

• Một chìa công khai dùng để mã hoá (public key) và một chìa bí mật dùng để giải mã (private key).

Page 126: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

126

• Một thông điệp sau khi được mã hóa bởi chìa công khai sẽ chỉ có thể được giải mã với chìa bí mật tương ứng.

Do các thuật toán loại này sử dụng một chìa khóa công khai nên còn có tên gọi khác là thuật toán mã hóa dùng chìa khóa công khai (public-key cryptography).

Page 127: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

127

Mã hóa bất đối xứngMã hóa bất đối xứng

Public key

Private key

Mã hóa

Giải mã

Page 128: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

128

• Về khía cạnh an toàn, các thuật toán mật mã hóa khóa bất đối xứng cũng không khác nhiều với các thuật toán mã hóa khóa đối xứng. Có những thuật toán được dùng rộng rãi, có thuật toán chủ yếu trên lý thuyết; có thuật toán vẫn được xem là an toàn, có thuật toán đã bị phá vỡ...

• Nhìn chung, chưa có thuật toán nào được chứng minh là an toàn tuyệt đối Vì vậy, cũng giống như tất cả các thuật toán mật mã nói chung, các thuật toán mã hóa khóa công khai cần phải được sử dụng một cách thận trọng.

Page 129: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

129

Mô hình mã hóa bất đối xứng

Page 130: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

130

Bước đầu :

Public key

Private key

Page 131: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

131

Bước kế tiếp:Bước kế tiếp:

Public key

Mã hóa

Page 132: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

132

Cuối cùng :

Private key

Page 133: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

133

Một số điểm yếu…

• khả năng bị tấn công dạng kẻ tấn công đứng giữa : kẻ tấn công lợi dụng việc phân phối khóa công khai để thay đổi khóa công khai. Sau khi đã giả mạo được khóa công khai, kẻ tấn công đứng ở giữa 2 bên để nhận các gói tin, giải mã rồi lại mã hóa với khóa đúng và gửi đến nơi nhận để tránh bị phát hiện.

Page 134: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

134

Một số điểm yếu :• Tồn tại khả năng một người nào đó

có thể tìm ra được khóa bí mật.• Khả năng một mối quan hệ nào đó

giữa 2 khóa hay điểm yếu của thuật toán dẫn tới cho phép giải mã không cần tới khóa hay chỉ cần khóa mã hóa vẫn chưa được loại trừ.

• Gần đây, một số dạng tấn công đã đơn giản hóa việc tìm khóa giải mã dựa trên việc đo đạc chính xác thời gian mà một hệ thống phần cứng thực hiện mã hóa.

Page 135: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

135

Chú ý :

• Để đạt được độ an toàn tương đương, thuật toán mật mã hóa khóa bất đối xứng đòi hỏi khối lượng tính toán nhiều hơn đáng kể so với thuật toán mật mã hóa khóa đối xứng. Vì thế trong thực tế hai dạng thuật toán này thường được dùng bổ sung cho nhau để đạt hiệu quả cao.

Page 136: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

136

Một số ứng dụng:• Một Ứng dụng rõ ràng nhất của mật mã

hóa khóa công khai là bảo mật • Các thuật toán tạo chữ ký số khóa công

khai có thể dùng để nhận thực. Một người sử dụng có thể mã hóa văn bản với khóa bí mật của mình. Nếu một người khác có thể giải mã với khóa công khai của người gửi thì có thể tin rằng văn bản thực sự xuất phát từ người gắn với khóa công khai đó.

• Các đặc điểm trên còn có ích cho nhiều ứng dụng khác như: tiền điện tử, thỏa thuận khóa...

Page 137: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

137

Page 138: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

138

II. Một số giải thuật

• Một số thuật toán bất đối xứng thông dụng là: RSA, ELLIPTIC CURVE, ELGAMAL, DIFFIE KELLMAN,…

Page 139: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

139

THUẬT TOÁN RSA(Rivest Shamir Adleman )

• RSA là một thuật toán mật mã hoá khoá công khai. Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hoá.Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã học trong việc sử dụng khoá công cộng

Page 140: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

140

Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau

•   Bob muốn gửi cho Alice một thông tin mật mà Bob muốn duy nhất Alice có thể đọc được. Để làm được điều này, Alice gửi cho Bob một chiếc hộp có khóa đã mở sẵn và giữ lại chìa khóa. Bob nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khóa lại (như loại khoá thông thường chỉ cần sập chốt lại, sau khi sập chốt khóa ngay cả Bob cũng không thể mở lại được-không đọc lại hay sửa thông tin trong thư được nữa). Sau đó Bob gửi chiếc hộp lại cho Alice. Alice mở hộp với chìa khóa của mình và đọc thông tin trong thư.

• Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa bí mật.

Page 141: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

141

Tạo khóa

• Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụ như Internet). Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo các bước sau:

Page 142: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

142

• 1. Chọn 2 số nguyên tố lớn p và q với p≠ q, lựa chọn ngẫu nhiên và độc lập.

• 2. Tính: n = p.q • 3. Tính: giá trị hàm số Ơle.• • 4. Chọn một số tự nhiên e sao cho

và là số nguyên tố cùng nhau với . • 5. Tính: d sao cho.

Page 143: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

143

• Khóa công khai bao gồm:• n, môđun, và • e, số mũ công khai (cũng gọi là số

mũ mã hóa). • Khóa bí mật bao gồm:• n, môđun, xuất hiện cả trong khóa

công khai và khóa bí mật, và • d, số mũ bí mật (cũng gọi là số mũ

giải mã).

Page 144: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

144

Mã hóa

• Giả sử Bob muốn gửi đoạn thông tin M cho Alice. Đầu tiên Bob chuyển M thành một số m < n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận trước.

• Lúc này Bob có m và biết n cũng như e do Alice gửi. Bob sẽ tính c là bản mã hóa của m theo công thức:

• Cuối cùng Bos gửi c cho ALice

Page 145: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

145

Giải mã• Alice nhận c từ Bob và biết khóa bí mật d.

Alice có thể tìm được m từ c theo công thức sau:

• m ≡ cd mod n• Biết m, Alice tìm lại M theo phương pháp đã

thỏa thuận trước. Quá trình giải mã hoạt động vì ta có

• . Do ed ≡ 1 (mod p-1) và ed ≡ 1 (mod q-1), (theo Định lý Fermat nhỏ) nên:

• Và

Page 146: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

146

• Do p và q là hai số nguyên tố cùng nhau, ta có:

• hay:

Page 147: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

147

Ví dụp = 61 — số nguyên tố thứ nhất (giữ

bí mật hoặc hủy sau khi tạo khóa)

q = 53 — số nguyên tố thứ hai (giữ bí mật hoặc hủy sau khi tạo khóa)

n = pq = 3233

— môđun (công bố công khai)

e = 17 — số mũ công khai

d = 2753 — số mũ bí mật

Page 148: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

148

• Khóa công khai là cặp (e, n). Khóa bí mật là d.

• Hàm mã hóa là:

• encrypt(m) = me mod n = m17 mod 3233

• với m là văn bản rõ.

• Hàm giải mã là:

• decrypt(c) = cd mod n = c2753 mod 3233

• với c là văn bản mã.

Page 149: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

149

• Để mã hóa văn bản có giá trị 123, ta thực hiện phép tính:

• encrypt(123) = 12317 mod 3233 = 855

• Để giải mã văn bản có giá trị 855, ta thực hiện phép tính:

• decrypt(855) = 8552753 mod 3233 = 123

Page 150: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

150

Ví dụ• Ta chọn hai số nguyên tố p và q ,với p= 5

và p = 7• Tính n = p*q = 5*7 = 35.• Z = (p- 1)*(q-1) = (5-1)(7-1) = 24• Tiếp đến chọn e thoả 1< e< n • -> chọn e= 5.• Tìm d ,sao cho e*d -1 chia hết cho z (24)• -> chọn d = 29.• Do đó: Pulic key =(n,e) =(35,5)• Private key = (n,d) =( 35,29)

Page 151: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

151

Áp dụng• Mã hoá chuỗi sau:secure• Ta có bảng sau :

Nôi dung vị trí Me Nội dung bị mã hoá

S 19 246099 24

E 5 3125 10

C 3 243 33

U 21 4084101 21

R 18 1889568 23

e 5 3125 10

Page 152: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

152

Giải mã chuỗi secure • Giải mã xong ta được bảng sau:

Nội dung bị mã hoá

M = cd mod n Dữ liệu gốc

24 19 S

10 5 E

33 3 C

21 21 u

23 18 R

10 5 e

Page 153: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 153

So sánh thời gian và chi phí cần thiết để phá các khóa có độ dài tương ứng.

Giá(USD)

Độ dài khoá (bit)

40 56 64 80 128

100 nghìn 2 giây 35 giờ 1 năm 70000 năm 1019 năm

1 triệu 2 giây 3,5 giờ 37 năm 7000 năm 1018 năm

100 triệu 2 mili giây 2 phút 9 giờ 70 năm 1016 năm

1 tỷ 2 mili giây 13 giây 1 giờ 7 năm 1015 năm

100 tỷ 2 micro giây 1 giây 32 giây 24 ngày 1013 năm

Page 154: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 154

So sánh độ dài các khoá trong hai hệ mã hoá đối xứng và bất đối xứng với cùng độ an toàn

Độ dài khóa đối xứng (bit) Độ dài khóa bất đối xứng (bit)

56 384

64 512

80 768

112 1792

128 2034

Page 155: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 155

Mã đối xứng và mã bất đối xứng

Mã khóa ngắn

Tốc độ xử lý nhanh

Mã khóa dài

Tốc độ xử lý chậm

Trao đổi mã khóadễ dàng

Khó trao đổi mã khóa

Mã đối xứng

Mã bất đối xứng

Page 156: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 156

Chữ kí điện tử - Digital Signature Chữ kí điện tử là đoạn dữ liệu ngắn đính kèm với văn

bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc.

Chữ kí điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ kí số đính kèm với văn bản gốc để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ kí số.

Page 157: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 157

Mô hình chữ kí điện tử

Page 158: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 158

Chữ ký điện tử

Alice

Bob

m

Alice’s m ?

Page 159: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 159

Hàm một chiều

Ví dụ 1 f(x) = số dư khi chia 3x cho 17. f(5) = 35 = 243 = 5 (mod 17). Cho y = 5; tìm x, 3x = 5 (mod 17). (logarit rời rạc)

Ví dụ 2 p = 345679, q = 765437, n = pq = 264595496723. Cho n = 264595496723. Tìm p, q thoả n = pq? (RSA)

x f(x)

Page 160: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 160

Hàm băm mật mã

n = h(m) là hàm một chiều Biến một chuỗi (bit) có chiều dài tuỳ ý thành một chuỗi

có độ dài cố định. Làm thành một công đoạn bảo mật trước khi mã hoá và

gửi đi

m nh(m) sendencrypt

c

>

Page 161: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 161

Giao thức mật mã

1. Định nghĩa Thuật toán Các bước mô tả các hành động cần thiết của các đối tượng nhằm đạt được

mục tiêu bảo mật.

2. Ví dụ: giao thức trao đổi khoá trong mã đối xứng.

Alice (eA, dA)

Bob (eB, dB)

keyeB

ck dB

key

Page 162: ChƯƠng 3 lÝ ThuyẾt mẬt mÃ

Truyền và bảo mật thông tin 162

Giao thức thiết lập khóa Key Establishment Protocol

Giao thức thiết lập khóa cách thức trao đổi khóa giữa hai đối tác thông qua đường truyền, các giao thức đã được các nhà khoa học chứng minh là an toàn đối với mọi sự cố xảy ra trên đường truyền.

Giao thức thiết lập khóa được chia làm 2 loại: Giao thức thỏa thuận khóa – Key agreement

protocol : khóa được thiết lập không cần sự giúp đỡ của đối tác thứ ba.

Giao thức truyền khóa – Key transport protocol : khóa được đối tác thứ ba tạo và phân phối.