Thuật toán mã hóa RSA

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các kỹ thuật ẩn tin, giấu tin kết hợp mã hóa trong môi trường đa phương tiện để đảm bảo an toàn thông tin và xây dựng ứng dụng (Trang 55 - 57)

Các bƣớc của thuật toán RSA bao gồm

Tạo khóa:

Bƣớc 1: B (Ngƣời nhận) tạo hai số nguyên tố lớn ngẫu nhiên p và q Bƣớc 2: tính n=p*q và ϕ(n)=(p-1)(q-1)

Bƣớc 3: Chọn một số ngẫu nhiên e (0<e< ϕ(n)) sao cho ƢCLN(e, ϕ(n))=1 Bƣớc 4: tính d = e-1 bằng cách dùng thuật toán Euclide

Tìm số tự nhiên x sao cho 𝑑 = 𝑥∗ϕ𝑒n +1

Bƣớc 5: n và e làm khóa công khai (public key) - d làm khóa bí mật (private key)

Ví dụ: Bƣớc 1: Chọn số 23 và 41 (2 số này là số nguyên tố) Bƣớc 2: n=23*41=943 ϕ(n)= 22*40=880 Bƣớc 3: chọn e =7 vì ƢCLN(7,880) = 1 Bƣớc 4: 𝑑 =880𝑥+1 7 → 𝑑 = 503 𝑣à 𝑥 = 4 Bƣớc 5: n=943 và e=7 d= 503  Mã hóa và giải mã:

Bƣớc 1: A nhận khóa công khai của B

Bƣớc 3: Mã hóa

Tính c= me mod n (c là mã của m sau khi mã hóa) Bƣớc 4: Gửi c cho B

Bƣớc 5: Giải mã Tính m = cd mod n

=> m là thông tin nhận đƣợc

Ví dụ:

Bƣớc 1: A nhận khóa công khai n=943 và e=7 Bƣớc 2: Thông tin cần gửi m=35

Bƣớc 3: c=357

mod 943 = 545 Bƣớc 4: Gửi c = 545 cho B Bƣớc 5: Giải mã

m=545503 mod 943=35 => m= 35

3.3.2. Lựa chọn giải thuật giấu tin

Nhƣ trên chƣơng 2, luận văn đã đề xuất một thuật toán giấu tin dựa trên mã Hamming và đánh giá giải thuật này chỉ làm thay đổi ảnh mang nhiều nhất 3%, và các vị trí thay đổi trong ảnh nằm hoàn toàn ngẫu nhiên, trong khi đó có thể giấu đƣợc một lƣợng thông tin khá lớn 16% kích thƣớc của ảnh, điều này sẽ chống đƣợc một số phƣơng pháp tấn công nhƣ phƣơng pháp thống kê. Do đó, luận văn sẽ chọn giải thuật giấu tin dựa trên mã Hamming để xây dựng chƣơng trình.

3.3.3. Môi trƣờng cài đặt

Ngôn ngữ cài đặt, môi trƣờng soạn thảo và chạy chƣơng trình đƣợc thực hiện trên Matlab R2014a. MATLAB là phần mềm cung cấp môi trƣờng tính toán số và lập trình. MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện ngƣời dùng và liên kết với những chƣơng trình máy tính viết trên nhiều ngôn ngữ lập trình khác.

Matlab cung cấp các công cụ chuyên dụng để giải quyết những vấn đề cụ thể nhƣ xử lý ảnh, xử lý số tín hiệu…. Có thể nói Matlab là một công cụ lợi hại giúp cho việc thực hiện các giải thuật xử lý ảnh nhanh chóng và dễ hiểu.

Vì vậy, trong khuôn khổ thời gian hạn chế của luận văn này, tác giả lựa chọn giải pháp là xây dựng phần mềm trên Matlab, môi trƣờng Window 7.

3.3.4. Thiết kế và cài đặt

Theo giải pháp đã đề xuất ở trên, phần mềm có các khối chức năng chính nhƣ sau:

Khối chức năng phía ngƣời gửi:

- Tạo ngẫu nhiên cặp khóa công khai/bí mật

- Mã hóa thông điệp mật theo giải thuật mã hóa khóa công khai RSA

- Tiến hành giấu thông điệp vào ảnh theo thuật toán giấu tin dựa trên mã Hamming.

Khối chức năng phía ngƣời nhận: - Tách thông tin từ vật mang

- Giải mã thông tin bằng khóa bí mật của hệ mã hóa khóa công khai đã sinh ở trên. Bắt đầu Thông điệp M (Message) Thông điệp M đã được mã hóa Ảnh mang (Cover Image) Ảnh đã mang tin mật (Stego Image) Kết thúc RSA

Thuật toán giấu tin

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các kỹ thuật ẩn tin, giấu tin kết hợp mã hóa trong môi trường đa phương tiện để đảm bảo an toàn thông tin và xây dựng ứng dụng (Trang 55 - 57)

Tải bản đầy đủ (PDF)

(69 trang)