3 ms·
The README (https://github.com/anishathalye/neural-hash-collider#how-it-works https://github.com/anishathalye/neural-hash-collider#how-it-...) explains in a bit
by anishathalye 5y ago
The README (https://github.com/anishathalye/neural-hash-collider#how-it-works https://github.com/anishathalye/neural-hash-collider#how-it-...) explains in a bit more detail how these adversarial attacks work. This code pretty much implements a standard adversarial attack against NeuralHash. One slightly interesting part was replacing the thresholding with a differentiable approximation. I figured I'd share this here in case anyone is interested in seeing what the code to generate adversarial examples looks like; I don't think anyone in the big thread on the topic (https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX/issues/1 https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX/issue...) has shared attack code for NeuralHash in particular yet.
- IncRnd 5y agoNicely done. Thank you for sharing. I'd like to share the following paper for anyone else who may be interested. It is about watermarking rather than a preimage attack. "Adversarial Embedding: A robust and elusive Steganography and Watermarking technique" https://arxiv.org/abs/1912.01487 https://arxiv.org/abs/1912.01487 Unfortunately, the existence of invisible watermarking demonstrates a separate attack on the hash. Instead of a preimage attack, this might be able to change the hash of an image that is suspected of already being a match. A true-positive would be changed into a false-negative.
- GistNoesis 5y agoWell done ! Here is my version that uses Scipy lbfgs-b optimizers : https://gist.github.com/unrealwill/d64d653a7626b825ef332aa3b2aa1a43 https://gist.github.com/unrealwill/d64d653a7626b825ef332aa3b...