1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu tấn công lược đồ ký số ECDSA liên quan bộ tạo số ngẫu nhiên

63 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 1,37 MB

Nội dung

ECDSA lần đầu tiên được đề xuất vào năm 1992 bởi Scott Vanstone và được phê duyệt thành tiêu chuẩn của ANSI (Viện tiêu chuẩn quốc gia Hoa Kỳ) vào năm 1999 (ANSI X9.621998). ECDSA được ứng dụng rộng rãi trong rất nhiều lĩnh vực cần tính bảo mật, đặc biệt như trong Blockchain. Công nghệ Blockchain trở thành xu hướng chính trong cuộc cách mạng công nghệ 4.0. Để đảm bảo cho một chuỗi khối hoạt động thì chữ ký số đóng một vai trò rất quan trọng. Chữ ký số có liên quan đến hai giai đoạn là giai đoạn ký và giai đoạn xác minh các giao dịch. Lược đồ chữ ký số điển hình được sử dụng trong công nghệ Blockchain là ECDSA, đặc biệt là ECDSA trên đường cong SECP256K1. Tuy nhiên việc sử dụng giá trị Nonce không đúng trong ECDSA trên đường cong SECP256K1 có thể dẫn đến các tấn công tìm được khóa riêng. Trên cơ sở từ thực tiễn đấy, em đã chọn đề tài Nghiên cứu một số tấn công tìm khóa riêng liên quan việc thực thi giá trị Nonce trong chuẩn ký số ECDSA SECP256K1 làm đồ án tốt nghiệp của mình. Việc nghiên cứu giúp em hiểu rõ hơn về chuẩn ký số ECDSA đặc biệt về các nguy cơ mất an toàn và giải pháp phòng chống.

BỘ THƠNG TIN VÀ TRUYỀN THƠNG HỌC VIỆN BƯU CHÍNH VIỄN THÔNG ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU MỘT SỐ TẤN CƠNG TÌM KHĨA RIÊNG LIÊN QUAN VIỆC THỰC THI GIÁ TRỊ NONCE TRONG CHUẨN KÝ SỐ ECDSA SECP256K1 Giảng viên hướng dẫn Học viên thực Lớp Khóa Chuyên ngành : TS Nguyễn Đại Phúc : Ngô Trung Bảo : K28 : 28 : Công nghệ thơng tin Hà Nội, 2023 BỘ THƠNG TIN VÀ TRUYỀN THƠNG HỌC VIỆN BƯU CHÍNH VIỄN THƠNG ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU MỘT SỐ TẤN CÔNG TÌM KHĨA RIÊNG LIÊN QUAN VIỆC THỰC THI GIÁ TRỊ NONCE TRONG CHUẨN KÝ SỐ ECDSA SECP256K1 Giảng viên hướng dẫn Học viên thực Lớp Khóa Chuyên ngành : TS Nguyễn Đại Phúc : Ngô Trung Bảo : K28 : 28 : Công nghệ thông tin Hà Nội, 2023 LỜI CẢM ƠN Trước tiên, em xin tỏ lòng biết ơn sâu sắc tới tồn thể thầy, giáo trường HỌC VIỆN BƯU CHÍNH VIỄN THƠNG, đặc biệt thầy, cô giáo Khoa công nghệ thông tin dạy dỗ, truyền đạt kiến thức quý báu cho em suốt năm học tập rèn luyện trường Vốn kiến thức mà thầy, cô truyền đạt không tảng cho trình nghiên cứu đồ án tốt nghiệp mà cịn hành trang quý báu để em bước vào thực tế cơng việc Qua gần tháng tìm hiểu, em hồn thành đồ án tốt nghiệp Đặc biệt, để hồn thành đồ án này, em xin gửi lời cảm ơn chân thành tới thầy giáo TS Nguyễn Đại Phúc tận tình hướng dẫn, bảo, nhắc nhở giúp đỡ em suốt thời gian làm đồ án vừa qua Được hoàn thành thời gian hạn hẹp với vốn kiến thức hạn chế, đồ án em chắn có nhiều thiếu sót, khuyết điểm Em kính mong nhận nhận xét góp ý từ q thầy để em tiếp tục sâu tìm hiểu mở rộng nhằm hoàn thiện phát triển đề tài Em xin chân thành cảm ơn! i LỜI CAM ĐOAN Tôi xin cam đoan đồ án tự nghiên cứu hướng dẫn thầy giáo TS Nguyễn Đại Phúc Để hồn thành đồ án này, tơi sử dụng tài liệu ghi mục tài liệu tham khảo, ngồi khơng sử dụng tài liệu khác mà không ghi Nếu sai tơi xin chịu hình thức kỷ luật theo quy định Học viện Hà Nội, ngày tháng năm 2023 Học viên thực (Ký ghi rõ họ tên) Ngô Trung Bảo ii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii CÁC KÝ HIỆU, CHỮ VIẾT TẮT v DANH MỤC HÌNH VẼ vi LỜI MỞ ĐẦU vii CHƯƠNG 1: Tổng quan chữ ký số 1.1 Khái niệm 1.2 Một số lược đồ ký số phổ biến 1.2.1 Lược đồ chữ ký số RSA 1.2.2 Lược đồ chữ ký số Elgamal 1.3 Vai trò, ứng dụng chữ ký số 10 1.4 Kết luận chương 12 CHƯƠNG 2: Nghiên cứu số công lên ECDSA SECP256K1 liên quan giá trị Nonce 13 2.1 Lược đồ ký số ECDSA SECP256K1 13 2.1.1 Các tham số miền ECDSA SECP256K1 13 2.1.2 Thuật tốn tạo khóa 17 2.1.3 Thuật toán ký 18 2.1.4 Thuật toán kiểm tra 19 2.1.5 Nhận xét độ an toàn lược đồ ECDSA 21 2.2 Tấn công lược đồ ký số ECDSA SECP256K1 liên quan giá trị Nonce 23 2.2.1 Tấn cơng tìm khóa riêng ECDSA SECP256K1 từ rò rỉ giá trị Nonce 23 iii 2.2.2 Tấn cơng tìm khóa riêng ECDSA SECP256K1 với giá trị Nonce tương tự dùng 24 2.3 Biện pháp phòng chống 26 2.4 Ứng dụng ECDSA SECP256K1 Blockchain 27 2.4.1 Ký xác minh giao dịch Blockchain 28 2.4.2 Địa dẫn xuất địa blockchain 31 2.5 Kết luận chương 32 CHƯƠNG 3: Thực thi số cơng tìm khóa riêng liên quan giá trị Nonce ECDSA SECP256K1 33 3.1 Cài đặt ECDSA SECP256K1 33 3.1.1 Một số lưu đồ giải thuật chương trình 33 3.1.2 Cài đặt thử nghiệm chương trình thử nghiệm chương trình 37 3.2 Thực thi công 42 3.2.1 Tấn công tìm khóa riêng sử dụng lại nonce người dùng 42 3.2.2 Tấn cơng tìm khóa riêng sử dụng lại nonce hai người dùng 43 3.3 Cài đặt giải pháp đánh giá 45 3.3.1 Cài đặt giải pháp 45 3.3.2 Đánh giá 49 3.4 Kết luận chương 49 KẾT LUẬN 50 TÀI LIỆU THAM KHẢO 51 iv CÁC KÝ HIỆU, CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt ANSI American National Standard Viện tiêu chuẩn quốc gia Hoa Kỳ Institute DLP Discrete Logarithm Problem Bài toán logarithm rời rạc ECC Elliptic Curve Cryptosystem Hệ mật đường cong Elliptic ECDSA Elliptic Curve Digital Signature Thuật toán chữ ký số đường Algorithm cong Elliptic Federal Information Tiêu chuẩn xử lý thông tin liên Processing Standard bang Hash - based Message Mã xác thực thông báo dựa Authentication Code hàm hash International Organization for Tổ chức tiêu chuẩn hóa quốc tế FIPS HMAC ISO Standardization OS2I Octet String to Integer NIST The National Institute of Hàm biến đổi chuỗi octet thành số nguyên Viện tiêu chuẩn công nghệ Standards and Technology quốc gia PoS Proof of Stake Thuật toán chứng cổ phần PoW Proof of Work Thuật tốn chứng cơng việc RFC Request for Comments Đề nghị duyệt thảo bình luận RSA Rivest–Shamir–Adleman Thuật tốn mã hóa khóa cơng khai RSA RNG Random Number Generator Sinh số ngẫu nhiên SHA Secure Hash Algorithm Thuật tốn băm an tồn v DANH MỤC HÌNH VẼ Hình 1.1 Sơ đồ tạo kiểm tra chữ ký số Hình 1.2: Sơ đồ hoạt động lược đồ chữ ký số RSA Hình 1.3: Sơ đồ hoạt động lược đồ chữ ký số Elgamal Hình 2.1: Đường cong y2 = x3 + 15 Hình 2.2: Quy trình tính tốn chữ ký 18 Hình 2.3: Quy trình kiểm tra chữ ký 20 Hình 2.4: Khuyến nghị NIST độ bảo mật thời gian sử dụng thuật toán mật mã năm 2020 22 Hình 2.5: Các bước thực giao dịch Blockchain 29 Hình 3.1: Lưu đồ thuật tốn tạo khóa chữ ký số ECDSA SECP256K1 33 Hình 3.2: Lưu đồ thuật toán tạo chữ ký số ECDSA SECP256K1 34 Hình 3.3: Lưu đồ thuật toán kiểm tra chữ ký số ECDSA SECP256K1 36 Hình 3.4: Giao diện Mơ-đun sinh khóa 37 Hình 3.5: Giao diện mô-đun Tạo chữ ký 38 Hình 3.6: Giao diện mơ-đun Xác minh chữ ký 38 Hình 3.7: Mơ tả kết sinh khóa dùng cho ký số 39 Hình 3.8: Mô tả kết tạo chữ ký 40 Hình 3.9: Kết kiểm tra chữ ký (hợp lệ) 40 Hình 3.10: Kết kiểm tra chữ ký (không hợp lệ) 41 Hình 3.11: Giao diện phần mềm mơ cơng tìm khóa riêng sử dụng lại nonce người dùng 42 Hình 3.12: Kết cơng tìm khóa bí riêng sử dụng lại nonce người dùng 43 Hình 3.13: Giao diện phần mềm mơ cơng tìm khóa riêng sử dụng lại nonce hai người dùng 44 Hình 3.14: Kết cơng tìm khóa bí riêng sử dụng lại nonce bởi hai người dùng 44 Hình 3.15: Lưu đồ thuật toán sinh k theo RFC 6979 46 vi LỜI MỞ ĐẦU Tính cấp thiết đề tài Hiện nay, bùng nổ mạnh mẽ mạng Internet đóng vai trị quan trọng to lớn cho phát triển xã hội Bên cạnh lợi ích lớn lao mạng lại mạng Internet ln tiềm ẩn rủi ro gây an tồn liệu người dùng, tính bảo mật riêng tư Do cần có biện pháp để ngăn chặn nguy Chữ ký số phương pháp hiệu nhằm đảm bảo tính xác thực nguồn gốc liệu Mọi thay đổi sau tài liệu ký không hợp lệ, ngăn chặn việc giả mạo chống chối bỏ Hiện có nhiều thuật tốn chữ ký số sử dụng số thuật tốn chữ ký số dự đường cong Elliptic (ECDSA – Elliptic Curve Digital Signature Algorithm) ECDSA lần đề xuất vào năm 1992 Scott Vanstone phê duyệt thành tiêu chuẩn ANSI (Viện tiêu chuẩn quốc gia Hoa Kỳ) vào năm 1999 (ANSI X9.621998) ECDSA ứng dụng rộng rãi nhiều lĩnh vực cần tính bảo mật, đặc biệt Blockchain Công nghệ Blockchain trở thành xu hướng cách mạng cơng nghệ 4.0 Để đảm bảo cho chuỗi khối hoạt động chữ ký số đóng vai trị quan trọng Chữ ký số có liên quan đến hai giai đoạn giai đoạn ký giai đoạn xác minh giao dịch Lược đồ chữ ký số điển hình sử dụng công nghệ Blockchain ECDSA, đặc biệt ECDSA đường cong SECP256K1 Tuy nhiên việc sử dụng giá trị Nonce không ECDSA đường cong SECP256K1 dẫn đến cơng tìm khóa riêng Trên sở từ thực tiễn đấy, em chọn đề tài "Nghiên cứu số cơng tìm khóa riêng liên quan việc thực thi giá trị Nonce chuẩn ký số ECDSA SECP256K1" làm đồ án tốt nghiệp Việc nghiên cứu giúp em hiểu rõ chuẩn ký số ECDSA đặc biệt nguy an tồn giải pháp phịng chống vii Mục tiêu đề tài: - Tìm hiểu lược đồ ký số ECDSA đường cong SECP256K1; - Nghiên cứu công lên ECDSA SECP256K1 liên quan giá trị Nonce; - Thực thi công lên ECDSA SECP256K1 tìm khóa riêng liên quan giá trị Nonce Kết cấu đồ án tốt nghiệp Sau tìm hiểu, nghiên cứu, nội dung kết đồ án trình bày ba chương sau: Chương 1: Tổng quan chữ ký số Chương trình bày kiến thức tảng chữ ký số lược đồ chữ ký số phổ biến Chương 2: Nghiên cứu số công lên ECDSA SECP256K1 liên quan giá trị Nonce Chương giới thiệu lược đồ ký số ECDSA SECP256K1 phân tích công lược đồ ký số ECDSA SECP256K1 liên quan giá trị Nonce từ đưa biện pháp để phịng chống nguy cơng Chương 3: Thực thi số cơng tìm khóa riêng liên quan giá trị Nonce ECDSA SECP256K1 Chương thực thi cơng tìm khóa riêng liên quan giá trị Nonce ECDSA SECP256K1 Cuối phần kết luận, tóm lược lại kết đạt đề xuất hướng phát triển tương lai viii + Khóa cơng khai người ký Nếu trường nhập thiếu có cảnh báo quay lại 3.1.2.2 Thử nghiệm chương trình a) Sinh khóa Hình 3.7 kết cặp khóa tạo mơ-đun tạo khóa: Hình 3.7: Mơ tả kết sinh khóa dùng cho ký số Sau nhấn vào “Sinh khóa”, kết sinh cặp khóa riêng khóa cơng khai Hai giá trị khóa người dùng lưu vào hai file định dạng txt khác để sử dựng sau b) Tạo chữ ký Bước 1: Chọn file để ký File cần ký có tên test.txt với nội dung sau: Bước 2: Chọn khóa riêng người tạo chữ ký Giả sử sử dụng khóa riêng tạo Bước 3: Ấn nút “Tạo chữ ký” để thực trình tạo chữ ký cho file tài liệu đầu vào Kết tạo chữ ký hiển thị hình 3.8 39 Hình 3.8: Mơ tả kết tạo chữ ký c) Xác minh chữ ký Bước 1: Chọn file cần kiểm tra chữ ký Bước 2: Chọn file chữ ký tài liệu Bước 3: Chọn file khóa cơng khai Ví dụ 1: Giữ ngun nội dung file, khơng sửa đổi File cần kiểm tra test.txt, file chữ ký file vừa lưu file khóa cơng khai lưu dạng txt Nội dung file chữ ký sau nhập vào hiển thị lên mục “Chữ ký” Nội dung file khóa cơng khai hiển thị mục “Khóa cơng khai” Tiến hành xác thực chữ ký Kết hợp lệ cho thông báo hình Hình 3.9: Kết kiểm tra chữ ký (hợp lệ) Ví dụ 2: Thay đổi nội dung file test.txt cần xác thực tiến hành kiểm tra với chữ ký chưa thay đổi nội dung file ban đầu 40 Nội dung file sau sửa: Kết chương trình trả thơng báo sau: Hình 3.10: Kết kiểm tra chữ ký (không hợp lệ) Như sau thay đổi nội dung file cần ký chương trình thơng báo “Chữ ký bị thay đổi” Ví dụ 3: Thay đổi nội dung file khoacongkhai.txt lưu trữ khóa cơng khai để xác thực tiến hành kiểm tra với chữ ký chưa thay đổi nội dung file ban đầu Kết chương trình trả thông báo sau: 41 3.2 Thực thi công Nội dung phần mơ lại tính tốn cơng tìm khóa riêng liên quan đến việc sử dụng lại giá trị nonce trình bày mục 2.2.2 3.2.1 Tấn cơng tìm khóa riêng sử dụng lại nonce người dùng Hình 3.11 giao diện phần mềm mô công tìm khóa riêng sử dụng lại nonce người dùng: Hình 3.11: Giao diện phần mềm mơ cơng tìm khóa riêng sử dụng lại nonce người dùng Đầu vào gồm có tài liệu người dùng nhập vào Để tạo chữ ký cho văn bản, phần mềm sinh ngẫu nhiên khóa riêng d thực ký số tài liệu Trong trình sinh chữ ký cho tài liệu này, sử dụng mặc định giá trị nonce k Sau nhập đầu vào nhấn nút “Sinh chữ ký tìm khóa” để chạy chương trình đưa kết đầu Kết đầu bao gồm chữ ký số tài liệu, giá trị khóa riêng d giá trị k chương trình sử dụng hiển thị “Khóa bí mật” “Giá trị k”; giá trị khóa riêng 𝑑 giá trị 𝑘 tìm hiển thị “Khơi phục khóa riêng” “Khơi phục giá trị k” Đoạn mã thực chương trình sau: BigInteger tim_k = ((e1-e2)*((s1s2).ModInverse(Secp256k1.N))).Mod(Secp256k1.N); 42 BigInteger tim_kbm = ((s2*e1-s1*e2)*((signature1.Item1*(s1s2)).ModInverse(Secp256k1.N))).Mod(Secp256k1.N); Nội dung thực nghiệm sau: Hai văn đầu vào có nội dung sau: Sau nhấn vào “Sinh”, chương trình xuất chữ ký tài liệu trên, giá trị 𝑑 𝑘 sử dụng thuật toán tạo chữ ký số ECDSA SECP256K1 tính tốn theo cơng thức mục 2.2.2 Hình 3.12: Kết cơng tìm khóa riêng sử dụng lại nonce người dùng 3.2.2 Tấn cơng tìm khóa riêng sử dụng lại nonce hai người dùng Hình 3.13 giao diện phần mềm mơ cơng tìm khóa riêng sử dụng lại nonce người dùng: 43 Hình 3.13: Giao diện phần mềm mơ cơng tìm khóa riêng sử dụng lại nonce hai người dùng Đầu vào gồm có tài liệu người dùng khác Trong trình ký số tài liệu này, gắn mặc định sử dụng giá trị nonce k để tạo chữ ký Sau nhập đầu vào nhấn nút “Sinh chữ ký” để chương trình đưa kết đầu Kết tạo chữ ký số văn bản, khóa riêng người dùng xuất “Khóa riêng A” “Khóa riêng B” Sau ấn nút “Tìm khóa riêng” để tính khóa riêng lẫn người dùng A, B theo công thức mục 2.2.2 thu kết hình 3.14: Hình 3.14: Kết cơng tìm khóa riêng sử dụng lại nonce bởi hai người dùng Đoạn mã thực chương trình sau: 44 BigInteger d2_tim = ((s2 * e1 - s1 * e2+s2*r1*d1) * ((s1*r1).ModInverse(Secp256k1.N))).Mod(Secp256k1.N); BigInteger d1_tim = ((s1 * e2 - s2 * e1 + s1 * r2 * d2) * ((s2 * r2).ModInverse(Secp256k1.N))).Mod(Secp256k1.N); 3.3 Cài đặt giải pháp đánh giá 3.3.1 Cài đặt giải pháp Đầu vào thuật tốn bao gồm: khóa riêng bí mật kích thước 256 bit sử dụng để tạo chữ ký, thơng báo M có kích thước giá trị n bậc điểm sở G nêu mục 2.1.1 Đầu thuật toán giá trị ngẫu nhiên ≤ 𝑘 ≤ 𝑛 − Thuật toán tạo tham số k minh họa Hình 3.15 45 Bắt đầu Tham số miền SECP256k1 Khóa bí mật d Thơng báo m h=H(m) V=0x01 0x01 K=0x00 0x00 0x01 0x00 K=HMAC_K(V||0X00||int2octects(d)||bit2octects(h)) V=HMAC_K(V) K=HMAC_K(V||0X01||int2octects(d)||bit2octects(h)) V=HMAC_K(V) T=[ ] V=HMAC_K(V) T=T||V Đúng tlen> (l – qlen); return secret; } Sau có hàm sinh 𝑘, thuật tốn sinh chữ ký, ta gọi hàm sinh 𝑘 để sử dụng sau: BigInteger k = RFC6979.GenerateK(Secp256k1.N, privateKey, 32, message); 3.3.2 Đánh giá Việc sinh giá trị nonce 𝑘 theo RFC 6979 nhằm tạo chữ ký số tất định có đặc tính sau: - Chữ ký tạo hồn tồn tương thích với ECDSA túy Các thực thể xác minh chữ ký không cần phải thay đổi chí phải biết quy trình sử dụng để tạo 𝑘 - Việc tạo cặp khóa khơng bị thay đổi Các khóa riêng sử dụng với ECDSA tất định Việc tính giá trị k RFC 6979 tính thơng qua hàm HMAC với đầu vào khóa riêng rõ Vì vậy, an toàn giá trị k phụ thuộc vào hàm HMAC sử dụng hàm băm mật mã sử dụng kiến trúc HMAC Để tránh trùng lặp (va chạm) giá trị k hàm băm mật mã sử dụng kiến trúc HMAC phải đủ an tồn Theo khuyến nghị NIST nên dùng SHA2 SHA3 với phiên có độ dài đầu 256 512 bit Và 𝑛 độ an toàn chống va chạm sinh giá trị k 22 với n kích cỡ bit đầu hàm băm Độ an toàn trích dẫn dựa cơng nghịch lý ngày sinh nhật 3.4 Kết luận chương Dựa vào kiến thức lý thuyết tìm hiểu hai chương trước, chương tiến hành cài đặt chương trình mơ lược đồ ECDSA đường cong SECP256K1 Tiến hành thực thi tìm khóa riêng liên quan đến việc sử dụng lại giá trị nonce 𝑘 thử nghiệm giải pháp phòng chống việc sử dụng lại giá trị nonce theo RFC 6979 49 KẾT LUẬN Sau thời gian nỗ lực nghiên cứu, tìm hiểu giúp đỡ, tạo điều kiện giảng viên hướng dẫn TS Nguyễn Đại Phúc, em hoàn thành đồ án tốt nghiệp đề tài “Nghiên cứu số cơng tìm khóa riêng liên quan việc thực thi giá trị nonce chuẩn ký số ECDSA SECP256K1” Một số nội dung đồ án đạt sau: ➢ Tìm hiểu tổng quan chữ ký số, bao gồm: khái niệm, thuật toán, ứng dụng số lược đồ ký số phổ biến ➢ Tìm hiểu, nghiên cứu lược đồ chữ ký số đường cong Elliptic ECDSA tham số miền SECP256K1, công lên lược đồ liên quan đến giá trị k ➢ Đã thực cài đặt thành cơng chương trình mơ lược đồ chữ ký số ECDSA SECP256K1 ngơn ngữ lập trình C# ➢ Thực mơ tính tốn tìm khóa riêng liên quan giá trị Nonce cài đặt giải pháp phòng chống Tuy nhiên, thời gian thực đồ án chưa nhiều, kiến thức hạn chế, nội dung nghiên cứu liên quan đến nhiều lý thuyết toán học phức tạp nên tìm hiểu cơng tìm khóa riêng liên quan đến rò rỉ giá trị nonce k dừng lại mức độ giới thiệu mà chưa sâu vào tìm hiểu chi tiết Trong thời gian tới, có thời gian nghiên cứu nội dung liên quan đến đồ án, em thực theo hướng: ➢ Tìm hiểu, nghiên cứu sâu cơng tìm khóa riêng liên quan đến rị rỉ giá trị nonce 𝑘 ➢ Triển khai cài đặt lược đồ phần cứng nhằm tăng hiệu thực phục vụ cho số ứng dụng quan trọng 50 TÀI LIỆU THAM KHẢO Tiếng Việt [1] T.S Trần Duy Lai, Th.S Đinh Tiến Thành, (2013), Giáo Trình Mật mã lý thuyết, Nhà xuất thông tin truyền thông [2] T.S Nguyễn Quốc Tồn, Th.S Đinh Tiến Thành, (2013), Giáo Trình Mật mã ứng dụng, Nhà xuất thông tin truyền thông Tiếng Anh [3] American Bankers Association, (1999), ANSI X9.62-1998: Public Key Cryptography for the Financial Services Industry: the Elliptic Curve Digital Signature Algorithm (ECDSA) [4] Brengel Michael and Christian Rossow, (2018, September), Identifying key leakage of bitcoin users, In International symposium on research in attacks, intrusions, and defenses (pp 623-643) [5] Daniel R L Brown, (2009), Sec 1: Elliptic curve cryptography Certicom Research, [6] Daniel R L Brown, (2010), Sec 2: Recommended elliptic curve domain parameters, Standards for Efficient Cryptography [7] Gabrielle de Micheli, Nadia Heninger, (2020) Recovering cryptographic keys from partial information, by example,Cryptology ePrint Archive [8] Houria, Azine, Bencherif Mohamed Abdelkader, and Guessoum Abderezzak, (2019), A comparison between the secp256r1 and the koblitz secp256k1 bitcoin curves, Indonesian Journal of Electrical Engineering and Computer Science [9] Ismail, Leila, and Huned Materwala, (2019) A review of blockchain architecture and consensus protocols: Use cases, challenges, and solutions Symmetry [10] Pornin T, (2013), RFC 6979: Deterministic usage of the digital signature algorithm (DSA) and elliptic curve digital signature algorithm (ECDSA), The Internet Engineering Task Force 51 [11] WANG, Ziyu, et al, (2020), ECDSA weak randomness in Bitcoin Future Generation Computer Systems, 102, 507-513 [12] William J Buchanan (2021), ECDSA: Revealing the private key, if nonce known (SECP256K1), https://asecuritysite.com/ecc/ecd3 [13] William J Buchanan (2021), ECDSA: Revealing the private key, if nonce revealled (SECP256K1), https://asecuritysite.com/SECP256K1/ecd5 [14] Yaga, Dylan, et al, (2018), Blockchain Technology Overview (NISTIR8202), NIST: National Institute of Standards and Technology 52 BẢN XÁC NHẬN NƠI CHẾ BẢN IN ẤN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: “Nghiên cứu số cơng tìm khóa riêng liên quan việc thực thi giá trị nonce chuẩn ký số ECDSA SECP256K1” Giáo viên hướng dẫn: TS Nguyễn Đại Phúc Học viên thực hiện: Ngơ Trung Bảo Khóa: 28 Loại hình đào tạo: Tập trung Chuyên ngành: Công nghệ thông tin Đồ án tốt nghiệp đại học chế in ấn tại: Phịng đóng xén – HỌC VIỆN BƯU CHÍNH VIỄN THƠNG NGƯỜI THỰC HIỆN CHẾ BẢN: Nguyễn Tuấn Nam Hà Nội, ngày tháng năm 2023 XÁC NHẬN CỦA NƠI CHẾ BẢN (Ký, ghi rõ họ tên) Nguyễn Tuấn Nam

Ngày đăng: 09/06/2023, 07:07

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w