Mô hình giải pháp kết hợp mã hóa và ẩn giấu thông tin

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, tìm hiểu kỹ thuật giấu tin mật và ứng dụng (Trang 69 - 74)

Mô hình hoạt động của hệ thống bao gồm: Bên gửi A có thông tin gốc, cho qua bộ mã hóa kết hợp với khóa tạo thành bản mã, rồi sau đó giấu thông tin đã được mã hóa vào trong ảnh bằng thuật toán giấu tin và gửi đến cho bên nhận B. Tại bên nhận, B nhận được ảnh đã có chứa thông tin mã hóa, sẽ sử dụng thuật toán tách thông tin trong ảnh để nhận được thông tin mã hóa, đưa thông tin này qua bộ giải mã cùng với khóa mã sẽ nhận được thông tin gốc ban đầu.

3.3 Xây dựng chương trình

3.3.1 Lựa chọn phương pháp mã hóa

Các phương pháp mã hóa khóa bí mật (mã hóa đối xứng) có ưu điểm xử lý rất nhanh và khả năng bảo mật cao so với các phương pháp mã hóa khóa công khai (mã hóa bất đối xứng) nhưng lại gặp phải vấn đề khó khăn trong việc trao đổi mã khóa. Ngược lại, các phương pháp mã hóa khóa công khai tuy xử lý thông tin chậm hơn nhưng lại cho phép người sử dụng trao đổi mã

khóa dễ dàng hơn. Do đó, trong các ứng dụng thực tế, chúng ta cần phối hợp được ưu điểm của mỗi phương pháp mã hóa để xây dựng hệ thống mã hóa và bảo mật thông tin hiệu quả an toàn. Giải pháp sử dụng kết hợp cả hai loại mật mã này bằng cách:

Sử dụng mật mã khóa bí mật AES 128 bit để mã hóa dữ liệu cần gửi. Đồng thời sử dụng mật mã khóa công khai RSA 2048 bit để làm nhiệm vụ trao đổi khóa bí mật.

Bước 1: Người nhận (B) tạo cặp khóa RSA 2048 bit (Private key và Public key) sau đó gửi khóa công khai Publickey cho người gửi (A);

Bước 2: Người gửi (A) mã hóa dữ liệu cần gửi bằng thuật toán đối xứng AES 128 bit. Đồng thời sử dụng khóa công khai Public key và mã hóa bất đối xứng RSA 2048 bit để mã hóa khóa bí mật.

Bước 3: Người nhận (B) sử dụng khóa bí mật Private key để giải mã khóa đối xứng, sau đó giải mã thông tin từ khóa đối xứng nhận được.

3.3.1.1 Mã hóa AES [8]

Mã hóa AES bao gồm các bước:

- Khởi động vòng lặp

AddRoundKey - Mỗi cột của trạng thái đầu tiên lần lượt được kết hợp với một khóa con theo thứ tự từ đầu dãy khóa.

- Vòng lặp

SubBytes - đây là phép thế (phi tuyến) trong đó mỗi byte trong trạng thái sẽ được thế bằng một byte khác theo bảng tra (Rijndael S-box).

+ ShiftRows - dịch chuyển, các hàng trong trạng thái được dịch vòng theo số bước khác nhau.

+ MixColumns - quá trình trộn làm việc theo các cột trong khối theo một phép biến đổi tuyến tính.

+ AddRoundKey - Vòng lặp cuối

+ SubBytes + ShiftRows + AddRoundKey

Tại chu trình cuối thì bước MixColumns không thực hiện.

3.3.1.2 Mã hóa khóa bí mật của người gửi

a) Tạo khóa công khai và khóa bí mật

Input: pq là 2 số nguyên tố

Output: n, n,d,e

Method:

Tính: npq; Tính: p1q1;

Chọn e sao cho: 1e n và e nguyên tố cùng nhau với (n); Tính d sao cho: de  1 (mod (n));

b) Thuật toán mã hóa

Thuật toán mã hóa RSA thực hiện khi đã nhập vào 1 chuỗi ký tự và chuyển thành mảng các giá trị của bảng mã ký tự tương ứng vào 1 mảng số nguyên. Lúc này chúng ta sẽ tiến hành mã hóa cho từng phần tử mảng số nguyên. Sau khi mã hóa xong ta được mảng số nguyên mới và tiến hành:

Input: Megs có kiểu dữ liệu chuỗi (Bản rõ).

n, e: Cặp khóa công khai;

Output: Megs’có kiểu dữ liệu chuỗi (Bản mã).

Method:

Lặp từ đầu đến hết chuỗi Megs (Megs.Length) và thực hiện: - Chuyển Megs  i sang bảng mã của ký tự A i ;

- Mã hóa A i : B i = A i e mod n;

- Chuyển B  i thành ký tự lưu vào biến Megs’.

Thuật toán giải mã RSA thực hiện khi đã trích rút thông tin mật từ file ảnh dưới dạng mảng các byte. Từ mảngcác byte ta chuyển về dạng chuỗi để giải mã.

Input: Megs’ có kiểu dữ liệu chuỗi (Bản mã).

n, d: Cặp khóa bí mật.

Output: Megs có kiểu dữ liệu chuỗi (Bản rõ).

Method:

Lặp từ đầu đến hết chuỗi Megs’ (Megs’.Length) và thực hiện: - Chuyển Megs’ i sang bảng mã của ký tự A i ;

- Mã hóa A i : B i = A i d mod n;

- Chuyển B  i thành ký tự lưu vào biến chuỗi Megs

3.3.2 Giải thuật giấu tin

Trong luận văn sử dụng thuật toán giấu tin F5 [4]:

1. Lấy phần thể hiện RGB của ảnh đầu vào (lấy giữ liệu của ảnh).

2. Biến đổi miền dữ liệu của ảnh sang miền tần số DCT sau đó lượng tử hóa các hệ số DCT theo Q ta được các hệ số DCT đã lượng tử.

3. Tính khả năng có thể nhúng khi không sử dụng matrix encoding

   h h h h h C DCT DCT 0 1 0,49 64     , trong đó: DCT h là tổng số hệ số DCT; h 0 là số hệ số AC DCT bằng 0  1 h là hệ số AC DCT có trị tuyệt đối bằng 1 64 DCT h

là số hệ số DC; h 1 0,49h0,5h là ước lượng mức độ hao hụt. 4. Mật khẩu người dùng được sử dụng để tạo ra bộ khởi tạo giải ngẫu nhiên PRNG để quyết định nhúng các bit thông điệp vào các vị trí ngẫu nhiên. PRNG cũng thường được sử dụng để phát sinh một dòng bit giả ngẫu nhiên bằng phép XOR với thông điệp tạo ra nó một dòng bit ngẫu nhiên. Trong quá trình nhúng, hệ số DC và các hệ số bằng 0 thường được bỏ qua.

5. Thông điệp được chia thành các đoạn gồm k bit, mỗi đoạn nhúng vào một nhóm hệ số DCT 2k 1 theo bước đi giả ngẫu nhiên. Nếu giá trị băm của nhóm không phù hợp với các bit thông điệp thì giá trị tuyệt đối của một trong những hệ số trong nhóm bị giảm đi 1 cho phù hợp. Nếu hệ số trở thành 0 (hệ số này được gọi là điểm hội tụ- shrinkage), bà khi đó k bit thông điệp này sẽ được nhúng trong nhóm hệ số DCT tiếp theo.

6. Nếu độ dài thông điệp phù hợp với khả năng có thể giấu trong ảnh thì quá trình giấu thành công, ngược lại sẽ thông báo lỗi và cho biết độ dài lớn nhất của ảnh có thể giấu để điều chỉnh thông điệp giấu hoặc thay đổi ảnh dùng để giấu thông điệp.

Thuật toán

Input: message, shared secret, cover image

Output: stego image

Initialize PRNG with shared secrt

Permutate DCT coefficients with PRNG Determine k from image capaciti

Calculat code word length n  2k - 1

While data left to embeb do

Get next k – bit message block

Repeat

G  { n non – zero AC coefficients} S  k – bit hash  of LSB in G S  s  k – bit message blok

If s  0 then

Decremennt absolute value ofDCT coefficient Gs Insert Gs into stego image

3.4 Cài đặt và thực nghiệm

3.4.1 Cài đặt

Chương trình được thiết kế, cài đặt và sử dụng đơn giản, file chạy JpegSteg.exe.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, tìm hiểu kỹ thuật giấu tin mật và ứng dụng (Trang 69 - 74)