Mã hóa RSA 1024 bit bằng PHP như thế nào?

Chào các bác,

Hiện em sử dụng service của 1 “Bên A” cung cấp vào website của em :

  • Service đó có yêu cầu 1 tham số truyền sang là 1 chuỗi đã được mã hóa RSA 1024 bit .
  • Cặp PrivateKey và Public Key do “Bên A” generate và gửi cho em.

Em cần hỏi như sau ạ :

  1. Mã hóa RSA 1024 một chuỗi ký tự bằng PHP như nào ạ.
  2. Key bên họ gửi lại là xml có dạng :

    Em ko biết đâu là public key, đâu là private key ạ.

Các bác hỗ trợ em với ạ, chỉ cần keyword để search thôi cũng được ạ.

Em cảm ơn các bác nhiều !

Edit : Vấn đề là em ko biết cái đống XML kia sủ dụng như nào, và sử dụng trong php như nào ợ.

Mình thì mình tìm thư viện chứ code tay mã hóa thì ăn no hành :smiley:

Ngoài việc RSA không chỉ tính m^d mod n là xong (OAEP), mà còn dễ sơ hở nữa (giấu pri key ở đâu?) và bị soi bit của số mũ. https://crypto.stanford.edu/~dabo/papers/ssl-timing.pdf

1 Like

Bạn xem thư viện phpseclib nhé

VD:

Mình không hiểu flow của bạn lắm. Service Bên A trả về cặp public / private key, rồi bạn sử dụng key này để mã hóa à?

1 Like

đưa public key là mã hóa được rồi, trả luôn private key thì để cho mấy ông nội nghe lén giải mã à?

1 Like

“Bên A” gửi cặp key cho em để em mã hóa dữ liệu truyền sang bên đó bác ạ .

VD : Có chuổi “user=abc#pass=123” . Họ bảo mã hóa chuỗi đó RSA 1024 bit . Họ gen cặp key cung cấp cho em. và gửi 1 file excel có key dạng xml như trên. Em chả hiểu gì luôn.

Thường thì các service khác có code demo em đọc phát hiểu luôn. Ông này ko có code demo chả hiểu gì :((

Thế thì dễ rồi, bạn lấy pulic key ra rồi mã hoá thôi

http://phpseclib.sourceforge.net/rsa/examples.html#encrypt,pkcs1,pkcs1pub,sign1,enc2,

Mà sao lại trả cả private key làm gì nhỉ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?