/ / Tạo một bộ mã hóa tin nhắn với Python

Tạo một bộ mã hóa tin nhắn với Python

cryptography and associated with it printed on screen

An ninh mạng là một trong những mối quan tâm cấp bách nhất trong công nghệ phần mềm ngày nay. Công nghệ càng tiến bộ thì càng có nhiều mối đe dọa về bảo mật.


Chia sẻ thông tin nhạy cảm bằng văn bản thuần túy là không an toàn. Bất kỳ ai có mục đích xấu đều có thể dễ dàng chặn nó và gây hại cho phần mềm của bạn. Đó là nơi mật mã xuất hiện.

Mật mã học là thực hành mã hóa văn bản mà con người có thể đọc được thành các ký tự (bản mã). Nó sử dụng các khóa thuật toán phức tạp để mã hóa tin nhắn, khiến chúng khó đọc.


Mã hóa là gì?

Mã hóa chuyển đổi văn bản con người có thể đọc được (văn bản thuần túy) thành văn bản không thể hiểu được (bản mã). Nó mã hóa dữ liệu bằng khóa mật mã; một chuỗi ký tự trông ngẫu nhiên.

Chìa khóa xáo trộn thông điệp (mã hóa) thành một mẫu khó đọc. Bạn cần biết khóa mã hóa để giải mã văn bản mật mã.

Mã hóa là một cách hiệu quả để giữ an toàn cho hệ thống dữ liệu khỏi các cá nhân độc hại. Nếu kẻ tấn công quản lý để truy cập dữ liệu, họ không thể xem, đọc hoặc truy cập thông tin. Điều này giúp bạn bảo mật thông tin liên lạc chống lại những người không được ủy quyền.

Bạn có thể mã hóa tin nhắn bằng Python bằng một thuật toán đơn giản.

Thuật toán mã hóa là gì?

Thuật toán mã hóa là mã được sử dụng để chuyển đổi tin nhắn thành văn bản mật mã. Thuật toán sử dụng khóa mã hóa để thay đổi dữ liệu theo một mẫu nhất định. Dữ liệu được mã hóa chỉ có thể biến thành văn bản mà con người có thể đọc được bằng khóa giải mã.

Đoạn mã Python sau đây tạo ra một hàm mã hóa một tin nhắn được viết bằng bảng chữ cái tiếng Anh.

 def encryption(message, key):
    alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    ciphertext = ""

    for i in range(0, len(message)):
        character = message[i]
        ciphertext = ciphertext + character

        for j in range (0, key):
            ciphertext = ciphertext + random.choice(alphabet)

    return ciphertext

Viết Code chạy chương trình trên Console

Sau khi thiết lập thuật toán mã hóa, bạn có thể viết mã để chạy nó trên bảng điều khiển. Chạy mã trên bảng điều khiển giúp bạn kiểm tra và xem chương trình của bạn trông như thế nào.

 import random

message = input("Enter a message to encrypt:")
key = int(input("Put any number between 1 and 10:"))

while not(key >= 1 and key <= 10):
    print("Invalid key, try again!")
    key = int(input("Put any number between 1 and 10:"))

ciphertext = encryption(message, key)
print("Your Ciphertext is:")
print(ciphertext)

Kiểm tra chương trình mã hóa với một số ví dụ

Bây giờ bạn có thể kiểm tra chương trình với một vài ví dụ. Hãy thử mã hóa từ nairobi trong dấu nhắc.

 Enter a message to encrypt: Nairobi
Put any number between 1 and 10:3
Your Ciphertext is: NZItacpUiyqxrspcobzsbiBTiovD

Lưu ý rằng mã xuất văn bản mật mã theo số lượng khóa. Trong ví dụ trên, thuật toán đặt ba chữ cái ngẫu nhiên sau mỗi chữ cái đầu tiên trong từ.

Tiếp theo, bạn cần kiểm tra xem mã có hoạt động trong các điều kiện bạn đặt trong chương trình bảng điều khiển hay không. Vòng lặp while cho phép người dùng chỉ nhập các phím từ 1 đến 10.

 Enter a message to encrypt: Nairobi
Put any number between 1 and 10: 12
Invalid key, try again!
Put any number between 1 and 10:9
Your Ciphertext is:
NqmXuBDQeraDrntCUbZSivEXMfblItrzUGIlyxPYoQXxcKYXxXbgACDpCycdiWjImofrBH

Ví dụ trên cho thấy các công việc có điều kiện. Mã hiển thị thông báo lỗi bất cứ khi nào nó nhận được một số nằm ngoài phạm vi. Chương trình mã hóa hiện đã chạy thành công. Bạn có thể sử dụng nó để mã hóa bất kỳ từ nào bạn chọn.

Phát triển mã hóa của riêng bạn có thể là một kinh nghiệm học tập tuyệt vời. Tuy nhiên, các thư viện Python như bcrypt có thể giúp bạn mã hóa dữ liệu nhanh hơn rất nhiều.

Lợi ích của mã hóa

Kỹ thuật mã hóa dữ liệu đã phát triển qua nhiều năm. Giờ đây, bạn có thể mã hóa dữ liệu bằng các phương pháp Băm, không đối xứng và không đối xứng. Những kỹ thuật này thay đổi cách hệ thống lưu trữ và vận chuyển thông tin.

Bạn có thể sử dụng bất kỳ kỹ thuật mã hóa dữ liệu nào phù hợp với phần mềm của mình. Đảm bảo nó cung cấp các biện pháp xác thực và quyền riêng tư để bảo vệ dữ liệu khỏi các vi phạm bảo mật. Bảo mật phần mềm của bạn giúp bạn giao tiếp mà không sợ bọn tội phạm mạng và tăng cường lòng tin với khách hàng.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *