Chao xìn mọi người lại là mình đây Nhabachoc KAD.

Bài viết này có dành cho bạn?

Hành trang cần chuẩn bị:

Cùng tắt đèn bật ý tưởng, gét go 🪄

Như đã biết hệ thống thành luỹ của chúng ta bây giờ vô cùng vững chắc, các thông tin gần như không thể bị thay đổi nhưng nếu lại thiếu một điều vô cùng quan trọng là “giặc bên trong”. Chống giặc ngoài đã khó, đã vất vả thì những tên giả mạo dân thường <người dùng> này còn đau đầu hơn. Không làm mà vẫn có ăn, vui chơi trên công sức mồ hôi người khác vậy điều chúng ta thiếu đó là gì mà không bắt được bọn này?

Chính là XÁC MINH.

Ví dụ: bạn A có 15k, bạn B đóng giả thành bạn A mua hàng và nợ ông chủ quán 10k <nhưng ông chủ chưa đọc bài viết này nên không biết văn kiện nợ nần cần đóng dấu vân tay>. Khi ông chủ quán đến đòi nợ, bạn A ngỡ ngàng hoang mang hoảng loạn 😵‍💫 đi tìm quan báo cáo mình không hề nợ ai cả. Quan gọi ông bán hàng và những người liên quan đến tra hỏi nhưng vì B đóng giả quá đỉnh nên không để lộ thông tin gì và A shock quá bất tỉnh luôn 💥

Câu chuyện nhảm vừa rồi cho ta thấy một lỗ hổng đó chính là dù đã có bản ghi, bản ghi đã không bị thay đổi nhưng việc xác minh bản ghi là điều không thể, không có gì đối chứng hết. Nếu như có … à đúng rồi đấy, có cái thứ mà mình nói bên trên đó VÂN TAY thì mọi chuyện đã khác rồi.

Kỹ thuật đóng dấu vân tay, ký tên, đóng con dấu đỏ trong lĩnh vực bảo mật được gọi là Chữ ký số. Qua lỗ hổng trên thì bạn đã biết rằng chữ kỹ số được áp dụng vào đâu và để làm gì rồi nhưng trong máy tính thì chữ kỹ số không dễ hình dung như dấu vân tay mà để xác minh 1 bản ghi thì cần một loại mã hoá: Mã hoá bất đối xứng và cụ thể thì Bitcoin và ETH đang dùng mật mã đường cong ECC<Mình đã giới thiệu ở chương mã hoá rồi nhé>.

Vậy để tìm hiểu về chữ ký số hay cụ thể là EC??? ta hãy bắt đầu từ những thứ đơn giản nhất.

Private Key là gì?

Đây là chiếc chìa khóa cất giữ của cải gia tài của bạn, bạn đưa private key cho mình bạn mất hết, bạn để nhìn lén được private key bạn còn cái nịt và nếu bạn để mình hack được thì xin chia buồn với bạn, cái nịt cũng chẳng còn. Nghe qua thì thật đáng sợ phải không nhưng mà chỉ nổ to cho ghê gớm thôi 💣 💥

Private key <PrK> thực ra là con số rất lớn được sinh ngẫu nhiên. Ví dụ lấy ngẫu nhiên 1 con số trong khoảng từ {1,2,3,4,5} và kết quả là 5, 5 là PrK nhưng đời đâu dễ thế 💩  PrK có độ lớn là 256 bit vì thế PrK là con số ngẫu nhiên trong khoảng {0,…,115792089237316195423570985008687907853269984665640564039457584007913129639935} 😳 gì mà to thế:

Các bạn có thể xem cách chuyển từ binary sang decimal

Cách sinh số ngẫu nhiên

  1. Random từng bit 1 đến khi đủ 256bit