1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập an toàn thông tin vegenere

32 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Bài tập môn: An toàn thông tin (Về thuật toán Vigenere, Playfair và Caesar)
Tác giả Nhóm 5
Trường học Trường Đại học Kinh tế-Kỹ thuật Công nghiệp
Chuyên ngành Công nghệ thông tin
Thể loại Bài tập
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 2,28 MB

Cấu trúc

  • I. VEGENERE (4)
    • 1. Giới thiệu về thuật toán (4)
      • 1.1 Chọn Một Khóa (Key) (4)
      • 1.2 Mã hóa và giải mã (4)
      • 1.3 Ưu điểm và nhược điểm (4)
      • 1.4 Kết luận (4)
    • 2. Lưu đồ thuật toán (5)
      • 2.2 Lưu đồ mã hóa (5)
      • 2.1 Lưu đồ giải mã (6)
    • 3. Ví dụ minh họa (7)
  • II. PLAYFAIR (7)
    • 1. Giới thiệu về mật mã PlayFair (7)
      • 1.1 Tạo bảng (7)
      • 1.2 Xác định cặp kí tự (8)
      • 1.3 Mã hóa (8)
      • 1.4 Giải mã (8)
      • 1.5 Ưu điểm và nhược điểm (8)
      • 2.1 Lưu đồ mã hóa (9)
      • 2.2 Lưu đồ giải mã (10)
  • III. CAESER (11)
    • 1. Giới thiệu về mật mã Caeser (11)
      • 1.1 Chọn một khóa k (11)
      • 1.2 Mã hóa (11)
      • 1.3 Giải mã (11)
      • 1.4 Ưu điểm và nhược điểm (12)
  • IV. RAIL FANCE (15)
    • 1. Giới thiệu về thuật toán Rail Fance (15)
      • 1.1 Mã hóa (15)
      • 1.2 Giải mã (15)
  • V. HỆ MÃ HÀNG (19)
    • 1. Giới thiệu về hệ mã hàng hóa (19)
  • VI. MÃ HÓA RSA (24)
    • 1. Giới thiệu về mã hóa RSA (24)
      • 1.1 Cơ chế hoạt động (24)
      • 1.2 Mã Hóa và Giải mã (25)
      • 1.3. An ninh (25)
      • 1.4 Ứng dụng (25)
      • 1.5 Kết luận (25)
      • 2.2 Lưu đồ giải mã RSA (27)
  • VII. MÃ HÓA Hill (28)
    • 1. Giới thiệu (28)
      • 1.1. Cơ chế hoạt động (28)
      • 1.2. An ninh (28)
      • 1.3. Ứng dụng (28)
      • 1.4. Kết luận (28)

Nội dung

Khóa này sẽ được lặp lại nhiều lần để có độ dài bằng hoặc lớn hơn độ dài của văn bản cần mã hóa.Mã hóa : Bm=y={x1 + k1modN, x2 + k2modN...,xn + knmodN}Giải mã: Br=x={y1 - k1modN, y2 - k2

VEGENERE

Giới thiệu về thuật toán

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ếh 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.

Chọn một từ khóa, thường là một từ hoặc câu có ý nghĩa Khóa này sẽ được lặp lại nhiều lần để có độ dài bằng hoặc lớn hơn độ dài của văn bản cần mã hóa.

1.2 Mã hóa và giải mã

Gán một số cho mỗi ký tự trong từ khóa, thường là theo thứ tự trong bảng chữ cái (ví dụ, A=0, B=1, , Z%).

Để mã hóa văn bản, hãy lặp lại từ khóa đủ dài để đạt chiều dài bằng hoặc hơn văn bản cần mã hóa Sau đó, đối với từng ký tự trong văn bản, dịch chuyển một số bậc theo số tương ứng trong từ khóa cho trước.

Mã hóa : Bm=y={(x1 + k1)modN, (x2 + k2)modN ,(xn + kn)modN} Giải mã: Br=x={(y1 - k1)modN, (y2 - k2)modN, ,(yn - kn)modN} 1.3 Ưu điểm và nhược điểm

- Sử dụng từ khóa dài, làm tăng độ khó của việc giải mã.

- Mã hóa khá hiệu quả đối với văn bản dài và thay đổi đều đặn.

- Có thể bị tấn công bằng cách sử dụng phương pháp tần suất xuất hiện của các ký tự, đặc biệt là nếu khóa quá ngắn hoặc nếu khóa được sử dụng nhiều lần.

- Không cung cấp độ bảo mật mạnh đối với các phương pháp phân tích hiện đại.

Mặc dù mật mã Vigenère đã được sử dụng rộng rãi trong quá khứ, nhưng hiện nay nó thường không được coi là đủ an toàn cho các ứng dụng mật mã hiện đại.

Lưu đồ thuật toán

Ví dụ minh họa

Ví dụ: Xét không gian mã hoá là bảng chữ cái tiếng anh, có n&

Giả sử khoá K=”CIPHER”= 2 8 15 7 4 17 có độ dài m=6

Yêu cầu : mã hóa và giải mã bản rõ trên

PLAYFAIR

Giới thiệu về mật mã PlayFair

Mật mã Playfair là một phương pháp mã hóa trong lĩnh vực mật mã học Nó được sử dụng để mã hóa thông điệp bằng cách thay thế các cặp ký tự trong văn bản gốc bằng các cặp ký tự trong một bảng 5x5 được tạo ra từ một khóa Dưới đây là một số lý thuyết về mật mã Playfair:

Bảng Playfair là một ma trận 5x5 được tạo ra từ một khóa Các chữ cái trong khóa được sắp xếp không trùng lặp và sau đó được điền vào các ô của bảng Các ô trống còn lại được điền bởi các chữ còn lại, loại bỏ “J” thay thế nó bằng “I”.

Ví dụ về bảng playfair: key =MINH

1.2 Xác định cặp kí tự

Văn bản cần mã hóa được chia thành các cặp kí tự nếu có 2 kí tự giống nhau trong cùng một cặp, thì thêm một kí tự “X” vào giữa chúng Nếu độ dài văn bản là số lẻ, thêm một kí tự “X” vào cuối bản rõ.

- Trường hợp 1 (Cùng hàng) : nếu một cặp kí tự nằm trên cùng một hàng thì thay thế mỗi kí tự bằng kí tự bên phải nó Nếu nằm ở cột cuối cùng thì quay về ô đầu tiên của cột đó.

- Trường hợp 2( Cùng cột) : nếu cặp kí tự cùng nằm trên một cột, thì thay thế mỗi kí tự bằng kí tự bên dưới nó Nếu nằm ở hàng cuối cùng thì quay về ô đầu tiên của cột đó.

- Trường hợp 3 (Khác hàng và cột) : Tạo thành hình chữ nhật với hai kí tự và thay thế mỗi kí tự bằng góc đối diện của hình chữu nhật.

- Trường hợp 1 (Cùng Hàng) : nếu một cặp kí tự nằm trên cùng một hàng thì thay thế mỗi kí tự bằng kí tự bên trái nó Nếu nằm ở cột cuối cùng thì quay về ô đầu tiên của cột đó.

- Trường hợp 2( Cùng cột) : nếu cặp kí tự cùng nằm trên một cột, thì thay thế mỗi kí tự bằng kí tự bên trên nó Nếu nằm ở hàng cuối cùng thì quay về ô đầu tiên của cột đó.

- Trường hợp 3 (Khác hàng và cột) : Tạo thành hình chữ nhật với hai kí tự và thay thế mỗi kí tự bằng góc đối diện của hình chữu nhật.

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

 Ưu Điểm: Mật mã Playfair thường được coi là mạnh mẽ trong thời kỳ nó được sử dụng, đặc biệt là so với một số phương pháp mật mã đơn giản khác.

 Nhược Điểm: Mặc dù mật mã Playfair có ưu điểm về độ an toàn so với mật mã Caesar và một số phương pháp khác, nhưng nó không được sử dụng nhiều trong thời đại hiện đại vì nó không đủ mạnh mẽ đối với các kỹ thuật mã hóa hiện đại.

Mật mã Playfair thường được sử dụng trong quân sự và giao tiếp bí mật trong quá khứ, nhưng hiện nay nó đã được thay thế bởi các thuật toán mã hóa mạnh mẽ và hiện đại hơn.

Cho chuỗi “THUONG MAI DIEN TU” , sử dụng hệ mã playfair để mã hóa và giải mã chuỗi đã với với key =”MINH”.

- Bước 1 Loại bỏ kí tự “J”, thêm key =”MINH” vào ma trận sau đó thêm lần lượt các chữ cái trong anphabet vào ma trận, chữ cái nào trùng với key thì loại bỏ, ta được ma trận như sau:

- Bước 2 Tách các chữ cái trong bản rõ theo cặp, thêm “X” chèn vào chữ cái bị trùng lặp trong cặp đó, thêm “X” vào cuối chuỗi nếu chuối đó là chuỗi lẻ.

Ta được : TH UO NG MA ID IE NT UX

Bước 3 Áp dụng nguyên tắc 1,2,3 được nêu ở phần I để thực hiên mã hóa và giải mã.

TH Mã hóa Giải mã

(TH2) TH YE YE TH

(TH3) UO TP TP UO

(TH3) NG ML ML NG

(TH1) MA IM IM MA

(TH3) ID NC NC ID

(TH3) IE HC HC IE

(TH3) NT HS HS NT

(TH2) UX SZ SZ UX

CAESER

Giới thiệu về mật mã Caeser

Trong mật mã học, mật mã Caesar (Xê da), còn gọi là mật mã dịch chuyển, là một trong những mật mã đơn giản và được biết đến nhiều nhất Hệ mã Caesar là một hệ mã hóa thay thế đơn âm, làm việc trên bẳng chữ cái tiếng Anh 26 ký tự Đó là một dạng của mật mã thay thế, trong đó mỗi ký tự trong văn bản được thay thế bằng một ký tự cách nó một đoạn trong bảng chữ cái để tạo thành bản mã Cơ bản, phương pháp mã hóa Caesar thực hiện việc dịch chuyển các ký tự trong văn bản gốc theo một số bước cố định trong bảng chữ cái.

Chọn một số nguyên dương k, được gọi là khóa, thể hiện số bước mỗi ký tự sẽ được dịch chuyển.

Công thức mã hóa : y= (x + k) mod N; y: kí tự nhận được sau mã hóa (bản mã) x: kí tự trong bản rõ k : khóa n : 26

Công thức giải mã : x= (y - k) mod N; y: kí tự nhận được sau mã hóa (bản mã) x: kí tự trong bản rõ k : khóa n : 26

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

 Đơn giản và dễ thực hiện.

 Hiệu quả cho việc truyền tải thông điệp ngắn.

 Dễ bị tấn công bằng phương pháp thử và sai (brute force) do số khả năng giả định của khóa không lớn (26 với bảng chữ cái tiếng Anh).

 Không an toàn nếu attacker có khả năng xem được nhiều bản mã khác nhau được tạo ra từ cùng một khóa.

Mật mã Caesar được coi là một hình thức mã hóa rất đơn giản và đã bị thay thế bởi các thuật toán mã hóa mạnh mẽ và phức tạp hơn trong thời đại hiện đại.

2 Lưu đồ thuật toán a) Mã hóa b) Giải mã

Xét ví dụ sau: Cho bản rõ : TOIYEUVIETNAM Khóa k = 4

RAIL FANCE

Giới thiệu về thuật toán Rail Fance

Mã hóa Rail Fence là một phương pháp đơn giản để mã hóa thông điệp bằng cách sắp xếp các ký tự của thông điệp theo hàng ngang của một "bảng" hình chữ Z hoặc đường ray Dưới đây là cách thực hiện mã hóa Rail Fence:

Viết các chữ của bản tin theo đường chéo trên một số dòng Sau đó, đọc theo từng hàng để nhận được bản mã Trong đó, số dòng chính là khóa của mã.

1.2Giải mã Để giải mã, bạn chỉ cần biết số hàng và thực hiện lại quá trình viết theo hàng và đọc theo cột sẽ thu được bản rõ.

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

 Dễ hiểu và triển khai: Rail Fence là một phương pháp mã hóa đơn giản và dễ hiểu Không đòi hỏi nhiều kiến thức toán học hoặc lập trình phức tạp.

 Tốc độ mã hóa nhanh: Quá trình mã hóa Rail Fence thường rất nhanh chóng, đặc biệt là đối với thông điệp ngắn.

 Không an toàn: Rail Fence không an toàn đối với các cuộc tấn công phân tích tần suất xuất hiện Với số hàng thấp, nó dễ bị giải mã bằng cách thử nghiệm.

 Không linh hoạt: Phương pháp này không cung cấp độ linh hoạt cao trong việc thay đổi cấu trúc mã hóa Số hàng cần được chọn trước và không thay đổi trong quá trình mã hóa.

 Không thích hợp cho dữ liệu lớn: Với các thông điệp lớn, số hàng nhiều có thể làm cho quá trình mã hóa trở nên phức tạp và không hiệu quả.

 Dễ phát hiện: Khi người giải mã biết số hàng, quá trình giải mã trở nên rất dễ dàng.

 Không bảo vệ được khóa: Rail Fence không sử dụng khóa, điều này làm giảm khả năng bảo mật và làm cho nó dễ bị tấn công hơn.

Phương pháp mã hóa Rail Fence khá đơn giản và thú vị nhưng không được sử dụng phổ biến trong các ứng dụng bảo mật nghiêm ngặt do có nhiều nhược điểm nổi bật Khi bạn cần bảo mật, hãy tìm hiểu các thuật toán mã hóa mạnh mẽ và thực tế hơn.

Cho bản rõ P= “KHOA CONG NGHE THONG TIN”

Hãy thực hiện mã hóa và giải mã bằng mật mã Rail Fance. a) Mã hóa

Số K bằng số hàng, số kí tự trong chuối bằng số cột, ta được bảng như hình minh họa dưới đây.

C T Đọc theo hàng ta được bản mã là :

KNG HGGNT ONHOI AOEHN CT b) Giải mã

C T xác định khóa K, đếm tổng số chữ cái trong bản rõ, đánh dấu vị trí của các chữ cái theo đường chéo rồi điền các chữ cái trong bản mã theo hàng ngang của vị trí đánh dấu ta thu được bản rõ. Đọc theo cột ta được bản rõ là:

KHOA CONG NGHE THONG TIN

HỆ MÃ HÀNG

Giới thiệu về hệ mã hàng hóa

Mã hóa hàng hóa là một phương pháp mã hóa đơn giản trong đó bản rõ được viết theo các dòng trên một số cột xác định Thứ tự của các cột sau đó được thay đổi theo một dãy số khóa cho trước Bản mã được tạo ra bằng cách đọc lại các cột theo thứ tự mới.

- Xác định số cột trong để mã hóa thông điệp

Mã hóa thông điệp bằng cách chia thông điệp thành các ký tự riêng lẻ và nhập từng ký tự vào từng ô của bảng mã hóa Tiếp tục điền ký tự từ trái sang phải và từ hàng trên xuống hàng dưới cho đến khi hoàn tất thông điệp.

- Chọn khóa K với khóa K sẽ là thứ tự đảo của vị trí các cột Vd K={3,1,2}

- Sau khi có khóa K đảo lộn vị trí các cột theo vị trí của khóa K

- Lấy thông điệp mã hóa lấy từ trái sang phải sau khi lấy hết hàng này thì đến hàng khác.

- Xác định số cột trong bảng mã hóa để biết cần phải giải mã bao nhiêu cột.

Để giải mã thông điệp, hãy điền vào bảng giải mã theo cách tương tự như khi mã hóa: bắt đầu từ trái sang phải, xuống dòng khi đến cuối hàng.

- Chọn khóa giải mã K' với K' là khóa ngược với khóa K đã sử dụng trong quá trình mã hóa Ví dụ, nếu K={3,1,2} thì K' sẽ là {1,2,3}.

- Đảo lộn vị trí các cột của bảng giải mã theo thứ tự của khóa giải mã K'.

- Lấy thông điệp giải mã từ trái sang phải, sau khi lấy hết hàng này thì chuyển đến hàng khác. Để giải mã, người nhận phải tính toán độ dài của các cột bằng cách chia độ dài thông điệp cho độ dài khóa Sau đó, viết thông điệp ra theo cột một lần nữa, sau đó sắp xếp lại các cột bằng cách tạo lại từ khóa.

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

Mã hóa cột đủ đơn giản để thực hiện bằng tay Nó có thể mã hóa bất kỳ ký tự nào, bao gồm cả dấu cách và dấu chấm câu.

Tuy nhiên, độ an toàn sẽ tăng nếu loại bỏ dấu cách và dấu chấm câu Thông điệp không phải lúc nào cũng điền đầy lưới chuyển vị Phần còn lại của lưới chuyển vị sau đó có thể tùy chọn được điền bằng một ký tự đệm (mã hóa cột thông thường), hoặc để trống (mã hóa cột không đều).

Mã hóa cột là một phương pháp mã hóa đơn giản nhưng hiệu quả Nó có thể được sử dụng để mã hóa một loạt các thông điệp khác nhau và có thể được thực hiện bằng tay hoặc bằng máy Tuy nhiên, như với mọi phương pháp mã hóa, độ an toàn của nó phụ thuộc vào việc giữ bí mật khóa và cách thức điền thông điệp vào lưới chuyển vị.

Cho bản rõ và khóa K sau, hãy thực hiện mã hóa và giải mã bằng hệ mã hàng P=KHOA CONG NGHE THONG TIN

Vậy bản mã thu được sẽ đọc lần lượt từ 1-6:

AGN ONO KNTI OET CHG HGHN

+) Lấy độ dài của chuỗi / K lấy phần dư.

+) ví dụ KHOA CONG NGHE THONG TIN có độ dài là 20, K=6 20/6 =3 dư 2.

Vậy 2 số đầu sẽ có 4 hàng, 2 hàng đầu là 2 hàng có số đầu tiên của khóa( tức là cột 3 và 6 sẽ có 4 hàng )

I N Đổi stt theo khóa K ban đầu:

Sau đó ghép lại theo stt từ 3-6-2-1-5-4và đọc theo hàng ngang, thu được bản rõ KHOA CONG NGHE THONG TIN.

MÃ HÓA RSA

Giới thiệu về mã hóa RSA

RSA (Rivest–Shamir–Adleman) là một hệ thống mật mã công khai, một trong những hệ thống cũ nhất được sử dụng rộng rãi để truyền dữ liệu an toàn RSA được phát triển bởi Ron Rivest, Adi Shamir và Leonard Adleman, người đã công bố thuật toán vào năm 1977.

Trong một hệ thống mật mã công khai, khóa mã hóa là công khai và khác biệt so với khóa giải mã, khóa này được giữ bí mật (riêng tư) Người dùng RSA tạo và công bố một khóa công khai dựa trên hai số nguyên tố lớn, cùng với một giá trị phụ Các số nguyên tố được giữ bí mật Tin nhắn có thể được mã hóa bởi bất kỳ ai, thông qua khóa công khai, nhưng chỉ có thể được giải mã bởi người biết các số nguyên tố.

– Chọn p và q là 2 số nguyên tố

Tính n = p.q (n dùng trong public key và private key)

– Cách tìm một số giả nguyên tố bằng phi hàm Carmichael: Ф (n) = (p − 1).( q

− 1) Giữ bí mật cho giá trị này.

- Chọn một số tự nhiên trong (0

Ngày đăng: 21/05/2024, 13:25

HÌNH ẢNH LIÊN QUAN

Bảng Playfair là một ma trận 5x5 được tạo ra từ một khóa. Các chữ cái trong  khóa được sắp xếp không trùng lặp và sau đó được điền vào các ô của bảng - bài tập an toàn thông tin vegenere
ng Playfair là một ma trận 5x5 được tạo ra từ một khóa. Các chữ cái trong khóa được sắp xếp không trùng lặp và sau đó được điền vào các ô của bảng (Trang 7)

TỪ KHÓA LIÊN QUAN

w