1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng

36 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Phương Pháp Mã Hóa Khóa Công Khai RSA Và Ứng Dụng
Thể loại Đồ án tốt nghiệp
Định dạng
Số trang 36
Dung lượng 920,77 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng Chương 1: Một số khái niệm và phân loại các phương pháp mã hóa.. Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng CHƯ

Trang 1

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Đồ án tốt nghiệp 1

MỤC LỤC Trang LỜI CẢM ƠN! 3

MỞ ĐẦU 4

1 Lý do chọn đề tài 4

2 Cấu trúc của đồ án 5

3 Đóng góp của đồ án 5

CHƯƠNG 1: MỘT SỐ KHÁI NIỆM VÀ PHÂN LOẠI CÁC PHƯƠNG PHÁP MÃ HÓA 1.1 Một số khái niệm 6

1.2 Một số vấn đề chính trong bảo vệ thông tin 7

1.3 Phân loại các phương pháp mã hóa 7

1.3.1 Phân loại theo thời gian 7

1.3.2 Phân loại theo phương thức xử lý 8

1.3.3 Phân loại theo phương thức chuyển đổi 8

1.3.4 Phân loại theo tính chất của khóa 8

1.4 Phương pháp mã hóa đối xứng 9

1.4.1 Khái niệm 9

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

1.4.3 Ưu điểm và nhược điểm 10

1.5 Phương pháp mã hóa bất đối xứng 11

1.5.1 Khái niệm 11

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

1.5.3 Ưu điểm và nhược điểm 12

1.6 Giới thiệu một số phương pháp mã hóa 12

1.6.1 Phương pháp mã hóa Ceasar 12

1.6.2 Mã Playfair 13

1.6.3 Mã Rail Fence 15

1.6.4 Mã dịch chuyển dòng 15

Trang 2

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Đồ án tốt nghiệp 2

CHƯƠNG 2: PHƯƠNG PHÁP MÃ HÓA KHÓA CÔNG KHAI RSA 2.1 Giới thiệu 16

2.2 Mô tả sơ lược về thuật toán 16

2.3 Một số định lý được sử dụng 17

2.3.1 Định lý số dư Trung Quốc 17

2.3.2 Thuật toán bình phương và nhân 18

2.3.3 Định lý Fermat nhỏ 19

2.4 Phương pháp mã hóa và giải mã 20

2.4.1 Tạo khóa 20

2.4.2 Mã hóa 21

2.4.3 Giải mã 22

2.4.4 Ví dụ 22

2.4.5 Chuyển đổi văn bản rõ 23

2.4.6 Tạo chữ ký số cho văn bản 24

CHƯƠNG 3: ĐÁNH GIÁ THUẬT TOÁN VÀ CÁC VẤN ĐỀ ĐẶT RA TRONG THỰC TẾ 3.1 Đánh giá thuật toán 25

3.2 Các vấn đề đặt ra 25

3.2.1 Vấn đề về an ninh 25

3.2.2 Quá trình tạo khóa 27

3.2.3 Tốc độ 28

3.2.4 Phân phối khóa 28

3.2.5 Tấn công 28

CHƯƠNG 4: THIẾT KẾ CHƯƠNG TRÌNH VÀ KẾT QUẢ ĐẠT ĐƯỢC 4.1 Thiết kế chương trình 30

4.1.1 Thiết kế giao diện chính 30

4.1.2 Các bước thực hiện mã hóa và giải mã một văn bản 30

4.2 Kết quả đạt được 32

4.3 Hướng phát triển của đồ án 33

KẾT LUẬN 34

TÀI LIỆU THAM KHẢO 36

Trang 3

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

LỜI CẢM ƠN!

Trước hết em xin bài tỏ lời cảm ơn chân thành tới Ban chủ nhiệm khoa

Công nghệ thông tin, Ban giám hiệu trường Đại học Vinh, các thầy cô giáo

trong khoa đã tận tình giảng dạy, trang bị cho em những kiến thức, kinh nghiệm cần thiết trong suốt những năm học tại trường là nền móng vững chắc sau khi

em tốt nghiệp

tận tình, quan tâm, giúp đỡ và hướng dẫn em trong suốt quá trình thực hiện đề

tài “Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng” để em

có thể hoàn thành tốt đồ án tốt nghiệp này

Em xin chân thành cảm ơn tới các anh chị và bạn bè đã có những nhận xét,

ý kiến đóng góp, động viên và quan tâm giúp đỡ em vượt qua những khó khăn trong suốt quá trình làm đồ án

Mặc dù em đã cố gắng hoàn thành đồ án trong phạm vi khả năng cho phép nhưng không thể tránh khỏi thiếu sót Em kính mong nhận được sự thông cảm và góp ý chân thành của thầy cô và các bạn để đồ án được hoàn thiện tốt hơn

Em xin chân thành cảm ơn!

Vinh, ngày 10 tháng 05 năm 2010

Cao Xuân Trung

Trang 4

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

mật; Phương pháp mã hóa khóa công khai RSA được xem là phương pháp có

tính an toàn cao

Mặt khác, trong một xã hội phát triển như ngày nay thời gian là vàng là bạc thì làm thế nào để giảm thời gian công việc đến mức có thể mà hiệu quả đem lại ngày càng cao Tuy nhiên, cũng phải bảo đảm rằng quá trình trao đổi thông tin là

an toàn và toàn vẹn, thông tin đến đúng nơi nhận mà không có bất cứ một thay đổi nào và không bị giả mạo Làm thế nào để hai đối tác có thể trao đổi thông tin chính xác với nhau, tạo những văn bản hợp đồng mà không cần có sự gặp gỡ trực tiếp nào cả

Chúng ta phải thừa nhận rằng những rủi ro gặp phải trong quá trình giao dịch, kinh doanh trên mạng là hiện hữu; nguy cơ bị thay đổi, sao chép hoặc mất

dữ liệu trên mạng thực sự một trở ngại trong giao dịch điện tử Việc xác thực điện tử và kiểm tra tính toàn vẹn dữ liệu trong giao dịch điện tử là một trong các biện pháp đảm bảo an toàn thông tin; và vấn đề này là thật sự cần thiết và cấp bách

Trang 5

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Chương 1: Một số khái niệm và phân loại các phương pháp mã hóa

Chương 2: Phương pháp mã hóa khóa công khai RSA

Chương 3: Đánh giá thuật toán và các vấn đề đặt ra trong thực tế

Chương 4: Thiết kế chương trình và kết quả đạt được

Và cuối cùng là Tài liệu tham khảo

giảng dạy, học tập trong bộ môn ”An toàn và bảo mật thông tin” Giúp sinh

viên có một cái nhìn cụ thể hơn, trực quan hơn về tầm quan trọng của phương pháp mã hóa RSA trong an toàn và bảo mật thông tin nhất là ứng dụng trong chữ

ký điện tử

Trang 6

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

CHƯƠNG 1: MỘT SỐ KHÁI NIỆM VÀ PHÂN LOẠI CÁC PHƯƠNG

PHÁP MÃ HÓA 1.1 Một số khái niệm

Trong mật mã học, một ngành toán học ứng dụng cho công nghệ thông tin,

mã hóa là phương pháp để biến thông tin (phim ảnh, văn bản, hình ảnh ) từ định dạng bình thường sang dạng thông tin không thể hiểu được nếu không có phương tiện giải mã

1 Bản rõ P đượ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

2 Bản mã C 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

3 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õ

4 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 an toàn

5 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

6 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

7 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

8 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 đủ Có hai phương pháp phá mã :

Trang 7

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

- Vét cạn : Thử tất cả các khóa có thể

- Dùng kỹ thuật:

- Khai thác những nhược điểm của giải thuật

- Dựa trên những đặc trưng chung của văn bản thô hoặc một số cặp văn bản thô - văn bản mã hóa mẫu

9 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

1.2 Một số vấn đề chính trong bảo vệ thông tin

- 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

Ví dụ: B cần đảm bảo là nhận chính xác nội dung mà A đã gửi Cần đảm bảo rằng C không can thiệp để sửa nội dung thông điệp mà A gửi cho B

- 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

Ví dụ: B chờ A “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 C không can thiệp để tạo “xác nhận” giả

- 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

Ví dụ: B nhận được 1 thông điệp mà A đã gửi A không thể “chối” rằng không gửi thông điệp này cho B

1.3 Phân loại các phương pháp mã hóa

1.3.1 Phân loại theo thời gian

1.3.1.1 Phương pháp mã hóa cổ điển

Mã hoá cổ điển là phương pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá Thuật toán đơn giản và dễ hiểu Những phương

Trang 8

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

pháp mã hoá này là cở sở cho việc nghiên cứu và phát triển thuật toán mã hoá đối xứng được sử dụng ngày nay Trong mã hoá cổ điển có hai phương pháp nổi bật đó là: thay thế và hoán vị

Bao gồm: Mã Ceasar, bảng mã chữ đơn, mã Playfair, mã Vigenere, mã Rail Fence, mã dịch chuyển dòng,…

1.3.1.2 Phương pháp mã hóa hiện đại

Mã hóa hiện đại là phương pháp mã hóa có sự kết hợp giữa hai phương pháp thay thế và hoán vị Thuật toán phức tạp dần và có nhiều ứng dụng quan trọng hiện nay Bao gồm: mã Fiestel, chuẩn mã hóa dữ liệu DES, chuẩn mã hóa

nâng cao AES, RSA,…

1.3.2 Phân loại theo phương thức xử lý

Mã hóa khối : Mỗi lần xử lý một khối văn bản thô và tạo ra khối văn bản

mã hóa tương ứng (chẳng hạn 64 hay 128 bit) Như: mã Fiestel, DES, AES, RSA,…

Mã hóa luồng : Xử lý dữ liệu đầu vào liên tục (chẳng hạn mỗi lần 1 bit)

Chẳng hạn như mã khoá tự động Vigenere

1.3.3 Phân loại theo phương thức chuyển đổi

Mã hóa thay thế là phương pháp mà từng kí tự (nhóm kí tự) trong bản rõ

được thay thế bằng một kí tự (một nhóm kí tự) khác để tạo ra bản mã Bên nhận chỉ cần thay thế ngược lại trên bản mã để có được bản rõ ban đầu Bao gồm: mã Ceasar, mã Playfair, mã Vigenere, …

Mã hóa hoán vị là phương pháp má các kí tự trong bản rõ vẫn được giữ

nguyên, chúng chỉ được sắp xếp lại vị trí để tạo ra bản mã Tức là các kí tự trong bản rõ hoàn toàn không bị thay đổi bằng kí tự khác mà chỉ đảo chỗ của chúng để

tạo thành bản mã Như: mã Rail Fence, mã dịch chuyển dòng,…

1.3.4 Phân loại theo tính chất của khóa

Bao gồm hai kỹ thuật mã hóa chủ yếu: phương pháp mã hóa đối xứng (mã

hóa khóa bí mật) và phương pháp mã hóa bất đối xứng (mã hóa khóa công

khai) Đây là cách phân loại chủ yếu và phổ biến

Trang 9

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Hai loại mã hóa này khác nhau ở số lượng khóa Mã hóa đối xứng sử dụng cùng một khóa để mã hóa/giải mã Trong khi đó, mã hóa bất đối xứng sử dụng hai khóa khác nhau để mã hóa và giải mã thông tin Mỗi hệ thống mã hóa có ưu nhược điểm riêng Mã hóa đối xứng xử lí nhanh nhưng độ an toàn không cao

Mã hóa bất đối xứng xử lí chậm hơn, nhưng độ an toàn và tính thuận tiện trong quản lí khóa cao Trong các ứng dụng mã hóa hiện tại, người ta thường kết hợp các ưu điểm của cả hai loại mã hóa này

Nhưng chúng ta sẽ tìm hiểu, phân loại theo tính chất của khóa để thấy rõ hơn tầm quan trọng của nó trong việc mã hóa dữ liệu

1.4 Phương pháp mã hóa đối xứng

1.4.1 Khái niệm

Mã hóa đối xứng là phương pháp mã hóa trong đó các khóa dùng cho việc

mã hóa và giải mã chỉ sử dụng chung một khóa

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

Thuật toán đối xứng hay còn gọi thuật toán mã hoá cổ điển là thuật toán mà tại đó khoá mã hoá có thể tính toán ra được từ khoá giải mã Trong rất nhiều trường hợp, khoá mã hoá và khoá giải mã là giống nhau Thuật toán này còn có nhiều tên gọi khác như thuật toán khoá bí mật, thuật toán khoá đơn giản, thuật toán một khoá Thuật toán này yêu cầu người gửi và người nhận phải thoả thuận một khoá trước khi thông báo được gửi đi, và khoá này phải được cất giữ bí mật

Độ an toàn của thuật toán này vẫn phụ thuộc vào khoá, nếu để lộ ra khoá này nghĩa là bất kỳ người nào cũng có thể mã hoá và giải mã thông báo trong hệ thống mã hoá Sự mã hoá và giải mã của thuật toán đối xứng biểu thị bởi :

Trang 10

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Trong hình vẽ trên thì :

K1có thể trùng K2, hoặc K1 có thể tính toán từ K2, hoặc K2 có thể tính toán từ K1

Các phương pháp mã hóa cổ điển như: mã Ceasar, mã Playfair, mã Vigenere, …và các phương pháp mã hóa hiện đại như: DES( Data Encrypt Standard), AES(Advanced Encryption Standard),…đều là những phương pháp

nhanh hơn nhiều so với phương pháp mã hóa bất đối xứng

1.4.3.2 Nhược điểm

- Các phương mã hoá cổ điển đòi hỏi người mã hoá và người giải mã phải cùng chung một khoá Khi đó khoá phải được giữ bí mật tuyệt đối, do vậy ta dễ dàng xác định một khoá nếu biết khoá kia

- Hệ mã hoá đối xứng không bảo vệ được sự an toàn nếu có xác suất cao khoá người gửi bị lộ Trong hệ khoá phải được gửi đi trên kênh an toàn nếu kẻ địch tấn công trên kênh này có thể phát hiện ra khoá

- Vấn đề quản lý và phân phối khoá là khó khăn và phức tạp khi sử dụng hệ

mã hoá cổ điển Người gửi và người nhận luôn luôn thông nhất với nhau về vấn

đề khoá Việc thay đổi khoá là rất khó và dễ bị lộ

- Khuynh hướng cung cấp khoá dài mà nó phải được thay đổi thường xuyên cho mọi người trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ cản trở rất nhiều tới việc phát triển hệ mật mã cổ điển

Trang 11

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Vì vậy các thuật toán khóa đối xứng không thể dùng cho mục đích xác thực

(authentication) hay mục đích chống thoái thác (non-repudiation) được

1.5 Phương pháp mã hóa bất đối xứng

1.5.1 Khái niệm

Phương pháp mã hoá công khai (Public Key Cryptography) đã giải quyết được vấn đề của phương pháp mã hoá khoá bí mật là sử dụng hai khoá public key và private key Phương pháp này còn được gọi là mã hoá bất đối xứng (Asymmetric Cryptography) vì trong hệ sử dụng khoá mã hoá Ek và khoá giải

mã Dk khác nhau (Ek # Dk)

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

Thuật toán mã hoá công khai là khác biệt so với thuật toán đối xứng Chúng được thiết kế sao cho khoá sử dụng vào việc mã hoá là khác so với khoá giải mã Hơn nữa khoá giải mã không thể tính toán được từ khoá mã hoá Chúng được gọi với tên hệ thống mã hoá công khai bởi vì khoá để mã hoá có thể công khai, một người bất kỳ có thể sử dụng khoá công khai để mã hoá thông báo, nhưng chỉ một vài người có đúng khoá giải mã thì mới có khả năng giải mã

Trong nhiều hệ thống, khoá mã hoá gọi là khoá công khai (public key), khoá giải mã thường được gọi là khoá riêng (private key)

Hình 2: Mã hoá và giải mã với khóa công khai Trong hình vẽ trên thì :

K1 không thể trùng K2, hoặc K2 không thể tính toán từ K1

Trang 12

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Đặc trưng nổi bật của hệ mã hoá công khai là cả khoá công khai (public key) và bản tin mã hoá (ciphertext) đều có thể gửi đi trên một kênh thông tin không an toàn Vì vậy, phương pháp mã hóa khóa công khai sử dụng thuật toán RSA - thuật toán có khả năng giải quyết triệt để yêu cầu trao đổi thông tin bảo mật trên đường truyền

1.5.3 Ưu điểm và nhược điểm

1.5.3.1 Ưu điểm

- Không cần dùng nhiều mã khóa khác nhau và lại có thể phổ biến rộng rãi

mã khóa công khai của mình

- Khắc phục nhược điểm của mã hóa khóa đối xứng bằng cách sử dụng một khóa chung để mã hóa, sau đó dùng một khóa riêng (khóa bí mật) cho việc giải

mã Trong đó khả năng để tìm ra khóa bí mật từ khóa công khai là rất khó

1.5.3.2 Nhược điểm

- Nhược điểm của phương pháp này là tốc độ xử lý rất chậm, phương pháp

mã hóa phức tạp

- Yêu cầu độ dài khóa lớn

1.6 Giới thiệu một số phương pháp mã hóa

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

1.6.1.1 Mô tả thuật toán

Là hệ mã hóa thay thế xuất hiện sớm nhất và đơn giản nhất Sử dụng đầu tiên bởi Julius Caesar vào mục đích 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 Dịch chuyển xoay vòng theo thứ tự chữ cái Khóa k là số bước dịch chuyển trong bảng chữ cái

Ví dụ : Mã hóa P= "xin chao cac ban" với k = 3

Ta có bản mã: C= “ALQ FKDR FDF EDQ ”

1.6.1.2 Phá mã hệ mã hóa Caesar

Thám mã Ceasar là việc làm đơn giản, do số khoá có thể có là rất ít Chỉ có

26 khoá có thể, vì A chỉ có thể ánh xạ vào một trong số 26 chữ cái của bảng chữ

Trang 13

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

cái tiếng Anh: A, B, C, …Các chữ khác sẽ được xác định bằng số bước tịnh tiến tương ứng của A Kẻ thám mã có thể thử lần lượt từng khoá một, tức là sử dụng phương pháp tìm duyệt tổng thể Vì số khoá ít nên việc tìm duyệt là khả thi Cho trước bản mã, thử 26 cách dịch chuyển khác nhau, ta sẽ đoán nhận thông qua nội dung các bản rõ nhận được

nó trong bản rõ

1.6.2.1 Ma trận khoá Playfair

Cho trước một từ làm khoá, với điều kiện trong từ khoá đó không có chữ cái nào bị lặp Ta lập ma trận Playfair là ma trận cỡ 5 x 5 dựa trên từ khoá đã cho và gồm các chữ trên bảng chữ cái, được sắp xếp theo thứ tự như sau:

- 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

Trang 14

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

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

XINCH AOBDE FGKLM PQRST UVWYZ

1.6.2.2 Mã hoá và giải mã

Bản rõ được mã hoá 2 chữ cùng một lúc theo qui tắc như sau:

- 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ã “hello” biến đổi thành “he lx lo”

- 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 “in” biến đổi thành “NC”

- 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 “ap” biến đổi thành “FU”

- 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, “fd” mã thành “LA”, và “oc” mã thành “DI” hoặc “DJ” (tuỳ theo sở thích)

1.6.2.3 An toàn của mã Playfair

- An toàn được nâng cao so hơn với bảng đơn, vì ta có tổng cộng 26 x 26 =

676 cặp Mỗi chữ có thể được mã bằng 7 chữ khác nhau, nên tần suất các chữ trên bản mã khác tần suất của các chữ cái trên văn bản tiếng Anh nói chung

- Muốn sử dụng thống kê tần suất, cần phải có bảng tần suất của 676 cặp để thám mã (so với 26 của mã bảng đơn) Như vậy phải xem xét nhiều trường hợp hơn và tương ứng sẽ có thể có nhiều bản mã hơn cần lựa chọn Do đó khó thám

mã hơn mã trên bảng chữ đơn

Trang 15

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

- Mã Playfair được sử dụng rộng rãi nhiều năm trong giới quân sự Mỹ và Anh trong chiến tranh thế giới thứ 1 Nó có thể bị bẻ khoá nếu cho trước vài trăm chữ, vì bản mã vẫn còn chứa nhiều cấu trúc của bản rõ

1.6.3 Mã Rail Fence

Đây là mã hoán vị đơn giản Viết các chữ của bản rõ theo đường chéo trên một số dòng Sau đó đọc các chữ theo theo từng dòng sẽ nhận được bản mã Số dòng chính là khoá của mã Vì khi biết số dòng ta sẽ tính được số chữ trên mỗi dòng và lại viết bản mã theo các dòng sau đó lấy bản rõ bằng cách viết lại theo các cột

Ví dụ: Viết bản tin P = “xin chao cac ban” lần lượt trên 3 dòng như sau:

x c o c n

i h c b

n a a a Sau đó ghép các chữ ở dòng thứ nhất với các chữ ở dòng thứ hai, thứ ba cho bản mã:

C = “XCOCNIHCBNAAA”

1.6.4 Mã dịch chuyển dòng

Mã có sơ đồ phức tạp hơn Viết các chữ của bản tin theo các dòng với số cột xác định Sau đó thay đổi thứ tự các cột theo một dãy số khoá cho truớc, rồi đọc lại chúng theo các cột để nhận được bản mã Quá trình giải mã được thực hiện ngược lại

Ví dụ: Cho bản rõ: P = “xin chao cac ban” Khóa là K = 4 (3, 1, 2, 4)

Key: 3 1 2 4 Plaintext: x i n c

Trang 16

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

CHƯƠNG 2: PHƯƠNG PHÁP MÃ HÓA KHÓA CÔNG KHAI RSA

2.1 Giới thiệu

Thuật toán được R Rivest, A Shamir và L Adleman mô tả lần đầu tiên vào

năm 1977 tại Học viện Công nghệ Massachusetts (MIT) Tên của thuật toán lấy

từ 3 chữ cái đầu của tên 3 tác giả

Trong mật mã học, RSA là một thuật toán mã hóa khóa 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ã hóa 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 khóa công cộng RSA đang được sử dụng phổ biến trong thương mại điện

tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn

Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa

bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người

và được dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ

có thể được giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi người đều

có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được Trong hệ mã hoá RSA các bản rõ, các bản mã và các khoá (public key và private key) là thuộc tập số nguyên Zn = {1, , N-1} Trong đó tập Zn với n=p*q là các số nguyên tố khác nhau cùng với phép cộng và phép nhân Modulo

n tạo ra modulo số học n Khoá mã hoá – khóa công khai là cặp số nguyên (e, n)

và khoá giải mã – khóa bí mật là cặp số nguyên (d, n), các số là rất lớn, số n có thể lên tới hàng trăm chữ số

2.2 Mô tả sơ lược về thuật toán

Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau : B muốn gửi cho A một thông tin mật mà B muốn duy nhất A có thể đọc được Để làm được điều này, A gửi cho B một chiếc hộp có khóa đã mở sẵn và giữ lại chìa khóa B 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ả

Trang 17

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

B 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 đó B gửi chiếc hộp lại cho A A 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

2.3 Một số định lý được sử dụng

2.3.1 Định lý số dư Trung Quốc

2.3.1.1 Giới thiệu

Định lý số dư Trung Quốc hay bài toán Hàn Tín điểm binh, là một định lý

nói về nghiệm của hệ phương trình đồng dư bậc nhất

Định lý số dư Trung Quốc là tên người phương tây đặt cho định lý này

Người Trung Quốc gọi nó là bài toán Hàn Tín điểm binh Hàn Tín là một danh

tướng thời Chiến Quốc, từng được phong tước vương thời Hán Cao Tổ Lưu

Bang đang dựng nghiệp Sử ký Tư Mã Thiên viết rằng Hàn Tín là tướng trói gà

không nổi, nhưng rất có tài quân sự Tục truyền rằng khi Hàn Tín điểm quân số,

ông cho quân lính xếp hàng 3, hàng 5, hàng 7 rồi báo cáo số dư Từ đó ông tính

chính xác quân số đến từng người

2.3.1.2 Nội dung

Gần đây, định lý số dư Trung Quốc có nhiều ứng dụng trong các bài toán

về số nguyên lớn áp dụng vào lý thuyết mật mã Bản chất của bài toán Hàn Tín

điểm binh là việc giải hệ phương trình đồng dư bậc nhất:

Trang 18

Tìm hiểu phương pháp mã hóa khóa công khai RSA và ứng dụng

Như vậy x có dạng x = 68 + k.105, k là số nguyên (hoặc số nguyên thích hợp

nếu tìm nghiệm tự nhiên)

2.3.2 Thuật toán bình phương và nhân

Là thuật toán tính nhanh lũy thừa tự nhiên của một số (thực hoặc nguyên), trong trường hợp cơ số là số nguyên có thể được rút gọn theo một môđun nào

được quy về một số phép bình phương và phép nhân

do vậy mà có tên gọi thuật toán bình phương và nhân

Ngày đăng: 15/10/2021, 00:01

HÌNH ẢNH LIÊN QUAN

Hình 2: Mã hoá và giải mã với khóa công khai Trong hình vẽ trên thì :  - Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng
Hình 2 Mã hoá và giải mã với khóa công khai Trong hình vẽ trên thì : (Trang 11)
Hình 3: Sơ đồ các bƣớc thực hiện mã hoá theo thuật toán RSAChọn p và q  - Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng
Hình 3 Sơ đồ các bƣớc thực hiện mã hoá theo thuật toán RSAChọn p và q (Trang 21)
Hình 4: Giao diện chính của chƣơng trình - Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng
Hình 4 Giao diện chính của chƣơng trình (Trang 30)
Hình 5: Tạo cặp khóa công khai và bí mật - Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng
Hình 5 Tạo cặp khóa công khai và bí mật (Trang 31)
Hình 6: Mở văn bản cần mã hóa - Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng
Hình 6 Mở văn bản cần mã hóa (Trang 31)
Hình 7: Văn bản sau khi đƣợc mã hóa - Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng
Hình 7 Văn bản sau khi đƣợc mã hóa (Trang 32)
Hình 8: Văn bản sau khi giải mã - Tìm hiểu phương pháp mã hóa công khai rsa và ứng dụng
Hình 8 Văn bản sau khi giải mã (Trang 32)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w