intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình an toàn: Chương 6 - Lương Ánh Hoàng

Chia sẻ: Diên Vu | Ngày: | Loại File: PDF | Số trang:17

45
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Lập trình an toàn - Chương 6: Mã hóa công khai" cung cấp cho người học các kiến thức: Mã hóa với OpenSSL RSA, chữ ký số, biểu diễn khóa, kết nối SSL, hạ tầng khóa công khai. Hi vọng đây là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình an toàn: Chương 6 - Lương Ánh Hoàng

Chương <br />  6. <br />  Mã <br />  hóa <br />  công <br />  khai <br />  <br /> Public <br />  Key <br />  Cryptography <br />  <br /> Lương <br />  Ánh <br />  Hoàng <br />  <br /> <br /> hoangla@soict.hut.edu.vn <br />  <br /> <br /> Nội <br />  dung <br />  <br /> 6.1 <br />  Mã <br />  hóa <br />  với <br />  OpenSSL <br />  RSA <br />  <br /> 6.2 <br />  Chữ <br />  ký <br />  số <br />  <br /> 6.3 <br />  Biểu <br />  diễn <br />  khóa <br />  <br /> 6.4 <br />  Kết <br />  nối <br />  SSL <br />  <br /> 6.5 <br />  Hạ <br />  tầng <br />  khóa <br />  công <br />  khai <br />  <br /> <br />  <br /> <br /> 102 <br />  <br /> <br /> 6.1 <br />  Mã <br />  hóa <br />  với <br />  OpenSSL <br />  RSA <br />   <br />  <br /> •  Mã <br />  hóa <br />  bất <br />  đối <br />  xứng <br />  <br /> <br /> •  Là <br />  các <br />  giải <br />  thuật <br />  sử <br />  dụng <br />  một <br />  cặp <br />  khóa <br />  cho <br />  việc <br />  mã <br />  hóa <br />  và <br />  giải <br />  mã <br />  <br /> •  Dữ <br />  liệu <br />  được <br />  mã <br />  hóa <br />  bằng <br />  khóa <br />  công <br />  khai <br />  sẽ <br />  được <br />  giải <br />  mã <br />  bằng <br />  <br /> khóa <br />  bí <br />  mật <br />  và <br />  ngược <br />  lại. <br />  <br /> •  Các <br />  giải <br />  thuật <br />  thông <br />  dụng: <br />  RSA, <br />  DSA, <br />  Dif}ie-­‐Hellman. <br />  <br /> •  Không <br />  sử <br />  dụng <br />  trực <br />  tiếp <br />  để <br />  mã <br />  hóa <br />  dữ <br />  liệu <br />  vì <br />  tốc <br />  độ <br />  rất <br />  chậm. <br />  <br /> •  Thường <br />  được <br />  sử <br />  dụng <br />  để <br />  <br /> •  Trao <br />  đổi <br />  khóa <br />  đối <br />  xứng <br />  trong <br />  phiên <br />  truyền <br />  mật <br />  <br /> •  Chữ <br />  ký <br />  số <br />  <br /> •  Xác <br />  nhận <br />  danh <br />  tính <br />  <br /> •  … <br />  <br /> <br /> 103 <br />  <br /> <br /> 6.1 <br />  Mã <br />  hóa <br />  với <br />  OpenSSL <br />  RSA <br />   <br />  <br /> •  OpenSSL <br />  RSA <br />  <br /> •  Thường <br />  được <br />  sử <br />  dụng <br />  trao <br />  đổi <br />  khóa <br />  <br /> •  Lưu <br />  trữ <br />  tất <br />  cả <br />  thông <br />  tin <br />  về <br />  một <br />  khóa <br />  dưới <br />  cấu <br />  trúc <br />  RSA. <br />  <br /> •  Tệp <br />  tiêu <br />  đề <br />  rsa.h <br />  <br /> •  Sinh <br />  cặp <br />  khóa <br />  đối <br />  xứng <br />  bằng <br />  hàm <br />   <br />  <br /> <br />  <br /> RSA <br />  *RSA_generate_key(int <br />  bits, <br />   <br />   <br />  // <br />  Kích <br />  thước <br />  khóa: <br />  1024,2048… <br />  <br /> <br />  <br /> <br />  <br /> <br />  unsigned <br />  long <br />  exp,// <br />  Số <br />  mũ: <br />  3, <br />  17, <br />  65537 <br />   <br />  <br /> <br />  <br /> <br />  <br /> <br />  void <br />  (*cb)(int, <br />  int, <br />  void), <br />   <br />  // <br />  Callback <br />  <br /> <br />  <br /> <br />  <br /> <br />  void <br />  *cb_arg); <br />  <br /> <br />   <br />  <br /> <br /> 104 <br />  <br /> <br /> 6.1 <br />  Mã <br />  hóa <br />  với <br />  OpenSSL <br />  RSA <br />   <br />  <br /> •  Mã <br />  hóa <br />  với <br />  khóa <br />  công <br />  khai <br />  <br /> •  Sử <br />  dụng <br />  hàm <br />  RSA_public_encrypt: <br />  <br /> <br />  int <br />  RSA_public_encrypt(int <br />  l, <br />  // <br />  Chiều <br />  dài <br />  dữ <br />  liệu <br />   <br />  <br /> <br />  <br /> <br />  <br /> <br />  unsigned <br />  char <br />  *pt, <br />  // <br />  Xâu/số <br />  cần <br />  mã <br />  <br /> <br />  <br /> <br />  <br /> <br />  unsigned <br />  char <br />  *ct, <br />  // <br />  Kết <br />  quả <br />  <br /> <br />  <br /> <br />  <br /> <br />  RSA <br />  *r, <br />   <br />  <br /> <br />   <br />   <br />   <br />  // <br />  Cấu <br />  trúc <br />  RSA<br /> <br />  <br /> <br />  <br /> <br />  int <br />  p); <br />  <br /> <br />   <br />   <br />   <br />  // <br />  Kiểu <br />  padding <br />  <br /> <br />  Kết <br />  quả <br />  trả <br />  về: <br />  chiều <br />  dài <br />  xâu <br />  mã <br />  được.<br /> <br />   <br />  <br /> <br /> 105 <br />  <br /> <br /> <br />   <br />  <br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2