Aes là gì

  -  

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

1.1 Giới thiệu

AES (Advanced Encryption Standard) là 1 thuật toán “mã hóa khối” (bloông xã cipher). AES vươn lên là một Một trong những thuật toán mã hóa thịnh hành độc nhất vô nhị thực hiện khóa mã đối xứng nhằm mã hóa và giải mã (một số trong những được duy trì kín sử dụng đến quá trình không ngừng mở rộng khóa nhằm mục tiêu tạo ra một tập những khóa vòng).

Bạn đ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 thuở đầu 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 tin tsay mê số dùng để làm mã hóaMã hóa (Encryption): Quá trình biến đổi lên tiếng trường đoản cú dạng bản rõ sang trọng phiên bản mã bằng khóa hoặc không yêu cầu khóaGiải mã (Decryption): Quá trình ngược trở lại chuyển đổi báo cáo tự dạng bản mã sang phiên bản rõ

AES là một trong thuật toán mã hóa khối hận đối xứng với độ nhiề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 che và 256 đậy khớp ứng dọi là AES-128, AES-192 và AES-256. AES-128 thực hiện 10 vòng (round), AES-192 thực hiện 12 vòng với AES-256 thực hiện 14 vòng.

AES được triển khai bởi vì các hàm theo thứ từ sau: Trộn từng byte (SubBytes), trộn từng hàng (ShiftRows), trộn từng cột (MixColumns) với mã hóa (AddRoundKey). Trong đó SubBytes, ShiftRows, MixColumns tất cả trách nhiệm làm cho mối quan hệ giữa bạn dạng rõ cùng bản mã bị đậy qua đời (cách tiến hành "mập mờ"). AddRoundKey sử dụng key mã hóa để mã hóa tài liệu nguồn vào bằng bài toán phân tán phần lớn vẻ bên ngoài chủng loại của bản rõ quý phái bản mã (cách tiến hành "khuếch tán")

Về cơ bạn dạng, phép tắc đã nlỗi sau:

*

2. OpenSSL::Cipher

2.1 Giới thiệu:

Trong công nghệ bảo mật thông tin của những ứng dụng thì OpenSSL::Cipher là 1 ứng dụng mối cung cấp msống dùng làm mã hoá dữ liệu cực kì quan trọng, cung ứng các module chất nhận được mã hóa, giải mã tài liệu. thường thì áp dụng ruby vẫn áp dụng module Cipher để tiến hành bài toán mã hóa này.

module của Cipher bản thân ra mắt ở chỗ này sẽ thực hiện cách thức mã hóa là: Secret Key Encryption - mã hóa key túng bấn mật

Đơn giản cơ mà nói thì đây là hình trạng mã hóa sử dụng một key kín đáo nhưng mà bảo đảm sử dụng key này ta hoàn toàn có thể mã hóa tài liệu (plain text) thành 1 đoạn mật mã (ciphertext) với bên cạnh đó có thể Phục hồi được độc nhất cục bộ tài liệu trường đoản cú đoạn mã hóa cơ. Tuy nhiên giao diện dễ dàng (nhỏng hình trạng ECB mode) như này thì sẽ không còn an ninh cho 1 số ngôi trường vừa lòng ví dụ khi chúng ta mã hóa 1 đoạn (16bytes) các ký tự tương đương nhau thì đoạn mã hóa trả ra cũng sẽ bị lặp lại.

Xem thêm: Hướng Dẫn Tải Game Cho Iphone Đơn Giản, Nhanh Chóng, Chơi Trò Chơi Trên Iphone

Do kia mã hõa cần sử dụng key kín đáo hiện đại thời buổi này quanh đó 2 ngôi trường trên tín đồ ta đang thêm 1 ngôi trường bắt đầu là veclớn khởi chế tác IV (Initialization Vector) hoặc nonce (một số ngẫu nhiên cần sử dụng 1 lần). Trong mã hóa này thì ngôi trường key vẫn phải bảo mật thông tin 2 ngôi trường IV, nonce thì vẫn lưu trong đoạn mã gửi đi.

2.2. lấy một ví dụ áp dụng module Cipher

ví dụ như ta có một đoạn plain text nhỏng sau: plain_text = "kiểm tra ma hoa", phía mã hóa và phía lời giải thống nhất 1 đoạn key mã hóa bao gồm 16 ký tự là "keygiaima1234567", phía hai bên thống tốt nhất cách thức sinh ra Initialization Vector (iv) từ bỏ key mã hóa 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.finalhiệu quả 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ả:

*

Vậy công dụng của vấn đề lời giải sẽ tạo ra đoạn text lúc đầu. Và vấn đề mã hóa này bắt buộc có key bảo mật thông tin và cách thức hình thành Initialization Vector mới rất có thể giải thuật được. Ứng dụng của chính nó có rất nhiều, nhưng lại dễ thấy tuyệt nhất trong Việc bảo mật thông tin request của client và hệ thống, rời bị spam bằng postman nếu như khách hàng áp dụng một params cồn sinh ra từ các việc mã hóa.

Xem thêm: Sinh Năm 19 85 Mệnh Gì, Hợp Màu Gì, Tử Vi Trọn Đời Tuổi Ất Sửu

3. Kết luận

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

4. Tài liệu tsi khảo

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