Số nguyên tố lớn trong khóa học của tui

Bài này để quảng cáo cho 🥰 khóa học của tui 🥰

Các bạn là 😘 học sinh cấp 2-3 😘 nếu học khóa này tui sẽ 😉 thiết kế nội dung đặc biệt 😉 để các bạn hiểu rõ hơn về 😍 máy tính, hệ điều hành, các công nghệ, công cụ, phần mềm, ứng dụng 😍 thế giới đang xài 🙄 có nền tảng là gì 🙄

→ các bạn đăng kí theo nhóm 🥰 từ 3 người trở lên 🥰 sẽ được giảm học phí

Công nghệ (technology) thì chỉ có vài cái thoai còn 😅 công cụ (utility, tool, toolkit – bộ công cụ) cho công nghệ 😅 thì có rất nhiều

→ nhìu ngừ nói là bạn đang lạc lối giữa 1 rừng công nghệ gì đó là hổng đúng nhen 🤣🤣🤣


  • Học lập trình căn bản bằng C, C++, Python hay Scratch cho các bạn nhỏ thường gặp bài toán này

1. Nhập vào 1 số, kiểm tra số đó có phải là số nguyên tố hem in ra màn hình câu thông báo

→ nói kiểu khác là

Viết chương trình kiểm tra số nguyên tố nhập từ bàn phím

2. Nhập vào 1 số, in ra các số nguyên tố nhỏ hơn hoặc bằng nó

→ thường xài cái sàng lúa hay sàng gạo của ông Eratosthenes (sieve of Eratosthenes) người Hy Lạp cách đây hơn 2200 năm hay gì á

  • Số nguyên tố lớn để làm zì zạ?

→ làm cái này: chứng chỉ SSL (SSL certificate) giúp mã hóa thông tin truyền giữa Web ServerWeb Client như Cốc Cốc, Chrome, Firefox, Opera, Microsoft Edge…

→  Khóa chung (public key) xài thuật toán RSA dài 2048 bit

  • Dậy thì mình thử tạo ra 1 số nguyên tố ngẫu nhiên dài 2048 bit coi sao hen

→ mỗi lần chạy sinh ra 1 số nguyên tố khác dài đủ 2048 bit

  • Tạo số nguyên tố nguyên dài 4096 bit đi → nghe nói mã hóa mạnh hơn á nhưng hình như thời gian tạo lâu hơn, mã hóa, giải mã cũng lâu hơn

Hình trên cùng có chữ cái A, B, C, D, E, F mà ta

  • À do tui tạo số trong hệ thập phân (thập = 10, phân = phân chia) aka hệ 10 (10 chữ số từ 0 đến 9) → cho dễ nhìn

→ muốn tạo ở hệ 16 chữ số (thập lục phân, thập = 10, lục = 6, phân = phân chia) – hexadecimal cho gọn gọn lại cũng dễ thoai

→ dễ thấy lịnh 1 có 4 dòng, lịnh 2 có 5 dòng → lịnh 1 ngắn hơn lịnh 2, đó là điều phải chứng minh (đpcm)

  • Số dài quá nhìn rối mắt, số nhỏ hơn đi hen
  • Chuyển số nguyên tố sang hệ 2 – nhị phân cho đẹp mắt hơn

  • 1 cách chắc kèo hơn, nếu n là số nguyên tố thì (n-1)/2 cũng là số nguyên tố ta có

→ đã là ngẫu nhiên thì các số nguyên tố sinh ra lần sau phải khác lần trước đúng hem? chạy lần nữa là bít liền hà

  • Nghe đồn là ngừ ta chỉ tạo ra số nguyên tố giả hay số giả nguyên tố – pseudoprime thui á

→ kiểm tra số nguyên tố giả đó 1 số lần → nếu ok thì xem 🤣 hàng giả là hàng thiệt 🤣 ha ha

→ tùy chọn -checks n zới n = 20 mặc định (default) → muốn kiểm tra thêm thì 😂 tùy ý thí chủ 😂

Pseudoprime

openssl prime


  • echo thua printf vụ canh ngay hàng thẳng lối

  • Rất ít phần mềm, ứng dụng nào viết thư viện mã hóa riêng → trừ khi đó là 😂 phần mềm an toàn thông tin hổng mún phụ thuộc zào ai 😂

→ phần lớn đều móc vào thư viện mã hóa mã nguồn mở miễn phí như OpenSSL

  • Năm 2014 ngừ ta phát hiện OpenSSL có lỗi rất nghiêm trọng và đặt tên là trái tim rỉ máu – Heartbleed, mã lỗi CVE-2014-0160CVE = Common Vulnerabilities and Exposures

Lỗ hổng bảo mật heartbleed và những hậu quả nghiêm trọng

The Heartbleed Bug

→  cũng là 1 kỉ niệm làm việc của tui, kiếm miếng vá lỗi từ nhà cung cấp roài vá lẹ lẹ để 🥰 báo cáo ngân hàng nhà nước 🥰

  • Các thư viện mã hóa khác như Botan, Bouncy Castle, cryptlib, Crypto++, GnuTLS, Default JCA/JCE providers, LibreSSL, Libgcrypt, libsodium, Mbed TLS, NaCl, Nettle, Network Security Services (NSS), wolfCrypt, BSAFE → xem link dưới

So sánh các thư viện mã hóa

🥰 Khóa học của tui 🥰 giúp các bạn hiểu rõ nhiều cái bên trong và bên ngoài máy tính để làm coder hay programmer

  • Coder móc vào library, framework có sẵn rồi xài
  • Programmer viết ra: hệ điều hành, phần mềm, library, framework, ứng dụng lớn

Chúc các bạn tìm thấy 😘 niềm vui trong học hành IT và sống được bằng nghề IT 😘 nếu chọn nó