• Re: PSA Using Python Pillow to foil camera image PRNU fingerprinting

    From Piergiorgio Sartor@3:633/10 to All on Sat Aug 1 11:48:05 2026
    On 01/08/2026 01.13, Maria Sophia wrote:
    [...]

    I'm under the impression there is some
    confusion here.

    De-noising algorithms, like BM3D or any
    de-noising auto-encoder, de-noise just
    one image.
    There is no temporal noise involved, it
    is only spatial, since the algorithms
    see only one, single, image.

    There are temporal de-noising algorithm
    which could be applied to video sequences,
    but this does not seem to be the case here.

    On the other hand, PRNU will have some
    spatial statistical properties, even if
    it is fixed for a given sensor.

    Now, assuming we have some PRNU from some
    unrelated sensor (meaning we can generate
    a spatial noise with same statistical
    properties), it would be possible to
    consider to apply this noise ("apply", not
    "add") to a given image.

    This means the effective PRNU will be the
    combination ("combination", not "sum") of
    two PRNUs, resulting in a new fingerprint,
    different from the original one.

    So, de-noising is not really needed, but it
    might be helpful to reduce / remove / modify
    the original PRNU, so that the applied one
    will be more evident.

    The point here is that the image content
    will not be altered too much, so quality
    will be somehow preserved.
    Different than blurring or resizing.

    If you do not like BM3D, you can look, as
    mentioned above, into de-noising auto-encoders.
    These will be even more aggressive in removing
    the PRNU content (maybe with more damage to
    the overall image).

    Finally, consider the "simple" case of generative
    algorithm (AI stuff, so to speak).
    These could (YMMV) generate image *without* any
    PRNU, similar or identical to the one taken
    with the camera.
    So, the fingerprint will be gone (maybe there will
    be another one from the AI).

    It seems to me there is a lot to explore way
    beyond the simple image modification algorithms.

    bye,

    --

    piergiorgio

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Chris@3:633/10 to All on Sun Aug 2 17:48:26 2026
    Piergiorgio Sartor <piergiorgio.sartor.this.should.not.be.used@nexgo.REMOVETHIS.de> wrote:
    On 01/08/2026 01.13, Maria Sophia wrote:
    [...]

    I'm under the impression there is some
    confusion here.

    To be expected considering who the OP is...

    On the other hand, PRNU will have some
    spatial statistical properties, even if
    it is fixed for a given sensor.

    Now, assuming we have some PRNU from some
    unrelated sensor (meaning we can generate
    a spatial noise with same statistical
    properties), it would be possible to
    consider to apply this noise ("apply", not
    "add") to a given image.

    This means the effective PRNU will be the
    combination ("combination", not "sum") of
    two PRNUs, resulting in a new fingerprint,
    different from the original one.

    So, de-noising is not really needed, but it
    might be helpful to reduce / remove / modify
    the original PRNU, so that the applied one
    will be more evident.

    The two main issues regarding PRNU that the OP has missed when jumping to conclusions are: 1) it is probabilitic, 2) it is comparative.

    That means for 1) there's no guarantee that the noise in your camera
    sensor is unique to you. It might be common, or very similar, to all
    cameras of that model and batch. The statistical model is based on small samples of camera sensors so it isn't a globally accurate model.

    For 2) that means it cannot state which device was used to take a photo
    without having the device in question in your possession.

    Just like ballistics. Once you have a suspect gun in your possession you
    can make some assessment of the probability of whether that gun fired a particular round.


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Lawrence D?Oliveiro@3:633/10 to All on Sun Aug 2 22:54:27 2026
    On Sun, 2 Aug 2026 11:18:31 -0800, Maria Sophia wrote:

    I'm curious, Chris, why you always feel so desperate to try to
    insult me?

    Just killfile the haters and move on.

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Chris@3:633/10 to All on Mon Aug 3 17:50:54 2026
    Maria Sophia <mariasophia@comprehension.com> wrote:
    Chris wrote:
    I'm under the impression there is some
    confusion here.

    To be expected considering who the OP is...

    I'm curious, Chris, why you always feel so desperate to try to insult me?

    As you've argued before that calling someone stupid is not an insult if
    it's true. I'm not insulting you...

    I also gave you a lot of useful information which you've chosen to ignore.

    And then you lie when you say you don't know of another way to share python code. You've been informed many times how to share code usefully.

    Posting code on usenet when it's python is particularly bad as all tabs are lost and therefore the script will not work. Attempts at fixing the
    indentation may make the code run, but probably incorrectly.


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)