01/10/2018, 12:21

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 ợ.

rogp10 viết 14:28 ngày 01/10/2018

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

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

Ice Tea viết 14:35 ngày 01/10/2018

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

VD:

stackoverflow.com
neubert

How do I convert an XML RSA key to a PEM file?

xml, security, rsa, pem
answered by neubert on 01:52PM - 18 Jun 14

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 à?

viết 14:33 ngày 01/10/2018

đư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ã à?

Nguyễn Duy viết 14:22 ngày 01/10/2018

“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ì :((

Ice Tea viết 14:31 ngày 01/10/2018

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ỉ?

Bài liên quan
0