2012-02-01 52 views
10

Tôi hiện đang làm việc trên một dự án sử dụng python để triển khai giao tiếp p2p giữa hai (hoặc nhiều) máy tính. Mặc dù tôi khá thành thạo với python, tôi không phải là một chuyên gia; lập trình và mã hóa không phải là nghề của tôi, đơn giản là sở thích. Tuy nhiên, khi làm việc với dự án này, tôi đã cố gắng tìm hiểu thêm về mã hóa cũng như lập trình mạng.Triển khai đầy đủ RSA bằng Python

Hiện tại tôi đã viết một lớp khá mạnh mẽ giao tiếp tốt qua mạng và tôi đang cố cải thiện nó bằng cách triển khai RSA để mã hóa các kết nối giữa các đồng nghiệp trên mạng; đây là nơi tôi đã gặp một số khó khăn. Trước đây tôi đã sử dụng pycrypto để thực hiện một số mã hóa/giải mã cơ bản trong python và vì vậy, khá thoải mái với tất cả các công cụ có liên quan - bao gồm cả mật mã khóa công khai cần thiết. Hơn nữa, tôi cũng biết rằng pycrypto có một số thiếu sót, trong thực tế là nó chỉ thực hiện các thuật toán mã hóa/giải mã mức trần thấp, cần thiết để thực hiện RSA và không thực hiện một giao thức đầy đủ cho mã hóa khóa công khai. Tôi cũng biết rằng pycrypto chứa một số công cụ hữu ích khác như biến đổi AllOrNothing có thể được sử dụng để đệm thông tin liên lạc, v.v. Tuy nhiên, câu hỏi của tôi là: bất cứ ai có thể giới thiệu bất kỳ bài viết, sách, bài đăng trên blog, dự án trực tuyến nào. giúp tôi trong nhiệm vụ thực hiện giao thức RSA hiệu quả?

Cuối cùng, tôi hiểu rằng đây là một chủ đề nhạy cảm với các nhà mật mã trong các giao thức được thực hiện nghiệp dư đó thường có nghĩa là ít bảo mật hơn trong chương trình. Như tôi đã nói ở trên, dự án này là một kinh nghiệm học tập đơn thuần; nếu tôi hoàn thành dự án này một cách chuyên nghiệp, tôi chắc chắn sẽ sử dụng M2Crypto hoặc một số giao thức bảo mật, chuyên nghiệp được triển khai chuyên nghiệp khác - tức là SSL/TLS. Than ôi, tôi chỉ cố gắng tìm hiểu thêm về mã hóa bằng cách triển khai mô hình của riêng tôi về một giao thức đã được chứng minh để tạo kết nối an toàn giữa hai đồng nghiệp.

Cảm ơn, Kevin

+1

[PKCS # 1] (http://www.rfc-editor.org/rfc/rfc3447.txt) –

Trả lời

8

Hãy xem Raymond hettinger công thức: Public Key Encryption (RSA)

+0

Thật tuyệt vời, cảm ơn sự giúp đỡ của bạn. Tôi sẽ bắt đầu trải qua điều này và điều chỉnh nó theo nhu cầu của tôi! –

+0

Dường như vòng lặp vô hạn trong cả python2 và python3. – ninjagecko

+0

Đây là một câu trả lời thực sự tuyệt vời. – Glycerine

4

Tại sao không có một cái nhìn tại thư viện RSA-Python tinh khiết của tôi? Nó có thể chỉ là những gì bạn cần: http://stuvel.eu/rsa

0

pycrypto có một số thiếu sót, trong thực tế là nó chỉ thực hiện các trần-xương, mức thuật toán mã hóa/giải mã thấp cần thiết để thực hiện RSA và không thực hiện một giao thức đầy đủ cho mã hóa khóa công khai.

Phiên bản hiện tại PyCrypto (2.6) không hỗ trợ tất cả các giao thức RSA lớn đối với chữ ký và mã hóa cụ thể là những quy định tại PKCS # 1 (v1.5, PSS, OAEP).

Các vấn đề liên quan