Software

Software

Research code spanning cryptography, graph theory, computational topology, numerical modelling, and computational biology — plus the tools I build and teach with. Most code lives on GitHub.

github.com/eOnofri04 ↗

Toolbox

Languages
C / C++PythonJuliaJavaRustBash
Scientific computing & HPC
MATLABMathematicaNumPy / SciPyPyTorchJupyterOpenMPMPICUDAPARI/GP
Paradigms
ImperativeObject-orientedFunctionalParallel & concurrent
Tooling & data
GitDockerSQL / SQLite / PostgreSQLMake
Authoring & typesetting
LaTeXTikZBeamerMarkdownOfficeiWork

Projects & tools 17

Coloured graph contraction

β- and γ-contraction for colour-preserving graph reduction

Algorithms and a unified framework for contracting large coloured networks while preserving categorical node attributes, with serial and parallelisable implementations.

COpenMPRustJuliaGraph Theory

Polkadot network analysis

Graph contraction & staking on a live cryptocurrency network

Characterising Polkadot’s transaction ecosystem through coloured graph contraction, estimating speculation in the transaction network, and a reality check on its nominated proof-of-stake.

CryptocurrencyGraph contractionNetwork analysis

mR_LWE-CP-ABE

Revocable post-quantum attribute-based encryption

A lattice-based, revocable CP-ABE scheme for post-quantum cryptography, built on the ring-LWE problem.

CryptographyLatticesPost-quantum

Cross-primitive comparison in CP-ABE

Bilinear pairings versus lattices, benchmarked

The implementation behind the experiments comparing pairing-based and lattice-based CP-ABE, packaged with Docker for reproducibility; a preliminary version appeared at FCiR 2025.

C++DockerCryptographyLattices

I-(OT)²

A client-optimal oblivious-transfer protocol for IoT

An oblivious-transfer protocol designed to minimise client-side cost, targeting resource-constrained IoT devices.

CryptographyOblivious transferIoT

COD-ssi

Credential oblivious disclosure for self-sovereign identity

A protocol enforcing mutual privacy for credential disclosure in self-sovereign-identity settings; the repository holds the proof-of-concept implementation, the benchmark data, and the notebook reproducing the evaluation.

PythonJavaScriptPrivacySelf-sovereign identity

Cube-attack toolkit

Algebraic cryptanalysis over general finite fields

A computational investigation of the cube attack generalised beyond GF(2), with tooling to mount and analyse the attack and a survey of a decade-plus of developments.

CryptanalysisCPARI/GPFinite fields

PRISM

Fingerprinting AI-generated images

A phase-enhanced, radial-based image-signature mapping framework that fingerprints AI-generated images through signal analysis, released together with the PRISM-36K dataset.

Signal analysisMachine LearningPython

APORIA

A geometric analysis of LLM hallucinations

Companion code for “A Geometric Analysis of Small-sized Language Model Hallucinations”, characterising hallucination through the geometry of model representations.

PythonMachine LearningLLMs

RAIM

Robust aggregation of inexpensive LLM judges for hallucination detection

A panel of ten cheap open-weight LLM judges run over eight hallucination-detection benchmarks, aggregated by a stacked model and tested against frontier judges with a paired cluster bootstrap. Released in two halves: every recorded verdict, and the analysis that regenerates each table and figure deterministically on a laptop.

LAR — Linear Algebraic Representation

Solid modelling & computational topology in Julia

Julia libraries representing solids and chain complexes through sparse-array linear algebra, enabling boundary evaluation and topological operations as sparse-matrix products.

JuliaComputational TopologySparse linear algebra

AlphaStructures.jl

α-complexes for topological data analysis

A Julia library computing α-complexes and α-shapes for point-cloud reconstruction and topological analysis, part of the LAR ecosystem.

JuliaComputational TopologyPoint clouds

StoneVerse

Open-science platform for modelling stone decay

A reproducible, open-science platform for modelling water transport and stone decay in porous media for cultural-heritage conservation, with Bayesian parameter identification.

Numerical PDEsBayesian / ABCCultural Heritage

NRMc

Multi-stratum model of a nano-functionalised releasing capsule

Numerical simulation of a multi-stratum, experiment-driven model for a nano-functionalised drug-releasing capsule.

MATLABNumerical modellingDrug deliveryComputational Biology

Immune-system ABM

Multi-scale agent-based immunology

Multi-scale agent-based modelling of the immune response and granuloma-like structures for tuberculosis-treatment studies, integrating drug, host, and pathogen dynamics.

C / C++PhysiCellComputational BiologyHPC

eliacv

A standalone LaTeX CV class

A dependency-light CV class built directly on `article`: a designed cover, an accent-bar timeline, a career-arc Gantt, chip-based skills, and language/theme toggles. It typesets the very CV linked from this site.

LaTeXLuaLaTeXTikZ

eliaonofri.it

This website

A static Astro site: publications rendered from the CV’s BibTeX, a two-facet topic map shared by every page, a force-directed co-authorship graph, and OpenAlex citation metrics, deployed to GitHub Pages.

AstroTypeScriptd3-force