Tác giả vẫn lựa chọn thuật toán ký theo mô hình RSA kết hợp với hàm băm để xác minh tính hợp lệ của thông điệp ký. Tuy nhiên trong phạm vi luận văn này, tác giả đề xuất cải tiến lược đồ trên bằng cách ứng dụng kỹ thuật giấu tin trong ảnh để kiểm tra tính toàn vẹn của dữ liệu ảnh khi nhận được. Giải pháp này có các ưu điểm nổi trội sau:
+ Che giấu được sự tồn tại của thông tin: Thay vì trao đổi các thông tin thì ta gửi các bức ảnh có chứa nội dung thông tin trong đó.
+ Tăng độ an toàn của dữ liệu vì chỉ những người có khóa dấu tin mới giải mã được thông tin.
+ Kết hợp ký với giấu tin trong ảnh là một hướng mới, ít phổ biến nên an toàn hơn trước những kẻ tấn công.
Trong phạm vi luận văn đề xuất lựa chọn giải pháp ký RSA kết hợp giấu tin trong ảnh jpg sử dụng thuật toán giấu F5 do ưu điểm dung lượng của định dạng jpg.
Thuật toán F5 [2].
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,49h0,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.