<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/inverting-photodna-sxubsyrop" -->

---
title: Inverting PhotoDNA | daily.dev
description: Ribosome is a machine learning-based inversion attack on Microsoft&#x27;s PhotoDNA, a perceptual hashing algorithm used by major tech companies to detect illegal...
canonical: https://daily.dev/posts/inverting-photodna-sxubsyrop
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Inverting PhotoDNA | daily.dev
og:description: Ribosome is a machine learning-based inversion attack on Microsoft&#x27;s PhotoDNA, a perceptual hashing algorithm used by major tech companies to detect illegal...
og:url: https://daily.dev/posts/inverting-photodna-sxubsyrop
og:image: https://api.daily.dev/og/posts/SxuBsyroP.png
og:image:alt: Inverting PhotoDNA
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Inverting PhotoDNA

**[Anish Athalye](https://daily.dev/sources/anishathalye)** · 5 min read · 0 upvotes · 0 comments

## Summary

Ribosome is a machine learning-based inversion attack on Microsoft's PhotoDNA, a perceptual hashing algorithm used by major tech companies to detect illegal images. Despite Microsoft's claim that PhotoDNA hashes cannot recreate images, Ribosome trains a DCGAN-style neural network on image/hash pairs to reconstruct thumbnail-quality images from 144-byte PhotoDNA hashes. The project demonstrates that the hash leaks significant information about the source image, including rough body shapes and faces. Results vary by training dataset quality and distribution match, but a large diverse dataset enables reasonable reconstructions even without knowing the exact source distribution. Source code and pre-trained models are publicly available on GitHub.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://anishathalye.com/inverting-photodna/>

## Similar posts on daily.dev

- [GitHub - aloshdenny/reverse-SynthID: reverse engineering Gemini's SynthID detection](https://daily.dev/posts/github---aloshdenny-reverse-synthid-reverse-engineering-gemini-s-synthid-detection-t8qufmjwp) · Hacker News · 0 upvotes · 0 comments
- [Biologist Joey Davis explores how cells build complex structures](https://daily.dev/posts/biologist-joey-davis-explores-how-cells-build-complex-structures-shjsxdwqt) · MIT News · 0 upvotes · 0 comments

---

Tags: [#security](https://daily.dev/tags/security), [#machine-learning](https://daily.dev/tags/machine-learning), [#neural-networks](https://daily.dev/tags/neural-networks)

[View this post on daily.dev](https://daily.dev/posts/inverting-photodna-sxubsyrop)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Inverting PhotoDNA","url":"https://daily.dev/posts/inverting-photodna-sxubsyrop","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/inverting-photodna-sxubsyrop"},"datePublished":"2026-03-31T12:29:29.309Z","dateModified":"2026-03-31T12:53:27.480Z","description":"Ribosome is a machine learning-based inversion attack on Microsoft's PhotoDNA, a perceptual hashing algorithm used by major tech companies to detect illegal...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ff9cf98dbe193f56db9f54d52f8c04ff?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ff9cf98dbe193f56db9f54d52f8c04ff?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Anish Athalye","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Anish Athalye","logo":"https://media.daily.dev/image/upload/s--eU7i6Qkh--/c_limit,w_256/f_auto,q_auto/v1774960043/logos/anishathalye?_a=BAMAMiWQ0","url":"https://daily.dev/sources/anishathalye"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/inverting-photodna-sxubsyrop","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,machine-learning,neural-networks","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Anish Athalye","item":"https://daily.dev/sources/anishathalye"},{"@type":"ListItem","position":3,"name":"Inverting PhotoDNA"}]}
```

