2011-07-03 42 views
5

Tôi muốn triển khai «công cụ mã hóa lai của riêng tôi» bằng cách sử dụng mật mã đường cong elip không đối xứng thay vì các thuật toán khác như RSA hoặc ElGamal.Triển khai ECC trong C

Giả sử rằng tôi muốn sử dụng các đường cong cung cấp bảo mật cao hơn, tôi nên sử dụng loại nào? Dựa trên những gì tôi đã đọc Tôi nghĩ rằng có lẽ đường cong 521-bit là lý tưởng. Có đề án an toàn hơn không?

Các triển khai an toàn nhất trong C/C++ (không sử dụng C++ STL) là gì, ví dụ, các cuộc tấn công kênh phụ? Tôi muốn thực hiện nó như là một mô-đun «riêng», vì vậy tôi sẽ đánh giá cao mã nguồn sạch hoặc tài liệu tham khảo tốt.

+11

Động cơ "lai" của riêng bạn? ** Hãy coi chừng. ** Quy tắc mã hóa đầu tiên là "bạn không thể làm tốt hơn các chuyên gia." Rất có thể là bất kỳ thay đổi nào bạn thực hiện đối với các thuật toán hiện tại sẽ làm suy yếu chúng, trừ khi bạn có nền tảng về mật mã và hiểu đầy đủ cách thức các lược đồ mã hóa hoạt động - và thậm chí sau đó, bạn có thể làm suy yếu mã hóa. –

+0

Bạn sẽ bảo vệ mã vũ khí hạt nhân của quốc gia của bạn với mã hóa đường cong elliptic 521-bit đó? Chỉ cần tự hỏi những gì bí mật bạn có thể có mà một thực hiện tiêu chuẩn của FIPS 186-3 với kích thước chính của 256 bit hoặc tất cả chỉ đơn giản là đường cong-25519 là không đủ tốt cho. Những thứ đó có sẵn, đơn đặt hàng của cường độ nhanh hơn, và nó không giống như có một cơ hội hợp lý rằng một trong hai thứ này sẽ bị phá vỡ trong suốt cuộc đời của bạn, và việc tính tiền EC sẽ là điểm đầu tiên (khi nó còn nhiều hơn thế nữa có khả năng tìm thấy một khai thác triển khai hoặc thực hiện kỹ thuật xã hội). – Damon

+0

"Quy tắc đầu tiên" không thành công ở mức 0. –

Trả lời

1

Trước khi nghĩ đến việc bất kỳ đường cong chuẩn nào cũng không đủ an toàn, tôi chỉ cần đảm bảo rằng chế độ mã hóa thực sự an toàn đối với các cuộc tấn công mã hóa cũ đã chọn. Tôi nghĩ rằng bài báo của Cramer và Shoup "Thiết kế và phân tích các kế hoạch mã hóa khóa công khai thực tế chống lại cuộc tấn công mã hóa Chosen thích ứng", 2003 là điểm khởi đầu tốt để phân tích các chương trình mã hóa lai.

Đối với các cuộc tấn công thời gian: OpenSSL chứa các triển khai cho một số lượng nhỏ các đường cong đã chọn đã được triển khai để chúng chạy trong thời gian không đổi.