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

Tìm hiểu về hệ mật mã one time pad b

50 0 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 đề Tìm Hiểu Về Hệ Mật Mã One Time Pad
Tác giả Trần Văn Sáng, Đặng Bá Lộc, Trương Lê Minh Hải, Trần Phước Mỹ Toàn, Phạm Thị Thùy, Trần Văn Thìn
Người hướng dẫn Đoàn Duy Bình
Trường học Đại Học Đà Nẵng
Chuyên ngành An Toàn Thông Tin
Thể loại Báo Cáo Cuối Kì
Năm xuất bản 2020
Thành phố Đà Nẵng
Định dạng
Số trang 50
Dung lượng 4,97 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN (6)
    • 1.1 Thông tin và vai trò của thông tin (6)
      • 1.1.1 Thông tin là gì? (6)
      • 1.1.2 Vai trò của thông tin (7)
      • 1.1.2 An toàn thông tin của hệ thống (7)
      • 1.1.3 Các yêu cầu về an toàn thông tin (7)
      • 1.1.4 Ý nghĩa của an toàn thông tin (7)
      • 1.1.5 Phân loại các hành vi xâm phạm (8)
      • 1.1.6 Các vị trí có thể xâm phạm (8)
      • 1.1.7 Các mức bảo vệ của một hệ thống thông tin (9)
    • 1.2 Đảm bảo an toàn cho hệ thống thông tin (10)
      • 1.2.1 Các quan điểm bảo vệ an toàn (10)
      • 1.2.2 Quan điểm để đặt ra quy tắc an toàn (10)
      • 1.2.3 Chính sách an toàn thông tin (11)
    • 1.3 Bảo mật thông tin (12)
      • 1.3.1 Cơ sở kỹ thuật của việc bảo mật thông tin (13)
      • 1.3.2 Mật mã (13)
      • 1.3.3 Hệ mật mã (13)
      • 1.3.4 Định nghĩa một hệ mật mã (14)
      • 1.3.5 Phân loại các hệ thống mật mã (15)
    • 1.4 Các cách thức tấn công vào một hệ thống mật mã (16)
    • 1.5 Tiêu chuẩn đánh giá một hệ mã (16)
    • 1.6 An toàn của một hệ thống mã hoá (17)
      • 1.6.1 Lý thuyết Shannon (17)
  • CHƯƠNG 2 GIỚI THIỆU HỆ MÃ ONE TIME PAD(OTP) (20)
    • 2.1 Nguồn gốc của One-time pad (20)
      • 2.1.1 One-time pad là gì? (20)
      • 2.1.2 Lịch sử (21)
      • 2.1.3 Các biến thể OTP (23)
    • 2.2 Cách hoạt động (28)
    • 2.3 Cách sử dụng (29)
    • 2.4 Tính xác thực (31)
    • 2.5 Mã hóa và giải mã One-time pad (32)
      • 2.5.1 OTP Encryption (Mã hóa OTP) (32)
      • 2.5.2 OTP Decryption (Giải mã OTP) (33)
    • 2.6 Ví dụ One-time pad (33)
    • 2.7 Ứng dụng thực tiễn (34)
  • CHƯƠNG 3 MÔ PHỎNG ONE TIME PAD(OTP) (35)
    • 3.1 Quy trình xây dựng mã nguồn (35)
      • 3.1.1 Sơ lược chương trình (35)
    • 3.2 Thiết kế thuật toán (35)
      • 3.2.1 Khởi tạo (35)
      • 3.2.2 Thuật toán (35)
      • 3.2.3 Thiết kế giao diện (36)
    • 3.3 Hướng dẫn mở chương trình (39)
  • KẾT LUẬN (41)
  • TÀI LIỆU THAM KHẢO (42)
  • PHỤ LỤC (43)

Nội dung

Cũng có trường hợp sử dụng các bức xạ điều khiển từ bên ngoài để tác động gâynhiễu, gây lỗi nội dung truyền tin.1.1.7 Các mức bảo vệ của một hệ thống thông tin 1 Quyền truy nhập: Đây là

TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN

Thông tin và vai trò của thông tin

Thông tin là cái được truyền từ đối tượng này đến đối tượng khác để báo một

Thông tin chỉ có giá trị khi nó mang lại hiểu biết cho người nhận, đặc biệt là khi họ chưa biết về điều đó Thông tin tồn tại dưới nhiều hình thức như âm thanh và hình ảnh, nhưng những hình thức này chỉ là "vỏ bọc" vật chất Trong khi đó, "vỏ bọc" đại diện cho phần "xác", thì thông tin thực sự chính là phần "hồn".

Ngữ nghĩa của thông tin chỉ có thể hiểu được khi bên nhận hiểu được cách biểu diễn ngữ nghĩa của bên phát.

Có hai trạng thái của thông tin: truyền và lưu trữ Môi trường truyền/ lưu trữ được. gọi chung là môi trường chứa tin hay kênh tin.

Thông tin là một khái niệm trừu tượng, phi vật chất và rất khó được định nghĩa chính xác Hai định nghĩa về thông tin:

Thông tin là sự cảm hiểu của con người về thế giới xung quanh thông qua sự tiếp xúc trực tiếp với nó.

Thông tin là hệ thống các tin báo và mệnh lệnh giúp loại trừ sự chắc chắn trong trạng thái của nơi nhận tin Định nghĩa này chưa thể hiện đầy đủ bản chất của thông tin; tuy nhiên, một định nghĩa khác cho thấy thông tin là một đại lượng vật lý, thường tồn tại và được truyền đi dưới dạng vật chất nào đó Những dạng vật chất mang thông tin được gọi là tín hiệu.

- Hai người nói chuyện với nhau, cái mà trao đổi giữa họ là thông tin.

- Một người đang xem Tivi, nghe đài, đọc báongười đó đang nhận thông tin.

- Các máy tính nối mạng và trao đổi dữ liệu với nhau.

1.1.2 Vai trò của thông tin

Thông tin đóng vai trò quan trọng trong sự tồn tại và phát triển của các sinh vật Mọi đối tượng sống đều có nhu cầu khám phá thế giới xung quanh để thích nghi và duy trì sự sống.

Khi khoa học kỹ thuật và xã hội phát triển, vai trò của thông tin ngày càng trở nên quan trọng Thông tin không chỉ ảnh hưởng đến mọi hành động của con người mà còn định hình suy nghĩ của họ, bởi vì suy nghĩ chính là kết quả của quá trình tiếp nhận thông tin.

1.1.2 An toàn thông tin của hệ thống

Tính toàn vẹn của thông tin (dữ liệu) là đảm bảo rằng dữ liệu được giữ nguyên vẹn, không bị đánh tráo, mất mát hay sửa đổi, bất kể là do vô tình hay cố ý.

 Security o Là giữ cho thông tin được an toàn trong trường hợp những kẻ chống phá cố ý tấn công (chúng thường tổ chức tấn công có kịch bản).

1.1.3 Các yêu cầu về an toàn thông tin

Tính bí mật: Tính kín đáo riêng tư của thông tin.

Tính xác thực: Bao gồm xác thực người đối tác (danh tính và xác thực thông tin được trao đổi.

Tính toàn vẹn: Bảo đảm thông tin không bị cắt xén hay xuyên tạc qua kênh trao đổi.

Tính trách nhiệm: Bảo đảm người gửi thông tin không thể thoái thác trách nhiệm về thông tin mà mình gửi.

Tính kịp thời: Thông tin đến nơi nhận đúng thời gian.

1.1.4 Ý nghĩa của an toàn thông tin

Bảo vệ an toàn thông tin dữ liệu là một lĩnh vực rộng lớn, liên quan đến nhiều ngành khác nhau Để đảm bảo an toàn cho thông tin dữ liệu, có nhiều phương pháp khác nhau được áp dụng Những phương pháp này có thể được phân loại thành ba nhóm chính.

Bảo vệ an toàn thông tin dữ liệu bằng các biện pháp hành chính.

Bảo vệ an toàn thông tin dữ liệu bằng các biện pháp kỹ thuật (phần cứng)

Bảo vệ an toàn thông tin dữ liệu bằng các biện pháp thuật toán (phần mềm).

Ba nhóm biện pháp bảo vệ an toàn thông tin có thể được áp dụng riêng lẻ hoặc kết hợp với nhau Môi trường mạng và truyền thông là những nơi khó bảo vệ an toàn thông tin nhất, đồng thời cũng là những môi trường dễ bị xâm nhập Biện pháp bảo vệ hiệu quả nhất trong lĩnh vực này là sử dụng các thuật toán an toàn Để đạt được hiệu quả cao trong việc bảo vệ thông tin trên đường truyền và mạng, việc dự đoán và lường trước các khả năng xâm phạm cùng với các sự cố rủi ro là rất quan trọng Xác định chính xác các nguy cơ này sẽ giúp tìm ra những giải pháp tốt nhất để giảm thiểu thiệt hại.

1.1.5 Phân loại các hành vi xâm phạm

Về bản chất có thể phân loại các hành vi xâm phạm trên đường truyền thành hai loại: vi phạm chủ động và vi phạm thụ động.

Vi phạm chủ động là hành vi có khả năng thay đổi nội dung, xóa bỏ, trì hoãn, sắp xếp lại thứ tự, hoặc lặp lại các gói tin ngay tại thời điểm hiện tại.

- Vi phạm thụ động: Là loại vi phạm chỉ nhằm mục đích nắm bắt được thông tin (đánh cắp thông tin).

Vi phạm thụ động thường khó phát hiện, nhưng có thể áp dụng các biện pháp ngăn chặn hiệu quả Ngược lại, vi phạm chủ động dễ nhận biết hơn, song việc ngăn chặn chúng lại gặp nhiều khó khăn.

1.1.6 Các vị trí có thể xâm phạm

Kẻ xâm phạm có thể xâm nhập vào hệ thống thông tin bất cứ lúc nào khi thông tin được truyền tải hoặc lưu trữ Các điểm dễ bị tấn công bao gồm đường truyền, nút mạng, máy chủ đa người sử dụng, và các thiết bị kết nối mạng như bridge, gateway, router Trong mối quan hệ tương tác người – máy, thiết bị ngoại vi, đặc biệt là các thiết bị đầu cuối (terminal), là những cửa ngõ thuận tiện nhất cho việc xâm nhập.

Ngoài ra, có thể xem xét các thiết bị điện từ phát xạ điện tử và các thiết bị máy tính Những thiết bị chuyên dụng này có khả năng tiếp nhận và xử lý các phát xạ Bên cạnh đó, cũng có thể sử dụng bức xạ điều khiển từ bên ngoài để gây nhiễu và làm sai lệch nội dung truyền tin.

1.1.7 Các mức bảo vệ của một hệ thống thông tin

1) Quyền truy nhập: Đây là lớp bảo vệ trong nhất, nhằm kiểm soát truy nhập tài nguyên mạng và quyền hạn sử dụng tài nguyên đó Cụ thể việc quản lí được tiến hành ở mức truy nhập File (đọc, ghi, xoá, sửa…) do người quản lí mạng thiết lập.

2) Đăng kí và mật khẩu: Phương pháp này không mấy hiệu quả đối với những người hiểu bíêt về hệ thống của ta nhưng ưu điểm của nó là đơn giản.

3) Mã hoá dữ liệu: Biến đổi dữ liệu từ dạng nhận thức được sang dạng không nhận thức được theo một quy cách nào đó.

4) Bảo vệ vật lý: Nhằm ngăn chặn các truy cập vật lý bất hợp pháp vào hệ thống.

5) Tường lửa: Để đảm bảo an toàn và ngăn chặn từ xa cho các mạng nội bộ, đây là phương thức bảo vệ cho mạng cục bộ (Intranet), ngăn chặn các xâm nhập trái phép, lọc bỏ các gói tin không muốn nhận (gửi) vì một lý do nào đó.

Hình 1: Mức bảo vệ của một hệ thống thông tin

Đảm bảo an toàn cho hệ thống thông tin

1.2.1 Các quan điểm bảo vệ an toàn.

Quyền hạn ít nhất (least privilege) là nguyên tắc bảo mật quan trọng, trong đó mỗi đối tượng chỉ được cấp quyền hạn cần thiết để thực hiện nhiệm vụ của mình Điều này giúp hạn chế thiệt hại nếu kẻ xâm nhập xâm nhập vào hệ thống, vì chúng chỉ có thể gây ra ảnh hưởng đến một phần nhất định của hệ thống.

Phòng thủ theo chiều sâu: Đặt nhiều cơ chế bảo vệ khác nhau trên một hệ thống, nếu một cớ chế bị phá vỡ thì còn cơ chế khác.

Tạo điểm thắt: Chỉ có thể xâm nhập vào hệ thống qua một kênh hẹp, sau đó tập trung giám sát điều khiển hệ thống qua kênh này.

Để đảm bảo an toàn cho hệ thống, việc nhận diện điểm yếu nhất là rất quan trọng Nếu không thể loại bỏ những điểm yếu này, cần thiết lập cơ chế giám sát chặt chẽ Trong đó, an toàn về mặt vật lý được xác định là điểm yếu lớn nhất trong hệ thống.

Hệ thống có cơ chế tự động ngắt khi gặp sự cố, cho phép nó tự bảo vệ mình trước những nguy cơ tiềm ẩn.

Hợp nhất tất cả các thành phần trong hệ thống bảo vệ, bao gồm quy chế an toàn, người sử dụng, thiết bị bảo vệ và phần mềm, là cần thiết để tạo ra một hệ thống hiệu quả, hỗ trợ lẫn nhau trong công tác bảo vệ.

Để tăng cường tính bảo vệ của hệ thống phòng thủ, cần sử dụng nhiều mô-đun và kiểu phòng thủ khác nhau, vì nếu các mô-đun giống nhau, kẻ tấn công sẽ dễ dàng thâm nhập Hệ thống cũng nên được thiết kế đơn giản và dễ hiểu, bởi nếu người dùng không nắm rõ các vấn đề trong hệ thống, họ sẽ không thể nhận biết được các lỗ hổng bảo mật Việc bảo vệ từng phần nhỏ sẽ hiệu quả hơn so với việc bảo vệ một hệ thống lớn phức tạp.

1.2.2 Quan điểm để đặt ra quy tắc an toàn

Quan điểm mặc nhiên từ chối (Default deny stance) chỉ cho phép một số dịch vụ hoạt động, trong khi các dịch vụ không được đề cập sẽ bị từ chối Ngược lại, quan điểm mặc nhiên cho phép (Default permit stance) cho phép thực hiện mọi hành động không bị cấm Việc lựa chọn giữa hai quan điểm này phụ thuộc vào từng trường hợp và đặc thù riêng của hệ thống.

1.2.3 Chính sách an toàn thông tin

Trước khi đảm bảo an toàn cho một hệ thống thông tin, việc thiết lập chính sách an toàn là điều cần thiết Chính sách này đóng vai trò là nền tảng tiêu chuẩn để đánh giá và triển khai các biện pháp bảo mật Nếu không có một chính sách an toàn hiệu quả, mọi nỗ lực bảo vệ khác sẽ trở nên kém hiệu quả.

1.2.3.1 Các thành phần của chính sách an toàn

Các chính sách thường thay đổi tùy theo từng hoàn cảnh, nhưng dưới đây là một số vấn đề cơ bản có thể áp dụng cho hầu hết các chính sách.

Chính sách an toàn vật lý quy định rõ các biện pháp bảo vệ phần cứng, xác định ai có quyền truy cập và ai bị cấm vào các khu vực nhạy cảm.

Chính sách an toàn mạng: Bao gồm các tiêu chuẩn về quyền truy nhập, filewall, vấn đề ghi kiểm toán theo dõi danh mục các dịch vụ bị cấm…

Chính sách điều khiển truy cập xác định ai có quyền truy cập vào các tài nguyên cụ thể Cần thiết lập quy trình hợp lý để cấp quyền truy cập dịch vụ, đảm bảo rằng quy trình này không quá phức tạp để người dùng dễ dàng thực hiện.

Chính sách xác thực và mật mã là yếu tố quan trọng trong bảo mật hệ thống Xác thực giúp người dùng thông báo danh tính của họ với hệ thống, trong khi mật mã là thuật toán mã hóa được sử dụng để bảo vệ thông tin Quản lý khóa cũng là một vấn đề cần được chú trọng để đảm bảo an toàn cho dữ liệu.

Kế hoặch đối phó với rủi ro và thảm họa.

Chính sách đào tạo và kiểm tra sự tuân thủ.

1.2.3.2 Các bước để phát triển một chính sách an toàn

 Tham khảo các chính sách khác để cảm nhận chính sách của mình

Quyết định các thành phần và viết chính sách là bước quan trọng trong việc xây dựng hệ thống thông tin Sự lựa chọn các thành phần phải dựa trên cấu trúc của hệ thống, vị trí địa lý và quy mô của tổ chức.

Đánh giá chính sách sau khi phát triển là cần thiết để xác định xem mục tiêu đã đạt được hay chưa Bên cạnh đó, do các mối đe dọa, lỗ hổng bảo mật và yêu cầu nghiệp vụ luôn thay đổi, việc xem xét định kỳ hệ thống là rất quan trọng để đảm bảo chính sách an toàn và phù hợp.

Bảo mật thông tin

Để bảo vệ thông tin trong quá trình truyền tải, người ta thường mã hóa dữ liệu từ dạng có thể nhận thức được sang dạng không thể nhận thức được Quá trình này được gọi là mã hóa thông tin Tại trạm nhận, thông tin sẽ được giải mã từ dạng không nhận thức được trở lại dạng gốc, gọi là giải mã Đây là một lớp bảo vệ quan trọng và phổ biến trong việc truyền tin.

Lý do mã hóa thông tin là để đảm bảo an toàn trong quá trình truyền và nhận dữ liệu Để bảo vệ an toàn thông tin bằng mật mã, có hai hướng tiếp cận chính.

 Theo đường truyền (Link Oriented Sercurity)

 Từ nút đến nút (End to End)

Thông tin được mã hoá để bảo vệ trên đường truyền giữa hai nút mà không quan tâm đến nguồn và đích Điều này có nghĩa là thông tin chỉ được bảo vệ trong quá trình truyền tải, yêu cầu mỗi nút phải thực hiện giải mã và mã hoá lại trước khi gửi tiếp Do đó, việc bảo vệ các nút là rất quan trọng.

Thông tin trên mạng được bảo vệ toàn diện từ nguồn đến đích bằng cách mã hóa ngay sau khi tạo ra và chỉ được giải mã khi đến nơi nhận Tuy nhiên, phương pháp này có nhược điểm là chỉ dữ liệu của người sử dụng mới có thể được mã hóa, trong khi dữ liệu điều khiển vẫn giữ nguyên để phục vụ cho việc xử lý tại các nút.

1.3.1 Cơ sở kỹ thuật của việc bảo mật thông tin

Khoá mã là công nghệ thiết yếu cho an toàn mạng, không chỉ bảo vệ thông tin truyền tải mà còn có nhiều ứng dụng khác Nhiều thuật toán khoá có thể kết hợp với các thuật toán khác để đảm bảo tính toàn vẹn của nội dung thông tin điện tử, ngăn chặn việc truy cập hoặc thay đổi thông tin bởi những kẻ không có quyền.

Mã hóa là phương thức bảo vệ các loại dữ liệu như văn bản, hình ảnh, âm thanh bằng cách chuyển đổi chúng sang một dạng biểu diễn khác.

Là tập hợp các thuật toán và các thủ tục kết hợp để che dấu thông tin cũng như làm rõ nó.

1.3.3.1 Vai trò của hệ mật mã

Các hệ mật mã phải thực hiện được các vai trò sau:

Hệ mật mã cần phải bảo vệ nội dung văn bản rõ (Plaintext) để chỉ những người chủ hợp pháp mới có quyền truy cập thông tin, từ đó ngăn chặn việc truy cập trái phép.

- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ thống đến người nhận hợp pháp là xác thực (Authenticity).

- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo chữ ký, mạo danh để gửi thông tin trên mạng.

Hệ mật mã mang lại ưu điểm lớn nhất là khả năng đánh giá độ phức tạp tính toán mà kẻ địch phải vượt qua để truy cập thông tin mã hóa Mỗi hệ mật mã có những ưu và nhược điểm riêng, nhưng việc đánh giá độ phức tạp này cho phép áp dụng các thuật toán mã hóa phù hợp cho từng ứng dụng cụ thể, dựa trên yêu cầu về độ an toàn.

 Bản rõ (Plaintext): Chứa các xâu ký tự gốc, thông tin trong bản rõ là thông tin cần mã hoá để giữ bí mật.

 Bản mã (Ciphertext): Chứa các ký tự sau khi đã mã hoá, mà nội dung được giữ bí mật.

 Khoá (Key): Gồm một số hữu hạn mà các bít thương được biểu diễn dưới dạng các xâu ký tự số, số thập phân hoặc số nhị phân.

 Mật mã học (Crytopraphy): Là nghệ thuật và khoa học để giữ thông tin được an toàn.

 Sự mã hoá (Encryption): Quá trình che dấu thông tin bằng phương pháp nào đó để làm ẩn nội dung bên trong.

 Sự giải mã (Decryption): Quá trình biến đổi trả lại bản mã thành bản rõ.

1.3.4 Định nghĩa một hệ mật mã

Một hệ thống mật mã là một hệ thống gồm 5 thành phần: (P, C, K, E, D) trong đó:

P: Tập hữu hạn các văn bản gốc (bản rõ).

C: Tập hữu hạn các văn bản đã được mã hóa (bản mã).

K: Tập hữu hạn các khóa (không gian khoá) Đối với mỗi phần tử k K được gọi là một khoá.

E: Tập hữu hạn các luật (hàm) mã hóa Đối với mỗi k: K có một quy tắc mã: e : K P C

Hình 2: Sơ đồ quá trình mã hoá và giải mã

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

Mã hóa đóng vai trò quan trọng trong việc bảo vệ tính riêng tư và ngăn chặn những người không có thẩm quyền can thiệp vào thông tin, đồng thời ngăn chặn việc phát tán thông tin giả mạo trên các kênh truyền công cộng.

Giả sử một bản tin nguyên thủy (bản tin gốc) M được mã hóa bởi E để tạo ra bản tin đãk được mã hóa C = Ek (M).

Bản mã hóa được gửi qua kênh công cộng với độ an toàn không cao Khi người nhận hợp pháp nhận được bản tin C, họ sẽ giải mã bằng D, với D = E, để khôi phục lại bản tin gốc.

Khóa k cần được phân phối cho người sử dụng hợp pháp qua các kênh an toàn để đảm bảo tính bảo mật Khi khóa k được sử dụng một số lần nhất định, việc thay đổi khóa là cần thiết Quá trình dò tìm bản gốc mà không sử dụng khóa được gọi là thám mã hoặc bẻ khóa Trước đây, độ an toàn của hệ thống phụ thuộc vào bí mật của thuật toán mã hóa và giải mã, nhưng hiện nay, hầu hết các thuật toán đều công khai Do đó, trong hệ thống mật mã hiện đại, độ an toàn chủ yếu phụ thuộc vào mức độ bảo mật của khóa k.

1.3.5 Phân loại các hệ thống mật mã

Lịch sử phát triển của hệ mật mã trải qua 2 giai đoạn:

 Từ 1974 trở về trước sử dụng hệ mã cổ điển.

 Từ 1974 trở về đây sử dụng hệ mật mã hiện đại.

Ta cần phân biệt hai loại mã này.

1.3.5.1 Phân loại theo cách tiến hành mã hóa

Mã hóa khối là phương pháp trong đó dữ liệu được chia thành các khối có độ dài cố định trước khi được mã hóa Mỗi khối được mã hóa độc lập, và nếu sử dụng cùng một khóa, các bản gốc giống nhau sẽ có bản mã tương tự.

Mã hóa chuỗi (String) : Không chia nhỏ thành các khối mà mỗi bit của văn bản gốc

M được mã hóa với thành phần thứ i nào đó của một chuỗi ký hiệu mà chuỗi ký hiệu đó

Trang 14 được hình thành từ khóa, trong đó quá trình mã hóa được phân thành hai loại: mã hóa tuần hoàn và mã hóa không tuần hoàn Mã hóa tuần hoàn xảy ra khi dòng khóa lặp lại sau mỗi lần xác định p ký hiệu, trong khi mã hóa không tuần hoàn không có sự lặp lại này.

1.3.5.2 Phân loại theo quá trình mã hóa và giải mã

Mật mã đối xứng (bí mật) : Sử dụng một khóa duy nhất cho mã hóa và giải mã vì vậy khóa phải được giữ bí mật tuyết đối.

Mật mã không đối xứng, hay còn gọi là mã hóa công khai, sử dụng hai khóa: một khóa công khai để mã hóa thông tin và một khóa bí mật để giải mã Khóa công khai được chia sẻ rộng rãi, trong khi khóa bí mật phải được bảo vệ cẩn thận để đảm bảo an toàn cho dữ liệu.

1.3.5.3 Phân loại theo quá trình truyền tin

Bí mật trên đường truyền.

Bí mật từ nút đến nút.

Các cách thức tấn công vào một hệ thống mật mã

 Chỉ biết bản tin đã được mã hóa.

Thám mã có thể tiếp cận bản tin gốc một cách tình cờ hoặc thông qua các mẫu văn bản pháp quy và hợp đồng kinh tế, từ đó suy đoán nội dung của bản tin mật mã tương ứng Việc hiểu rõ bản tin gốc sẽ giúp thám mã xác định chính xác hơn thông điệp được mã hóa.

Khi sở hữu bản tin mật mã hoặc bản tin gốc mà chưa có khóa, có thể gặp khó khăn trong việc giải mã Tuy nhiên, trong một số tình huống đặc biệt, thám mã có khả năng thâm nhập vào hệ thống gửi tin và gửi đi những bản tin theo ý muốn của mình.

Thám mã có thể giải mã bản tin gốc của thuật toán mặc dù không biết khóa, bằng cách thử nghiệm với nhiều khóa khác nhau cho đến khi tìm ra khóa chính xác.

Tiêu chuẩn đánh giá một hệ mã

Một hệ mã được gọi là tốt thì nó phải đảm bảo các yêu cầu sau đây :

 Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của các khoá.

Khi sử dụng khóa công khai e và bản rõ P, chúng ta có thể dễ dàng thực hiện mã hóa, tức là tính được C = e(P) Ngược lại, khi có hàm giải mã d và bản mã C, việc tìm ra bản rõ trở nên đơn giản, nghĩa là tính được P = d(C).

Khi không biết giá trị d, việc tìm M từ C trở nên khó khăn Cụ thể, với hàm K f: X → Y, việc tính y = f(x) cho mọi x thuộc X là đơn giản, nhưng việc xác định x khi đã biết y lại là một thách thức, và điều này được gọi là hàm một chiều.

 Bản mã C không được có các đặc điểm gây chú ý nghi ngờ.

An toàn của một hệ thống mã hoá

Mục đích của người phân tích mã là phát hiện khóa k, bản rõ P, hoặc cả hai Thông thường, trước khi bắt đầu phân tích, người phân tích đã có một số thông tin về bản rõ P, chẳng hạn như ngôn ngữ mã hóa và những giả định về nội dung mã Việc thám mã nhằm mục đích tập hợp các khả năng của bản mã tương ứng với từng khả năng của bản rõ.

Năm 1949, Claude Shannon đã phát triển lý thuyết đánh giá độ mật của một hệ thống thông tin

1.6.1.1 Độ bí mật (dựa trên 2 quan điểm cơ bản về tính an toàn)

Độ an toàn tính toán của một hệ thống mật được xác định khi thuật toán tốt nhất để phá vỡ nó yêu cầu ít nhất n phép toán (n ∞) Nếu sử dụng các công cụ hiện đại, thời gian cần thiết để thực hiện sẽ lớn đến mức không khả thi Một cách để chứng minh độ an toàn tính toán là quy hệ mật đó về việc giải một bài toán đã được nghiên cứu kỹ và công nhận là khó khăn.

Hệ thống mật mã được coi là an toàn không điều kiện khi không thể bị phá vỡ, ngay cả khi kẻ tấn công có khả năng tính toán không giới hạn Theo quan điểm của Shannon, một hệ thống được xem là bí mật tuyệt đối nếu kích thước không gian bản rõ, bản mã và bản khóa đều bằng nhau, tức là |P|=|C|=|K| Để đạt được điều này, hệ thống cần thỏa mãn hai điều kiện: chỉ có một khóa duy nhất để chuyển đổi bản gốc thành bản mã, và tất cả các khóa đều tương đương nhau.

1.6.1.2 Tỷ lệ của ngôn ngữ và độ dư

Mỗi một ngôn ngữ thì có một độ dư nhất định.

Khoảng cách đơn vị là khái niệm quan trọng trong mật mã, được định nghĩa bởi Shannon như chiều dài tối thiểu của bản tin cần thiết để đạt được một lời giải chung Một bản tin mật mã có thể là mật không điều kiện nếu nó đủ ngắn để thông tin không đủ để xác định lời giải Mặc dù hầu hết các hệ thống mật mã hiện nay quá phức tạp để xác định khoảng cách này, Shannon và Huffman đã chỉ ra rằng trong một số trường hợp cụ thể, có thể xác định được khoảng cách gần đúng.

Với mã thay thế |P|& và |K|&, giá trị log |K| là 4 và log |P| là 4.7, trong khi N2 đạt 0% Nếu thám mã sở hữu xâu bảng mã có độ dài tối thiểu là 25, họ có khả năng tính toán ra bản rõ.

1.6.1.3 Đặc tính cần có của hệ thống mật mã

Shannon chỉ ra rằng 1 hệ thống mật mã cần phải đạt được các đặc tính sau :

Xáo trộn là một thuật toán phức tạp, yêu cầu sự tương tác giữa ba yếu tố chính: bản tin gốc, khóa và bản tin mật mã Mục tiêu của thuật toán này là đảm bảo rằng quá trình thám mã không thể xác định được bất kỳ sự biến đổi nào trong thông tin.

1 ký tự trong bản gốc sẽ gây ra hiệu quả như thế nào với bản mã.

Khuyếch tán là thuật toán có nhiệm vụ trải thông tin từ bản gốc ra toàn bộ bản mã, tức là thực hiện một sự biến đổi nào đó của bản tin gốc, nhằm thay đổi nhiều phần của bản mật mã.

1.6.1.4 Lý thuyết độ phức tạp

Lý thuyết độ phức tạp là phương pháp quan trọng trong việc phân tích độ phức tạp tính toán của các thuật toán và kỹ thuật mã hóa Nó giúp so sánh hiệu quả của các thuật toán mã hóa khác nhau và đánh giá mức độ an toàn của chúng.

Lý thuyết độ phức tạp phân loại bài toán dựa trên thời gian và không gian tối thiểu cần thiết để giải quyết các trường hợp khó nhất của bài toán trên máy Turing hoặc các mô hình trừu tượng khác.

 Thuật toán có độ phức tạp thời gian f(n) đối với mọi n và độ dài đầu vào n, nghĩa là sự thực hiện của thuật toán lớn hơn f(n) bước.

Độ phức tạp thời gian của thuật toán phụ thuộc vào mô hình của nó; số bước thực hiện sẽ giảm nếu các hoạt động được tối ưu hóa và tập trung hơn trong từng bước.

GIỚI THIỆU HỆ MÃ ONE TIME PAD(OTP)

Nguồn gốc của One-time pad

2.1.1 One-time pad là gì?

Trong mật mã học, bảng điều khiển One-time pad (OTP) là một phương pháp mã hóa an toàn không thể bị bẻ khóa, yêu cầu khóa chia sẻ trước có kích thước bằng hoặc lớn hơn thông điệp Kỹ thuật này kết hợp bản rõ với một Khóa bí mật ngẫu nhiên, hay còn gọi là One-time pad Mỗi bit hoặc ký tự của bản rõ được mã hóa bằng cách sử dụng phép cộng mô-đun với bit hoặc ký tự tương ứng từ khóa.

Bản mã thu được sẽ không thể giải mã hoặc phá vỡ nếu bốn điều kiện sau được đáp ứng:

 Chìa khóa phải thực sự ngẫu nhiên

 Khóa ít nhất phải dài bằng bản rõ

 Chìa khóa không bao giờ được sử dụng lại toàn bộ hoặc một phần

 Chìa khóa phải được giữ bí mật hoàn toàn

Mật mã có thuộc tính bảo mật hoàn hảo yêu cầu sử dụng các khóa tương tự như khóa OTP, nhưng việc phân phối khóa an toàn là một thách thức lớn trong ứng dụng thực tế One-time pad, được Frank Miller mô tả lần đầu tiên vào năm 1882 và được phát minh lại vào năm 1917, đã trở thành một phương pháp quan trọng trong giao tiếp ngoại giao và quân sự Vào ngày 22 tháng 7 năm 1919, Gilbert Vernam nhận được bằng sáng chế Hoa Kỳ 1.310.719 cho phép sử dụng toán OXR để mã hóa một đệm một lần Hệ thống của Vernam kết hợp thông điệp với khóa từ cuộn băng đục lỗ, nhưng ban đầu dễ bị tấn công do khóa được sử dụng lại Joseph Mauborgne đã chỉ ra rằng nếu băng khóa hoàn toàn ngẫu nhiên, việc phân tích mật mã sẽ trở nên không thể.

Phần "pad" trong tên gọi xuất phát từ những ứng dụng ban đầu, nơi vật liệu quan trọng được phân phối dưới dạng giấy, cho phép dễ dàng xé và tiêu hủy lớp trên cùng sau khi sử dụng Để tăng cường tính bảo mật, các miếng đệm có thể được thiết kế nhỏ gọn, đến mức cần kính lúp mạnh để sử dụng Các KGB đã sử dụng những miếng đệm có kích thước nhỏ gọn, có thể nằm gọn trong lòng bàn tay hoặc trong vỏ quả óc chó Để đảm bảo an toàn hơn, những miếng đệm dùng một lần đôi khi được in trên các tấm nitrocellulose dễ cháy, cho phép dễ dàng tiêu hủy chúng sau khi sử dụng.

Có một số mơ hồ đối với thuật ngữ "Vernam cipher" vì một số nguồn sử dụng đồng nghĩa

Mật mã Vernam và one-time pad thường bị nhầm lẫn, trong khi nhiều nguồn tài liệu coi bất kỳ mật mã dòng phụ gia nào cũng là Vernam cipher, bao gồm cả các mật mã dựa trên việc sử dụng các số ngẫu nhiên an toàn (CSPRNG).

OTP, hay còn gọi là Vernam Cipher, xuất hiện từ đầu thế kỷ 20 và được coi là "cái chén thánh" trong lĩnh vực mã hóa dữ liệu.

OTP là một thuật toán bảo mật duy nhất được chứng minh lý thuyết là không thể bị phá vỡ, ngay cả khi có tài nguyên vô tận, giúp chống lại các cuộc tấn công brute-force Hệ thống one-time pad được Frank Miller mô tả lần đầu tiên vào năm 1882 để bảo vệ an toàn cho các thông điệp điện báo.

Hệ thống mã hóa tiếp theo là electrical, được phát minh bởi Gilbert Vernam thuộc Tập đoàn AT&T vào năm 1917 và được cấp bằng sáng chế vào năm 1919 (Bằng sáng chế Hoa Kỳ 1.310.719) Mật mã này dựa trên công nghệ máy dịch chuyển xa, trong đó mỗi ký tự trong tin nhắn được kết hợp điện tử với một ký tự trên khóa băng giấy đục lỗ Joseph Mauborgne, khi đó là đại úy trong Quân đội Hoa Kỳ và sau này là trưởng Quân đoàn Tín hiệu, đã nhận ra rằng chuỗi ký tự trên băng khóa có thể hoàn toàn ngẫu nhiên, mở ra khả năng bảo mật cao hơn cho hệ thống.

Trang | 20 việc phá mã sẽ khó khăn hơn Họ cùng nhau phát minh ra hệ thống băng dùng một lần đầu tiên

Hệ thống đệm giấy đã được phát triển để tăng cường bảo mật thông tin, sử dụng mật mã và mã hóa để giảm chi phí điện báo Các từ và cụm từ được chuyển đổi thành nhóm số (thường là 4 hoặc 5 chữ số) qua một cuốn mã giống như từ điển Để nâng cao tính bảo mật, các số bí mật được kết hợp với từng nhóm mã trước khi truyền, và các số này được thay đổi định kỳ trong quá trình siêu mã hóa Vào đầu những năm 1920, ba nhà mật mã học người Đức đã nhận ra rằng nếu sử dụng các phụ gia ngẫu nhiên cho mỗi nhóm mã, hệ thống sẽ trở nên không thể bị phá vỡ Họ đã tạo ra những miếng giấy trùng lặp in các dòng số ngẫu nhiên, mỗi trang có số sê-ri và tám dòng, với mỗi dòng chứa sáu số năm chữ số Một trang sẽ được dùng để mã hóa thông điệp và sau đó bị hủy.

Số sê-ri của trang được gửi kèm với tin nhắn mã hóa, và người nhận sẽ thực hiện quy trình đảo ngược để hủy bản sao của trang Hệ thống này đã được Văn phòng đối ngoại của Đức triển khai từ năm 1923.

Khái niệm sử dụng bộ chữ cái one-time pad để mã hóa văn bản rõ ràng được mô tả trong bài viết Leo Marks đã phát minh ra hệ thống này cho Cơ quan điều hành hoạt động đặc biệt của Anh trong Thế chiến thứ hai, mặc dù ông nghi ngờ rằng nó đã được biết đến trong cộng đồng mã hóa tại Bletchley Park.

Vào những năm 1940, nhà lý thuyết thông tin Claude Shannon đã khám phá và chứng minh ý nghĩa lý thuyết của hệ thống one-time pad Ông công bố kết quả trong một báo cáo tuyệt mật vào năm 1945 và công khai vào năm 1949 Đồng thời, nhà lý luận thông tin Liên Xô Vladimir Kotelnikov cũng độc lập chứng minh tính bảo mật tuyệt đối của one-time pad, với kết quả được cung cấp trong một báo cáo dường như vẫn được phân loại vào năm 1941.

Mã không thể phá vỡ

Mặc dù mọi mật mã có thể bị phá vỡ, phương pháp mã hóa không thể phá vỡ là Chìa khóa một lần (OTK) Phương pháp này thường được triển khai dưới dạng một tập giấy ghi chú chứa đầy các số ngẫu nhiên, được gọi là Bảng ghi một lần (OTP), hoặc dưới dạng One Time Tape (OTT).

Tài liệu OTP điển hình, như hình ảnh bên phải, đã được các điệp viên Liên Xô cũ sử dụng trong những năm 1960 Nó bao gồm nhiều trang mỏng, mỗi trang chứa một dãy số 5 chữ số ngẫu nhiên Đặc biệt, mỗi trang này được phá hủy ngay sau khi sử dụng để đảm bảo tính bảo mật.

Các OTP thường được kết hợp với các bộ vô tuyến do thám của Nga như R-353, liên quan đến các trạm số trên dải sóng ngắn.

Hình ảnh minh họa cho tài liệu OTP trong bài viết này được lấy từ bộ sưu tập nội bộ của AIVD và đã được trưng bày trong triển lãm Tijdrekken vào năm 2011 Để sử dụng OTP hiệu quả, cần tuân thủ một số quy tắc nhất định, trong đó cùng một OTP phải được sử dụng để lấy ra bản rõ ban đầu.

Cách hoạt động

Thông thường, một miếng được tạo ra thông qua việc tạo ra một chuỗi các ký tự, với số lượng tối thiểu từ các tin nhắn dài có thể gửi đi Chuỗi giá trị này được tạo ra theo một cách nhất định, chẳng hạn như thông qua việc kéo số trong xổ số hoặc sử dụng chương trình máy tính để tạo số ngẫu nhiên Các giá trị này được ghi lại trên thiết bị mà người dùng có thể đọc hoặc sử dụng Miếng này được cung cấp cho bất kỳ ai có khả năng gửi hoặc nhận tin nhắn Thông thường, một miếng có thể được cấp dưới dạng bộ sưu tập chìa khóa, với mỗi chìa khóa dành cho mỗi ngày trong tháng, ví dụ như một chìa khóa sẽ hết hạn mỗi ngày hoặc ngay khi nó đã được sử dụng một lần.

Khi một tin nhắn được gửi, nó được mã hóa bằng cách sử dụng một khóa bí mật để mã hóa từng ký tự một Mỗi ký tự, thường dài tám bit, được "HOẶC hóa" với cùng một bit trong khóa bí mật Để đảm bảo tính ngẫu nhiên của khóa, đôi khi nó được kết hợp với một thuật toán như MD5 Loại mã hóa này được mô tả là "100% tiếng ồn nguồn", chỉ có người gửi và người nhận mới có thể loại bỏ tiếng ồn này Sau một thời gian, khóa không nên được tái sử dụng, vì nếu không, người khác có thể so sánh các tin nhắn để tìm ra mã hóa tương tự, từ đó có thể suy ra nội dung.

Với 26 là kích thước bản chữ cái Đĩa Vigenere là một thiết bị để hỗ trợ quá trình tinh toán này

Cách sử dụng

Lưu ý : Mỗi bức thư của những chữ cái có số riêng của mình.

Chia các con số từ một lần vào cặp và ghi chúng vào dòng, bắt đầu từ dòng cuối cùng trong mật mã Hãy thêm những con số từ các tin nhắn để hoàn thiện nội dung.

(Chú ý: sử dụng số học đơn giản ngoài Nếu sum vượt quá 100, viết hai chữ số cuối cùng trong kết quả)

Hình 7: Bảng chữ cái và số

Hình 8: Minh họa thay thế chữ cái với số tương ứng

Các tin nhắn được chia thành nhóm năm và được truyền đi Để giải mã, mỗi người sử dụng một trang từ riêng của mình một lần Các con số được chia thành cặp, sau đó thực hiện phép trừ Đôi khi, cần thêm 100 vào số lượng trước khi trừ Việc thay thế bằng số chữ cho phép chúng ta giải mã các văn bản gốc.

Hình 9: Ví dụ cho quá trình mã hóa

Hình 10: Kết quả mã hóa

Hình 11: Quá trình giải mã

Tính xác thực

Các miếng đệm dùng một lần thường không cung cấp xác thực tin nhắn, dẫn đến nguy cơ bảo mật cho các hệ thống thực Kẻ tấn công có thể lợi dụng thông tin trong tin nhắn, như "gặp Jane và tôi ngày mai lúc 3 giờ 30 chiều", để lấy mã tương ứng từ hai phần tử đã biết Họ có thể thay thế nội dung tin nhắn bằng văn bản khác có cùng độ dài, ví dụ như "cuộc họp ba giờ ba mươi bị hủy, hãy ở nhà" Kiến thức của kẻ tấn công về vùng đệm một lần chỉ giới hạn ở độ dài byte, điều này cần được duy trì để đảm bảo tính hợp lệ của nội dung tin nhắn Sự khác biệt này so với tính dễ uốn là không nhất thiết phải biết rõ bản rõ.

Để ngăn chặn các cuộc tấn công, các kỹ thuật tiêu chuẩn như mã xác thực tin nhắn và hệ thống đệm một lần có thể được áp dụng, cùng với các phương pháp cổ điển như đệm có độ dài thay đổi và đối chiếu kiểu Nga Tuy nhiên, những phương pháp này không đạt được mức độ bảo mật hoàn hảo như OTP Hàm băm phổ biến cung cấp một phương thức xác thực thông báo với giới hạn bảo mật tùy ý, đảm bảo rằng khả năng giả mạo thành công của kẻ tấn công là thấp hơn một ngưỡng nhất định, nhưng lại yêu cầu dữ liệu ngẫu nhiên bổ sung từ pad, điều này làm khó khăn cho việc triển khai hệ thống mà không cần máy tính.

Hình 12: Kêt quả sau khi đối chiếu

Mã hóa và giải mã One-time pad

2.5.1 OTP Encryption (Mã hóa OTP).

 Nếu một số lớn hơn 25, thì phần còn lại sau khi trừ 26 được thực hiện theo kiểu số học mô-đun.

 Điều này chỉ đơn giản có nghĩa là nếu tính toán của bạn "đi qua" Z, bạn bắt đầu lại tại A.

Bob nhận được văn bản mật mã "EQNVZ" và sử dụng trang khóa tương ứng để giải mã Quá trình này diễn ra theo cách ngược lại, giúp Bob thu được văn bản thuần túy từ thông điệp đã mã hóa.

 Ở đây phím được trừ từ mật mã, một lần nữa sử dụng số học mô-đun

Hình 13: Minh họa quá trình mã hóa

2.5.2 OTP Decryption (Giải mã OTP)

NB: Nếu một số âm thì 26 được thêm vào để tạo số dương

Ví dụ One-time pad

Vấn đề: Alice muốn gửi tin nhắn "HELLO" cho Bob

ROE: Giả sử có hai miếng giấy chứa các chữ cái giống hệt nhau được sản xuất ngẫu nhiên và an toàn Alice đã chọn một trang không sử dụng từ miếng đệm một cách phù hợp.

Việc thực hiện quy trình này thường được lên kế hoạch trước, chẳng hạn như 'sử dụng tờ thứ 12 vào ngày 1 tháng 5' hoặc 'sử dụng cho thư tiếp theo' Các tài liệu trên trang tính đã chọn giữ vai trò quan trọng cho thư này Mỗi lá thư từ pad sẽ được kết hợp định trước với một chữ cái trong tin nhắn Mặc dù không bắt buộc, nhưng việc gán giá trị số cho mỗi chữ cái, ví dụ: "A" là 0, "B" là 1, là một phương pháp phổ biến.

Hình 14: Minh họa quá trình giải mã

Ứng dụng thực tiễn

Phương pháp One-Time Pad, mặc dù lý thuyết rất an toàn, nhưng lại không có ứng dụng thực tiễn do yêu cầu chiều dài khóa bằng chiều dài bản tin và mỗi khóa chỉ sử dụng một lần Điều này dẫn đến việc thay vì truyền khóa qua kênh an toàn, người dùng có thể trực tiếp truyền bản rõ mà không cần lo lắng về mã hóa.

Lưu ý: One-Time Pad khác với One Time Password.

• One Time Password là mật khẩu sử dụng một lần, nó thường xuất hiện trong giao dịch thanh toán như chuyển khoản, mua hàng online…

MÔ PHỎNG ONE TIME PAD(OTP)

Quy trình xây dựng mã nguồn

 Chương trình sẽ chạy trên môi trường trình duyệt web và có chức năng mã hóa và giải mã 1 bản mã được người dụng nhập vào

 Ngôn ngữ được sử dụng để xây dựng chương trình này là javascript

 Ngoài ra còn sử dụng html, css, Bootstrap, Vuejs để xây dựng giao diện cho chương trình

Thiết kế thuật toán

3.2.1 Khởi tạo Đầu tiên, khởi tạo 1 biến có tên charset là chuỗi các kí tự cần để mã hóa. ở đây, charset bao gồm các chữ cái trong bảng chữ cái tiếng anh và các chữ số như sau:

Bước 2, tạo biến Regex (biểu thức chính quy) để kiểm tra đầu vào như sau:

Key sẽ là chuỗi các kí tự được tráo ngẫu nhiên trong từ biến charset

Chúng ta tạo ra một hàm để trả về giá trị key sau khi thực hiện các thao tác tách chuỗi thành mảng Sau đó, mảng này sẽ được sắp xếp ngẫu nhiên Cuối cùng, các thành phần trong mảng sẽ được nối lại thành một chuỗi.

Tạo 1 hàm nhận tham số đầu vào plaintext, sau đó khởi tạo biến key và gán giá trị là kết quả của hàm key phía trên.

Tạo 1 biến rỗng tên result để nhận giá trị trả về

Chúng ta sử dụng vòng lặp for of để kiểm tra từng ký tự trong giá trị đầu vào có tồn tại trong key hay không Nếu ký tự đó có trong key, chúng ta sẽ thêm vào chuỗi kết quả giá trị thứ x của key, trong đó x là vị trí của ký tự kiểm tra trong biến charset ban đầu.

Sau đó, trả về object chứa giá trị result và key

Tạo 1 hàm nhận tham số đầu vào key và bản mã, sau đó tạo 1 biến rỗng tên result để nhận giá trị trả về

Sử dụng vòng lặp for of để kiểm tra từng ký tự trong mã nguồn có tồn tại trong key hay không Nếu ký tự đó có mặt trong key, ta sẽ thêm vào chuỗi kết quả giá trị tương ứng từ charset, với x là vị trí của ký tự trong biến key.

Sau đó trả về biến result.

Tạo một biến text để lưu trữ giá trị nhập từ người dùng, sau đó tiến hành kiểm tra xem giá trị này có phù hợp với biểu thức chính quy và không rỗng hay không Nếu giá trị không thỏa mãn các điều kiện trên, hệ thống sẽ trả về thông báo "Đầu vào không hợp lệ".

Nếu thõa mãn thì tao gọi hàm mã hóa nhận giá trị tex làm đối số,

Tiếp tục lấy giá trị trả về của hàm trên làm đầu vào cho hàm giải mã.

Ta sẽ thêm giá trị trả về từ 2 hàm trên vào 1 mảng rồi chuển mảng này thành dạng json và lưu vào biến localStorage trong trình duyệt.

3.2.3 Thiết kế giao diện Ở đây, tôi sử dụng bootstrap và vuejs đề xây dựng giao diện.

Giao diện bao gồm trường nhập vào input, nút gửi và giao diện chứa thông tin trả về.

Hình 16: Giao diện bắt đầu trên máy tính

Hình 15: Giao diện bắt đầu trên điện thoại

Hình 18: Giao diện lưu trữ trên máy tính

Hướng dẫn mở chương trình

 Cách 1 vào link sau: https://smpasw.web.app/attt/

 Cách 2 quét Mã QR sau

Hình 19: Giao diện kết quả trên điện thoại

 Cách 3: Mở file index.html trong thư mục nén

Hình 20: Mã QR dẫn đến trang web

Ngày đăng: 09/12/2024, 17:50

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

TÀI LIỆU LIÊN QUAN

w