Hành động
Tự động hóa bất kỳ quy trình làm việc
Gói
Máy chủ và quản lý các gói
Bảo vệ
Tìm và sửa chữa lỗ hổng
Không gian mã hóa
Môi trường dev tức thì
Phi công phụ
Viết mã tốt hơn bằng AI
Đánh giá mã
Quản lý thay đổi mã
Vấn đề
Lập kế hoạch và theo dõi công việc
Thảo luận
Hợp tác bên ngoài mã
- Khám phá
- Tất cả các tính năng
- Tài liệu
- Kỹ năng GitHub
- Thay đổi
- Theo kế hoạch
- Doanh nghiệp
- Đội
- So sánh tất cả
- Bằng giải pháp
- CI/CD & tự động hóa
- DevOps
- DevSecops
- Nghiên cứu trường hợp
- Câu chuyện của khách hàng
- Tài nguyên
Nhà tài trợ GitHub
Quỹ phát triển nguồn mở
Dự án Readme
Bài viết cộng đồng GitHub
- Kho lưu trữ
- Chủ đề
- Xu hướng
- Bộ sưu tập
- Giá cả
# Khái niệm cơ bản về thực hiện mật mã đường cong elip trên pythonimportcollectionsdefinv [n, q]: "" "Div trên pn modulo a/b mod % q == 1 "" "foriinrange [q]: if [n*i] % q == 1: returnipassassertFalse," chưa được sử dụng "passdefsqrt [n, q]:" "" Nếu không tồn tại >>> khẳng định [sqrt [n, q] [0] ** 2] % q == n >>> khẳng định [sqrt [n, q] [1] ** 2] % q == n " "" khẳng định import collections def inv[n, q]: """div on PN modulo a/b mod q as a * inv[b, q] mod q >>> assert n * inv[n, q] % q == 1 """ for i in range[q]: if [n * i] % q == 1: return i pass assert False, "unreached" pass def sqrt[n, q]: """sqrt on PN modulo: returns two numbers or exception if not exist >>> assert [sqrt[n, q][0] ** 2] % q == n >>> assert [sqrt[n, q][1] ** 2] % q == n """ assert n 1, self.add[m2, m2] pass # [ref] O[n] add #for i in range[n]: # r = self.add[r, p] # pass return r def order[self, g]: """order of point g >>> o = ec.order[g] >>> assert ec.is_valid[a] and ec.mul[a, o] == ec.zero >>> assert o