Trong đó mật hóa bằng cách sử dụng hệ mã hóa công khai RSA được sử dụng tương đối phổ biến và rộng rãi để đảm bảo an toàn trong trao đổi thông tin.. TỔNG QUAN VỀ MẬT MÃ Hệ mã hóa bất đố
Trang 1Họ Tên
Th.s : Lê Xuân Bằng
Th.s : Trịnh Quang Kiên
Trang 2LỜI NÓI ĐẦU
và diễn ra trên khắp mọi nơi Yêu cầu đối với quá trình trao đổi phải đảm bảo tin cậy và an toàn cao
diễn ra từ rất lâu Với nhiều các phương pháp mã hóa, bảo mật khác nhau cùng với mức độ bảo mật Trong đó mật hóa bằng cách
sử dụng hệ mã hóa công khai RSA được sử dụng tương đối phổ biến và rộng rãi để đảm bảo an toàn trong trao đổi thông tin
sự hướng dẫn và gợi ý của Thầy giáo Th.s Trịnh Quang Kiên
chúng tôi đã chọn đề tài “HỆ MÃ HÓA KHÓA CÔNG KHAI
RSA”
Trang 3Hiện thực hóa và kiểm tra thiết kế trên FPGA
Trang 4A NGHIÊN CỨU
CHI TIẾT VỀ THUẬT TOÁN MÃ
HÓA RSA
Trang 5I TỔNG QUAN VỀ MẬT MÃ
Hệ mã hóa bất đối xứng: sử dụng 2 khóa khác nhau để mã hóa và giải mã Hệ mã này có ưu điểm là có khả năng thay đổi khóa dễ dàng, tính bảo mật cao do sử dụng key mã hóa
và giải mã khác nhau, được sử dụng rộng rãi trong hệ thống nhiều người dùng, tuy nhiên tốc độ mã hóa và giải mã chậm
Hệ mã hóa đối xứng: còn được gọi là hệ mã khóa đơn(chỉ sử dụng 1 key trao cho người mã hóa và giải mã) Đối với hệ mã hóa này có ưu điểm là tốc
độ mã hóa và giả mã nhanh nhưng dễ dàng bị người khác giải mã khi biết được khóa
Trang 6II.THUẬT TOÁN MÃ HÓA RSA
1 Đặc điểm của thuật toán mã hóa RSA:
Có độ bảo mật cao
Quá trình mã hóa và giải mã nhanh, tốn ít tài nguyên
Có nhiều ứng dụng rộng rãi
2 Mô tả mã RSA
Thuật toán RSA có 2 khóa:
+ Khóa công khai: được công bố rộng rãi cho mọi người và được dùng để mã hóa
+ Khóa bí mật: chỉ có người nhận mới được biết và được sử dụng để giải mã
Trang 7II THUẬT TOÁN MÃ HÓA RSA
3 Mô tả hoạt động
Chọn p,q nguyên tố Tính M =p*q
Trang 8III Tính bảo mật
Độ an toàn của hệ thống RSA dựa trên bài toán phân tích ra thừa số nguyên tố các số nguyên lớn Do đó khi số càng lớn thì thời gian phân tích càng lâu
Trang 9IV ỨNG DỤNG
Được sử dụng trong chữ kí điện tử
Thiết bị phát sinh mã để giao dịch trong ngân hàng
bộ, cổng thông tin,…
các mục tiêu an ninh trên phạm vi rộng
RSA enVision: đưa ra các cảnh báo, phân tích các dữ liệu đăng nhập cho các tổ chức để đơn giản hóa các thủ tục và đáp ứng sự bảo mật cao
…
Trang 10B Xây dựng và thiết kế
khối mã hóa, giải mã
RSA trên ngôn ngữ mô
tả phần cứng VHDL
Trang 11- B là bản gốc đối với quá trình giả mã hoặc bản mã
đối với quá trình mã hóa
- e là khóa công khai đối với mã hóa, là khóa bí mật
đối với quá trình giả mã
- M là tích của 2 số nguyên tố p và q
Trang 12 Để xác định giá trị của biểu thức(*) ta có nhiều cách khác nhau Nhưng đối với nhưng giá trị lớn thì quá trình tính đòi hỏi thời gian tính phải nhanh, tốn ít tài nguyên sử dụng của hệ thống Do đó ta sử dụng thuật toán Montgomery
Cơ sở toán học thuật toán Montgomery
MontABM (A,B,M) = A.B.2-n mod M
MonExp (A,e,M) = Ae mod M
Trang 13For i=k-1 downto 0 do
R = MontABM (A,A,M); (Square)
Trang 14If (S > M) then return (S-M)
Else return S
}
Trang 15SƠ ĐỒ KHỐI RSA
Trang 16Khối MontABM(A,B,M)
Trang 17Khối MonExp(A,e,M)
Trang 18C Mô phỏng trên phần
mềm modelsim và hiện thực
hóa trên mạch FPGA
Trang 20Kết quả mô phỏng trên modelsim
Giá trị đầu vào
Kết quả
Chân báo hiệu
thực hiện
xong
Trang 21 Kết quả thu được :
B = x"243224B8014FD9D2FE0E5C78DFDD3ED6"
Tổng thời gian từ khi bit R_St = „1‟ cho đến khi có kết quả đầu ra R_Do = „1‟ là 1755600 ns tương ứng 17556 xung nhịp
Tốc độ mã hóa : 17556/128 = 137 clk/bit
Trên thực tế khi kết hợp với khối UART 9600, tốc độ mã hóa lớn hơn nhiều lần tốc độ khối UART do đó tốc độ mã hóa toàn hệ thống chủ yếu phụ thuộc vào tốc độ dữ liệu
đầu vào khối mã hóa RSA
Với đầu vào đã chọn trước ta tiến hành xác định trước bằng các phép tính số học để xác định được kết quả
Khối đã làm việc đảm bảo đúng yêu cầu bài toán
Trang 22II Hiện thực hóa trên FPGA
• Thực hiện chạy chương trình, kiểm tra hoạt động của toàn khối Tại đầu ra ta thu được kết quả sau khi chạy Kiểm tra kết quả ra này với kết quả đã tính trước ta thấy kết quả
đúng
Trang 23Device Utilization Summary [-] Logic Utilization Used Available Utilization Note(s)
Number of Slice Flip Flops 4,526 9,312 48%
Number of 4 input LUTs 4,290 9,312 46%
Number of occupied Slices 4,334 4,656 93%
Number of Slices containing
only related logic 4,334 4,334 100%
Number of Slices containing
unrelated logic 0 4,334 0%
Total Number of 4 input LUTs 5,170 9,312 55%
Number used as logic 4,258
Number used as a route-thru 880
Number used for Dual Port
Trang 24Tham số thời gian mạch
Trang 25KẾT LUẬN
Trong phạm vi đề tài đã cho ta cách nhìn tổng quan nhất
về mã mật nói chung và mã RSA nói riêng Phạm vi đề tài
đã nghiên cứu chi tiết về cách thức tạo khóa, thuật toán
mã hóa và giải mã RSA
đã xây dựng cho ta kết quả đúng như yêu cầu bài toán đặt
ra
Trang 26Mã hóa khóa công khai RSA
Xin chân thành cảm ơn!