Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Hacker Factor (Neal Krawetz)

    hackerfactor.com · Personal blog · on HN since 2008

    Neal Krawetz writes on image forensics, fake photo detection, online abuse material detection, Tor and other security topics.

    Visit blogRSSHN submissions
    SecurityPrivacy & PolicyNetworking
    What HN says

    HN commenters cite it for behind-the-scenes accounts of image analysis, its "One Bad Apple" post on Apple's scanning, and a critique of Tor's Snowflake.

    Stats for nerds
    199HN people shared it
    213linked in comments
    6Kstory points
    Jul 2026last shared
    2009people per year2026

    Top posts on HN

    1. 1
      One Bad Apple
      24 people · 1.5K points · first shared 2021 · 524 comments on HN
    2. 2
      Forensic analysis of recent Victoria's Secret photo
      2 people · 432 points · first shared 2009 · 54 comments on HN
    3. 3
      Reasons Python Sucks
      3 people · 408 points · first shared 2018 · 535 comments on HN
    4. 4
      How Perceptual Hashes Work
      6 people · 354 points · first shared 2011 · 75 comments on HN
    5. 5
      Tor 0day: Finding IP Addresses
      4 people · 259 points · first shared 2020 · 117 comments on HN
    6. 6
      The Photographic Science of Detecting Fake Lottery Tickets
      1 person · 254 points · first shared 2012 · 49 comments on HN
    7. 7
      Deanonymizing Tor Circuits
      3 people · 243 points · first shared 2020 · 107 comments on HN
    8. 8
      Tor 0day: Stopping Tor Connections
      1 person · 227 points · first shared 2020 · 88 comments on HN
    9. 9
      Unbelievable
      2 people · 226 points · first shared 2013 · 107 comments on HN
    10. 10
      Putin on the Ritz
      1 person · 208 points · first shared 2014 · 85 comments on HN

    What HN people wrote when they linked it

    • HanClintoOct 2022

      So when you run SIFT on an image, one gets dozens (maybe hundreds) of SIFT features back. The trouble with SIFT features is that each individual SIFT feature is a local image descriptor -- it describes a single point in the image. One can't just append the two lists of SIFT descriptors together and do a Hamming comparison on them, because it's not guaranteed that both images will have all of the same SIFT descriptors, nor that they would be in the same order.
      When you want to do image comparison on image descriptors, one must compare every local feature with every local feature in every other image. This is great for comparing two images together, or for finding where one image is located in another image (homography matching), but this does not scale for large image sets.

      In contrast, descriptors like perceptual hashes look at the entire image, and so are a _global_ image descriptor.

      There are ways to convert local SIFT image descriptors into a single global image descriptor for doing more rapid lookup (Bag of Visual Words is one technique that comes to mind), but SIFT and pHash really are in two categories all their own.

      More info on pHash:
      https://hackerfactor.com/blog/index.php%3F/archives/432-Looks-Like-It.html

      Example of SIFT for fine-grained image matching:
      https://docs.opencv.org/3.4/d1/de0/tutorial_py_feature_homography.html

    • b_mc2Dec 2025

      These are two articles I liked that are referenced in the Python ImageHash library on PyPi, second article is a follow-up to the first.

      Here's paraphrased steps/result from first article for hashing an image:

      1. Reduce size. The fastest way to remove high frequencies and detail is to shrink the image. In this case, shrink it to 8x8 so that there are 64 total pixels.

      2. Reduce color. The tiny 8x8 picture is converted to a grayscale. This changes the hash from 64 pixels (64 red, 64 green, and 64 blue) to 64 total colors.

      3. Average the colors. Compute the mean value of the 64 colors.

      4. Compute the bits. Each bit is simply set based on whether the color value is above or below the mean.

      5. Construct the hash. Set the 64 bits into a 64-bit integer. The order does not matter, just as long as you are consistent.

      The resulting hash won't change if the image is scaled or the aspect ratio changes. Increasing or decreasing the brightness or contrast, or even altering the colors won't dramatically change the hash value.

      https://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html

      https://www.hackerfactor.com/blog/index.php?/archives/529-Kind-of-Like-That.html

    • initplusFeb 2022

      Ultimately, you have to trust some photographer or organisation.

      The camera sensor is not a trusted input. Nothing can prevent somebody pointing their camera at a high resolution screen displaying a manipulated image. Or a staged scene. No image signing mechanism can prevent this kind of attack.

      There are manipulation detection techniques, but they are imperfect. And even if you verify the image is an unmodified camera original, you still have to analyse the context surrounding the image (what is portrayed in the image, does it line up with other reports, who is the photographer etc.) to determine if it is actually a true.

      It is trivial to digitally sign text, but a signature on a string doesn't mean that string is telling the truth. It just means someone signed it.

      Highly recommend http://www.hackerfactor.com/blog/ for in depth digital image forensics content.

    • mardifoufsMar 2022

      Im not sure if this has changed since my source was published but according to this article[0], the Tor Blocks in russia are not nation wide and originate from individual ISPs:

      >"According to OONI, it wasn't all of Russia blocking Tor; it was 15 out of 65 subnets. Moreover, each censorship instance used a different blocking method"

      >"If the censorship was government-sponsored, as the Tor Project suggested, then I would expect it to be much more widespread and consistent. This looks like individual blocking efforts. As OONI noted, the blocks followed a "recent spike in the use of Tor bridges (used for circumventing Tor blocking) in Russia."

      Though the situation might be totally different now considering the recent events.

      [0] https://www.hackerfactor.com/blog/index.php?/archives/944-Tor-0day-Snowflake.html

    • wglbMar 2014

      From the actual complaint:

      As early as 2007, Dr. Neal Krawetz of Hacker Factor Solutions published a white paper entitled "Point-of-Sale Vulnerabilities" (the "White Paper"). According to the White Paper, POS systems "provide virtually no security" and few POS systems "implement best practices for handling sensitive information, such as the Visa standards for credit card management."6

      and

      Thereafter, at least 17 copies of the White Paper were downloaded to a domain owned by Target, the most recent download occurring in May 2013. Target personnel used the search term "POS vulnerability" to locate and download the White Paper. As is now apparent, Target did not heed the White Paper or implement its suggestions.

      [edit] link to the Dr. Krawetz paper: http://www.hackerfactor.com/papers/cc-pos-20.pdf

    • vlovich123Jul 2026

      Considering [1], I’m going to challenge that their techniques are currently even mildly effective. Given the absolute academic malpractice these papers are pushing, I’m calling BS; while they want to watermark it, they clearly aren’t actually able to. For images. Which are drastically easier than text.

      Their interest is irrelevant in the face of technical impossibility. And that’s before you get into other people who don’t care and will just build adversarial tools to bypass the attempted watermarks. It’s a losing useless battle. Google and OpenAI engage in it to try to catch competitors when there’s a lawsuit or to try to clean their datasets clean.

      But it’s absolutely unusable for something like “did someone cheat”.

      [1] https://hackerfactor.com/blog/index.php?/categories/1-Image-Analysis

    Related

    Krebs on Securitykrebsonsecurity.com1.4k people

    Whistleblower: Ubiquiti Breach “Catastrophic”

    Krebs on Security
    Personal · last shared 2026
    Ken Shirriffrighto.com560 people

    Mining Bitcoin with pencil and paper: 0.67 hashes per day

    Ken Shirriff
    Personal · last shared 2026
    Troy Hunttroyhunt.com681 people

    Thanks FedEx, this is why we keep getting phished

    Troy Hunt
    Personal · last shared 2026
    jwzjwz.org880 people

    Watch a VC use my name to sell a con

    jwz
    Personal · last shared 2026
    Schneier on Securityschneier.com2.2k people

    New NSA Leak Shows MITM Attacks Against Major Internet Services

    Schneier on Security
    Personal · last shared 2026
    Securelistsecurelist.com368 people

    Operation Triangulation: What you get when attack iPhones of researchers

    Securelist
    Company · last shared 2026
    Errata Securityblog.erratasec.com357 people

    Extracting the SuperFish certificate

    Errata Security
    Personal · last shared 2025
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026