1. Tiêu chuẩn mã hóa AES là gì?

1.1 Giới thiệu

AES (Advanced Encryption Standard) là 1 thuật tân oán “mã hóa khối” (bloông xã cipher). AES biến một Một trong những thuật toán mã hóa thông dụng độc nhất vô nhị áp dụng khóa mã đối xứng nhằm mã hóa với giải thuật (một trong những được giữ kín đáo cần sử dụng đến các bước mở rộng khóa nhằm mục đích tạo nên một tập các khóa vòng).Quý Khách đang xem: Aes là gì

1.2 Đặc điêm kỹ thuật

Một số khái niệm:

Bản rõ (Plaintext): Dạng ban sơ của thông báoBản mã (Ciphertext): Dạng mã của phiên bản rõ ban đầuKhóa (Key): thông báo tsay đắm số dùng để làm mã hóaMã hóa (Encryption): Quá trình đổi khác công bố trường đoản cú dạng bản rõ quý phái bạn dạng mã bởi khóa hoặc không nên khóaGiải mã (Decryption): Quá trình trở lại biến hóa biết tin trường đoản cú dạng bản mã thanh lịch bản rõ

AES là 1 trong những thuật toán mã hóa kăn năn đối xứng cùng với độ lâu năm khóa là 128 bịt (một chữ số nhị phân có mức giá trị 0 hoặc 1), 192 bịt với 256 bít khớp ứng dọi là AES-128, AES-192 và AES-256. AES-128 áp dụng 10 vòng (round), AES-192 sử dụng 12 vòng và AES-256 thực hiện 14 vòng.

Bạn đang xem: Aes là gì

AES được thực hiện bởi vì các hàm theo vật dụng từ bỏ sau: Trộn từng byte (SubBytes), trộn từng hàng (ShiftRows), trộn từng cột (MixColumns) cùng mã hóa (AddRoundKey). Trong số đó SubBytes, ShiftRows, MixColumns tất cả trách nhiệm tạo cho mối quan hệ thân bản rõ với phiên bản mã bị che chết thật (thủ tục "bự mờ"). AddRoundKey áp dụng key mã hóa để mã hóa tài liệu nguồn vào bởi việc phân tán mọi thứ hạng mẫu của bạn dạng rõ sang trọng bản mã (cách tiến hành "khuếch tán")

Về cơ bản, hình thức sẽ như sau:


*

2. OpenSSL::Cipher

2.1 Giới thiệu:

Trong technology bảo mật thông tin của những áp dụng thì OpenSSL::Cipher là 1 trong phầm mềm mối cung cấp mngơi nghỉ dùng để làm mã hoá tài liệu khôn xiết quan trọng, hỗ trợ những module được cho phép mã hóa, giải thuật dữ liệu. Đôi khi vận dụng ruby vẫn thực hiện module Cipher nhằm thực hiện bài toán mã hóa này.

Xem thêm: Plexiglass Là Gì ? Mua Tấm Plexiglass Ở Đâu Tại Tphcm Giá Rẻ

module của Cipher mình trình làng ở đây đang sử dụng phương pháp mã hóa là: Secret Key Encryption - mã hóa key túng bấn mật

Do kia mã hõa dùng key kín văn minh ngày này ngoại trừ 2 ngôi trường trên bạn ta đã thêm một ngôi trường new là veclớn khởi tạo ra IV (Initialization Vector) hoặc nonce (một số bất chợt cần sử dụng 1 lần). Trong mã hóa này thì ngôi trường key đã phải bảo mật thông tin 2 ngôi trường IV, nonce thì đã lưu giữ trong khúc mã gửi đi.

Xem thêm: Sumproduct ( Hàm Sumproduct Là Gì ? Hướng Dẫn Cách Dùng Hàm Sumproduct

2.2. Ví dụ sử dụng module Cipher

lấy một ví dụ ta gồm một quãng plain text như sau: plain_text = "chạy thử ma hoa", phía mã hóa với phía lời giải thống duy nhất 1 đoạn key mã hóa bao gồm 16 ký kết từ là "keygiaima1234567", hai bên thống tuyệt nhất phương thức xuất hiện Initialization Vector (iv) từ key mã hóa bên trên là:

Digest::MD5.hexdigest keyTiến hành mã hóa:cipher = OpenSSL::Cipher::AES.new(128, :CBC)cipher.encryptcipher.key = keycipher.iv = ivencrypted = cipher.update(plain_text) + cipher.finaltác dụng của encrypted = "xC9x93xBDllpx93xC7KxBCxB7xD8xC9x02-"


*

Tiến hành giải mã:

decipher = OpenSSL::Cipher::AES.new(128, :CBC)decipher.decryptdecipher.key = keydecipher.iv = ivplain = decipher.update(encrypted) + decipher.finalKết quả:


*

3. Kết luận

Qua nội dung bài viết, mình đã giới thiệu về tiêu chuẩn mã hóa AES cùng module Cipher dùng để mã hoá, lời giải của phầm mềm OpenSSL::Ciphe. Việc bảo mật thông tin thì luôn luôn cần thiết góp rời spam, giả request nhằm mục tiêu haông chồng khối hệ thống ...

4. Tài liệu tmê mẩn khảo

https://docs.ruby-lang.org/en/trunk/OpenSSL/Cipher.htmlhttps://vi.wikipedia.org/wiki/Advanced_Encryption_Standard


Chuyên mục: Ý NGHĨA
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *