Build an End-to-End Encrypted Shazam Application Using Concrete ML
Blog post from Zama
The Zama Bounty Program Season 4 posed a challenge to create an encrypted version of Shazam using Fully Homomorphic Encryption (FHE), successfully completed by GitHub user Iamayushanand. The solution involved a two-step process: extracting song signatures on the client side and matching these encrypted signatures against a server-side music database. The approach utilized machine learning models, specifically Concrete ML classifiers, to achieve song recognition with 97% accuracy in under half a second. The method involved generating spectrograms and Mel-frequency cepstral coefficients (MFCC) from audio segments, constructing a song descriptor from these features, and training a multi-class logistic regression model. The model demonstrated impressive performance by maintaining accuracy on both encrypted and cleartext data, highlighting FHE's potential for enhancing privacy in applications. The solution was benchmarked against a scikit-learn implementation, showing comparable results, and underscored the viability of FHE for privacy-centric applications.