Phayes Technologies
software development done right
View ProjectsOpen Source Projects
We're big believers in giving back to the community through free and open-source software.
CryptoBallot
CryptoBallot is a cryptographically secure decentralized end-to-end verifiable voting system meant for real-world elections. It is a "backend" service providing vote storage, cryptographic operations, and an API. It does not provide a user interface - although it is built to make creating a UI that interfaces with it easy.
It uses Shamir Secret Sharing for election decryption keys, blind-signing for voter anonymity, and an optional blockchain backend for distributed transaction storage and verification. It supports all tally methods including write-in candidates.
GeoPHP
GeoPHP is a open-source native PHP library for doing geometry operations. It is written entirely in PHP and can therefore run on shared hosts. It can read and write a wide variety of formats: WKT (including EWKT), WKB (including EWKB), GeoJSON, KML, GPX, GeoRSS. It works with all Simple-Feature geometries (Point, LineString, Polygon, GeometryCollection etc.) and can be used to get centroids, bounding-boxes, area, and a wide variety of other useful information.
SideFuzz
SideFuzz is a fuzzer for finding side-channel vulnerabilities. It uses a genetic-algorithm optimizer in combination with t-statistics to determine the presence timing vulnerabilities.
Tallystick
Tallystick is a high-performance rust library for tallying votes using a wide-range of different tally methods.
Benaloh Challenge
The Benaloh Challenge (aka Interactive Device Challenge) is a crytographic technique to ensure the honesty of an untrusted device.
ECIES-Ed25519
ECIES on Curve25519 using AES-GCM and HKDF-SHA256. Encrypt data using a public key such that it can only be decrypted by the private key.
RSA-FDH
RSA-FDH is a is provably secure blind-signing signature scheme that uses RSA and a full domain hash.
Full Domain Hash
An FDH limits the domain of the digest of a hash function. It can also be used to extend the size of a hash digest to an arbitrary length.
Entropy Checker
Ensure you have sufficient entropy available before doing important cryptographic operations.
Get in Touch
We're excited to hear how we can bring high quality software development to your project.