Skip to content

Latest commit

 

History

History
27 lines (24 loc) · 2.25 KB

File metadata and controls

27 lines (24 loc) · 2.25 KB

Encryption API

An API that can be used for encryption and decryption of data using BasicPHP class library and current cryptography standards.

  1. AES-256-GCM (NIST SP-800-38A, Paragon Initiative)
  2. HMAC-SHA-256 (FIPS-198-1)
  3. PBKDF2 (NIST SP-800-132)
  4. 10,000 iterations for password-based key derivation (NIST SP-800-132 - 1,000 minimum)
  5. HKDF (RFC 5869 and NIST SP-800-56C Rev. 1)
  6. Encrypt-then-MAC authentication (Paragon Initiative)

Example

Encryption

Endpoint: encryption.php?action=encrypt
Method: POST
Body:
{"data":"encrypted","authenticated":"yes","privacy":"yes","compliance":"yes"}
Response:
{"data":"encv1.ek80R2pzN3NaRkxM.jFQGj3UxwqID8q9/f8GfEQ.pp0nQpfJLuOYwTKlJwU20A","authenticated":"encv1.VWg3OQ.eFOXNO3bVL7NX1keIVTF0A.UBrI0BmU9F1FRyPhR1HJYA","privacy":"encv1.N0tLMg.GQB6ShSTe5dQlgUhRw33AQ.QWptKAm4I9Q2RYK1z5rS0w","compliance":"encv1.cjROaw.63xzrAxGDXruO6oqU32jtA.MnVAMl4DHiadP+GKdH2kyg"}

Decryption

Endpoint: encryption.php?action=decrypt
Method: POST
Body:
{"data":"encv1.ek80R2pzN3NaRkxM.jFQGj3UxwqID8q9/f8GfEQ.pp0nQpfJLuOYwTKlJwU20A","authenticated":"encv1.VWg3OQ.eFOXNO3bVL7NX1keIVTF0A.UBrI0BmU9F1FRyPhR1HJYA","privacy":"encv1.N0tLMg.GQB6ShSTe5dQlgUhRw33AQ.QWptKAm4I9Q2RYK1z5rS0w","compliance":"encv1.cjROaw.63xzrAxGDXruO6oqU32jtA.MnVAMl4DHiadP+GKdH2kyg"}
Response:
{"data":"encrypted","authenticated":"yes","privacy":"yes","compliance":"yes"}