1/. Đầu vào : - Ảnh mang tin S 2/. Đầu ra : - Ảnh đã tách tin C - Thông điệp bí mật M 3/. Các bƣớc thực hiện :
- Bước 1 : Biểu diễn ma trận điểm ảnh S về dạng số thập phân với M xN phần tử, tiếp tục chuyển đổi ma trận ảnh M x N về mảng một chiều I với i phần tử. - Bước 2 : Chuyển các bít ảnh trong I về dạng nhị phân I2. Sau đó, cứ 8 bít trong I2 lại tách lấy k bít ngoài cùng bên phải, đem ghép các kết quả này lại với nhau.
- Bước 3 : Kết quả thu đƣợc chuyển từ nhị phân về dạng ký tự ta thu đƣợc thông điệp bí mật M.
2.3.4. Thuật toán thay thế LSB theo tỷ lệ p
2.3.4.1. Ý tưởng thuật toán
+ Cho tỷ lệ p% thông tin mật cần giấu (so với kích cỡ của ảnh), tạo ra một ma trận nhị phân có các bít ngẫu nhiên với kích thƣớc bằng p% kích thƣớc ảnh cần giấu.
+Thực hiện thay thế các bít thông tin mật trong ma trận ngẫu nhiên vào các bít LSB cho đến khi các bít thông tin mật trong ma trận không còn nữa thì dừng lại.
2.3.4.2. Thuật toán giấu 1/. Đầu vào : 1/. Đầu vào : - Ảnh gốc đa mức xám C - Thông điệp bí mật M - Số bít LSB cần giấu tin: k - Tỷ lệ p% 2/. Đầu ra : - Ảnh mang tin S 3/. Các bƣớc thực hiện :
- Bước 1 : Biểu diễn ma trận điểm ảnh của C về dạng số thập phân với kích thƣớc M x N phần tử, sau đó chuyển ma trận điểm ảnh về mảng một chiều I với i phần tử, cuối cùng chuyển sang ma trận dạng nhị phân I2.
- Bước 2 : Tính kích thƣớc ma trận ngẫu nhiên là L = p*M*N/100. Từ I2 tạo ra một ma trận I3 có số hàng là M và số cột là R trong đó R = L/M
- Bước 3 : Biểu diễn thông điệp bí mật M về dạng nhị phân.
- Bước 4 : Cứ 8 bít trong I3 tiến hành tách k bít LSB bên phải ngoài cùng ra và ghép phần còn lại với k bít nhị phân của thông điệp M, kết quả thu đƣợc lại đƣa về dạng thập phân và gán ngƣợc lại vào I.
- Bước 5 : Thực hiện lặp lại bƣớc 4 cho tới khi lấy hết chuỗi nhị phân của thông điệp M để ghép với các bít ảnh. Chuyển I từ mảng một chiều về mảng hai chiều MxN phần tử. Ta đƣợc ảnh mới S đã đƣợc giấu tin.
2.3.4.3. Thuật toán tách tin
1/. Đầu vào : - Ảnh mang tin S 2/. Đầu ra : - Ảnh đã tách tin C - Thông điệp bí mật M 3/. Các bƣớc thực hiện :
- Bước 1 : Biểu diễn ma trận điểm ảnh S về dạng số thập phân với M x N phần tử, tiếp tục chuyển đổi ma trận ảnh M x N về mảng một chiều I với i phần tử.
- Bước 2 : Chuyển các bít ảnh trong I về dạng nhị phân I3.
- Bước 3 : Sau đó, cứ 8 bít trong I3 lại tách lấy k bít ngoài cùng bên phải, đem ghép các kết quả này lại với nhau.
- Bước 4 : Kết quả thu đƣợc chuyển từ nhị phân về dạng ký tự ta thu đƣợc thông điệp bí mật M.