Paragon Initiative Enterprises Blog

The latest information from the team that develops cryptographically secure PHP software.

In 2015, We Moved the Needle Towards Being Secure

A year-in-review blog post about our projects at Paragon Initiative Enterprises.


Don't Fear the Hacker - The Missing First Step in Cybersecurity Plans

Or: How I learned to stop worrying and love software exploitation.


Let's Re-Think Security Trade-Offs

There are three forms of dishonesty: Lies, damned lies, and security trade-offs.


Choosing the Right Cryptography Library for your PHP Project: A Guide

If you're wondering which cryptography library you should use in your project, this should help make the decision easier.


Preventing Timing Attacks on String Comparison with a Double HMAC Strategy

Preventing side-channel attacks (i.e. timing attacks on MAC validation) and dangerous compiler optimizations with a blinded comparison.


How to Securely Allow Users to Upload Files

The theory and practice of securing file upload form handlers. Our examples are in PHP, but many of the filesystem security concepts here are language agnostic.


Coming to WordPress 4.4: CSPRNG

In version 4.4 and on, WordPress's random number generator function (wp_rand) will now be cryptographically secure.


Building Secure Web Applications in PHP

Don't just fix security vulnerabilities, prevent the habits that cause them in the first place.


The Comprehensive Guide to URL Parameter Encryption in PHP

If you ever wondered the best way to encrypt a username or row ID for an obfuscated URL in PHP, this is the article for you.


How to Safely Implement Cryptography Features in Any Application

No matter what language you're developing in, there's really only one cryptography library that shines above the rest.


The State of Cryptography in PHP

With PHP 7 nearing its official release, let's reflect on the state of cryptography in PHP applications.


A Gentle Introduction to Application Security

We aren't satisfied with the industry's current attempts to teach the basic concepts of application security to software developers; instead, we propose a gentler model.


You Wouldn't Base64 a Password - Cryptography Decoded

A human-readable overview of commonly misused cryptography terms and fundamental concepts.


Common Uses for Cryptographically Secure Random Numbers

Some useful things that can be built with a CSPRNG.


How to Securely Generate Random Strings and Integers in PHP

A lesson on cryptographically secure pseudorandom number generators in PHP, and how to generate random integers and strings from a high quality entropy source like /dev/urandom to generate secure random passwords in PHP.


On Estimating the Impact of a Software Vulnerability

What is the potential impact of a given vulnerability? This isn't easy to answer.


Everything You Need to Know About Preventing Cross-Site Scripting Vulnerabilities in PHP

Although Cross-Site Scripting is one of the most common vulnerabilities on the Internet, it remains an unsolved problem (unlike SQL Injection).


Securing Your Business's Online Presence - A Guide For Non-Experts

There are a lot of ways having an online presence can be used against you, and the most basic security decisions are not technical.


Quantifying Popularity in Real-Time for High-Volume Websites, Part 1

The first in a two-part series. We establish a mathematical definition for popularity within a given dataset and build some abuse resistance into the algorithm design.


Preventing SQL Injection in PHP Applications - the Easy and Definitive Guide

It's 2015; there's no excuse for writing code vulnerable to SQL Injection any more


If You're Typing the Word MCRYPT Into Your PHP Code, You're Doing It Wrong

Alternative title: "Libmcrypt considered harmful." You should use libsodium if you can, or OpenSSL if you can't.


How to Teach Yourself Application Security

We're maintaining a curated appsec reading list on Github -- check it out.


Using Encryption and Authentication Correctly (for PHP developers)

A developer's short guide to encryption, authentication, and authenticated encryption with examples in PHP


Implementing Secure User Authentication in PHP Applications with Long-Term Persistence (Login with "Remember Me" Cookies)

Login forms with a remember me checkbox are a common requirement. We explore the security of login forms and a robust model for remember me checkboxes.


The Fast Track to Safe and Secure PHP Sessions

How to configure and use PHP's build-in session management system for maximum security.


A new PHAR Auditing Utility - Introducing Pharaoh

The official release of the PHAR auditing utility by Paragon Initiative.


Introducing ASGard, the Authentic Software Guard

Secure code delivery is a hard problem; one which we aspire to solve.


Need Technology Consultants?

Will tomorrow bring costly and embarrassing data breaches? Or will it bring growth, success, and peace of mind?

Our team of technology consultants have extensive knowledge and experience with application security and web/application development.

We specialize in cryptography and secure PHP development.

Let's Work Together Towards Success

Our Security Newsletters

Want the latest from Paragon Initiative Enterprises delivered straight to your inbox? We have two newsletters to choose from.

The first mails quarterly and often showcases our behind-the-scenes projects.

The other is unscheduled and gives you a direct feed into the findings of our open source security research initiatives.

Quarterly Newsletter   Security Announcements