GoFuckYourself.com - Adult Webmaster Forum

GoFuckYourself.com - Adult Webmaster Forum (https://gfy.com/index.php)
-   Fucking Around & Business Discussion (https://gfy.com/forumdisplay.php?f=26)
-   -   GFY EDUCATIONAL SERIES: How to prevent Piracy - A new way. (https://gfy.com/showthread.php?t=990150)

borked 10-03-2010 05:51 AM

Quote:

Originally Posted by ottopottomouse (Post 17565812)
Interesting :)

Comment:
Think the overlay interval ought to be random.

Injection is now totally random, though this now makes it harder to find the injected data yourself!!

Strangely, by doing it random, I don't see the flash on the screen of the injected data now

Quote:

Originally Posted by ottopottomouse (Post 17565812)
Interesting :)

The Geo details may or may not be a good idea as there seems to be 2 choices always given for my ip address and your database is the one saying I am 200 miles away. I think it possibly adds a unnecessary level of confusion.

:1orglaugh:1orglaugh
That was just an example of useful stuff - you could inject anything you want!

Hey, why not inject http://domain.com that way by watching the movie the user is bombarded with subliminal advertising and without knowing it they will type in your domain!

ottopottomouse 10-03-2010 06:56 AM

Quote:

Originally Posted by borked (Post 17565830)
Injection is now totally random, though this now makes it harder to find the injected data yourself!!

Strangely, by doing it random, I don't see the flash on the screen of the injected data now

With the previous version I just put it on 0.12x speed and could see the overlay clearly. Now I can't find it.

Ethersync 10-03-2010 07:23 AM

Quote:

Originally Posted by InfoGuy (Post 17565551)
Wouldn't the audio stream be missing for pirates using video screen capture software

Not necessarily. A lot of screen recorder software records audio too.

borked 10-03-2010 07:31 AM

Quote:

Originally Posted by ottopottomouse (Post 17565954)
With the previous version I just put it on 0.12x speed and could see the overlay clearly. Now I can't find it.

Yeah, it's really hard (but frame by frame finds it - just a pain)

I've made it so the data gets injected once and only once at the half way point. This way it's random for each movie, but can be customised to each user (ie half way plus X)

That way you know exactly where it has been injected in your videos.

Angry Jew Cat - Banned for Life 10-03-2010 07:31 AM

If we have learned anything from Middle Men, it is that the best anti-piracy is shit content that nobody wants

Paul Markham 10-03-2010 07:41 AM

Will read it all later. I'm off to watch the soccer.

How do you stop people pirating DVDs and others going to view them rather than paying?

Sadly not enough of the content on Internet porn sites is good enough to warrant shutting off their content from downloaders. They will watch one babe on a sofa as soon as watch the other one.

You have to have something worth protecting before you start protecting it.

Ethersync 10-03-2010 07:44 AM

You know now that I think about it why not clearly embed the user details at the beginning and end of the videos. That will cut down on 90% of the file sharing right there because no one wants to re-encode each video clip and they would have to do that if you they wanted to edit out the embeds. Also, if you include the person's actual name in the embed details that would be one hell of a deterrent. On top of the obvious marking you could put some hidden stuff too if you really wanted to.

borked 10-03-2010 07:59 AM

Yes - this injection of the user details into the mpg is purely a proof of concept that it can be done on-the-fly with no server/time overhead.

To my knowledge, this has not been demonstrated yet.

So, yes - some will want to show the user details at beginning/end (quite easy to strip out though by the end pirate), some will want random insertions, some will want it placed at a certain time point etc etc. What you inject is purely up to you!

Add the credit card details too - then the pirate gets raped by other pirates lol!

It's a matter of adapting the proof of concept to your own needs.

Paul - If I knew how to stop DVD pirating, I'd sell the idea to the MPAA for a billion bucks! Like I said in the OP - this is *purely* for online material and now with the mpeg injector, you can adapt it to your needs to track the original pirate and so still leave downloads on.

ottopottomouse 10-03-2010 08:05 AM

Quote:

Originally Posted by borked (Post 17566017)
Yeah, it's really hard (but frame by frame finds it - just a pain)

I've made it so the data gets injected once and only once at the half way point. This way it's random for each movie, but can be customised to each user (ie half way plus X)

That way you know exactly where it has been injected in your videos.

Beginning to wonder if I got a version where it failed to put the overlay on as i've been through several times frame by frame now and still found nothing.

ottopottomouse 10-03-2010 08:12 AM

Quote:

Originally Posted by Ethersync (Post 17566037)
You know now that I think about it why not clearly embed the user details at the beginning and end of the videos. That will cut down on 90% of the file sharing right there because no one wants to re-encode each video clip and they would have to do that if you they wanted to edit out the embeds. Also, if you include the person's actual name in the embed details that would be one hell of a deterrent. On top of the obvious marking you could put some hidden stuff too if you really wanted to.

Chopping the beginning and end off something is a really simple job.

borked 10-03-2010 08:12 AM

Quote:

Originally Posted by ottopottomouse (Post 17566069)
Beginning to wonder if I got a version where it failed to put the overlay on as i've been through several times frame by frame now and still found nothing.

It's currently injected at exactly half way (8 secs) and at the very end.
I'm seeing it clearly with quicktime (pause the movie then advance frame by frame with the left/right arrow key).

The original mpg is lousy and buggy to start with - if someone wants to send me a lightweight HQ mpg movie I can use freely for this test, please do (email in sig)

Ethersync 10-03-2010 08:13 AM

Quote:

Originally Posted by borked (Post 17566055)
So, yes - some will want to show the user details at beginning/end (quite easy to strip out though by the end pirate)

For one video sure, but it's not really that easy to do in bulk though. They import the clip into an editing program, clip off the embeds and the render out a new video (quality loss). Many people will just not bother. The more organized releasing groups, if they do porn (I have no idea), may make the effort to strip out the details, but I think even they would prefer to just pirate other porn and skip the more difficult stuff.

Now, how about a way a way to do this with JPG files on the fly in the same way? :thumbsup

ottopottomouse 10-03-2010 08:22 AM

Quote:

Originally Posted by borked (Post 17566084)
It's currently injected at exactly half way (8 secs) and at the very end.
I'm seeing it clearly with quicktime (pause the movie then advance frame by frame with the left/right arrow key).

The original mpg is lousy and buggy to start with - if someone wants to send me a lightweight HQ mpg movie I can use freely for this test, please do (email in sig)

Just downloaded it again.

It is on the very last frame in this one.

Can't find it anywhere around the middle though.

borked 10-03-2010 08:28 AM

Quote:

Originally Posted by Ethersync (Post 17566087)
Now, how about a way a way to do this with JPG files on the fly in the same way? :thumbsup

that's easy!!

http://borkedcoder.com/photo_injector/

Ethersync 10-03-2010 08:37 AM

Quote:

Originally Posted by borked (Post 17566131)
that's easy!!

I meant as metadata, but that could work too. Might stop a few hearts though when members first see it :1orglaugh

I think this would be a great solution here if it could be done on the fly and kept totally invisible to the end user: http://www.phpclasses.org/package/33...anography.html

You could encrypt their own personal details in each jpg image. Then you could have scripts scrape forums and torrent downloads and run through all the jpg images to find who released it. Then Steve could sue them specifically and he would have the support of all of GFY :)

borked 10-03-2010 08:37 AM

Quote:

Originally Posted by ottopottomouse (Post 17566114)
Just downloaded it again.

It is on the very last frame in this one.

Can't find it anywhere around the middle though.

the exact middle of the movie...

http://borkedcoder.com/movie_injector/example.jpg

borked 10-03-2010 08:39 AM

Quote:

Originally Posted by Ethersync (Post 17566152)
I meant as metadata, but that could work too. Might stop a few hearts though when members first see it :1orglaugh

I think this would be a great solution here if it could be done on the fly and kept totally invisible to the end user: http://www.phpclasses.org/package/33...anography.html

You could encrypt their own personal details in each jpg image. Then you could have scripts scrape forums and torrent downloads and run through all the jpg images to find who released it. Then Steve could sue them specifically and he would have the support of all of GFY :)

very easy to add comments to photo exif data on the fly with exiftool

borked 10-03-2010 08:42 AM

Quote:

Originally Posted by Ethersync (Post 17566152)
I think this would be a great solution here if it could be done on the fly and kept totally invisible to the end user: http://www.phpclasses.org/package/33...anography.html

That should be quite easy to adapt - I'll have a look at it later on as I need to pop out.

Ethersync 10-03-2010 08:43 AM

Quote:

Originally Posted by borked (Post 17566156)
very easy to add comments to photo exif data on the fly with exiftool

You should package this all up and license it.

borked 10-03-2010 01:45 PM

Quote:

Originally Posted by Ethersync (Post 17566152)
I think this would be a great solution here if it could be done on the fly and kept totally invisible to the end user: http://www.phpclasses.org/package/33...anography.html

I looked into that - works great and would have been great for this. However, 2 probs:

1) only output as PNG can be done as the resulting image has to be lossless

not a problem as most browsers can handle PNG but...

2) created images containing the stenographic injection are 10x larger than the original (blame PNG)

So, is fine if you don't mind having 10x more bandwidth from images...

--edit
and yeah, I tried outputting the image as 100% jpeg quality, but it didn't work

ottopottomouse 10-03-2010 02:07 PM

http://img684.imageshack.us/img684/2...tingstuffs.png

Random thought related to the php jpg.

Is there anything similar to the QRCode square barcode that could be generated that wasn't quite so obvious as to being an image branded with writing on?

borked 10-03-2010 02:18 PM

UPDATE - inject user details into your images on the fly

In addition to injecting your user details on the fly into a mpg movie, you can now do the same with your jpegs...


http://borkedcoder.com/photo_injector/whore_dog.jpg

Save that image and view the exif info (with whatever app you use to read exif info)...

Your user details are stored in the Description tag :upsidedow

Paul Markham 10-03-2010 02:23 PM

OK read a lot more and can offer this.

Borked's solution would work if the only place to get porn was on the Internet. It won't work for most because DVDs can be ripped, unless they invented a blocking program that's 100% secure. Even then what about all the DVDs that don't have it?

So pirating can continue. The pirate sites what ever their format will not stop and let all their traffic disappear, they will make sure there's full length DVD rips for their surfers.

Plus 75% or more of the sites on the Internet have porn that's fairly well indistinguishable form 100s of other sites. So if you lock down your site of a teen getting fucked on a sofa, the surfer has loads of other options to get free porn just like it.

Might work for Astral-blue.com and if Borked would like to contact me and give me a price we will consider it.

SpongeBub 10-03-2010 02:25 PM

Isn't all of that very expensive to implement? How much does it add to the members cost? And when net neutrality goes bye-bye (probably 2011), how much more are you going to have to pay to keep that stream running at a bearable level?

borked 10-03-2010 02:25 PM

Quote:

Originally Posted by ottopottomouse (Post 17567024)

Random thought related to the php jpg.

Is there anything similar to the QRCode square barcode that could be generated that wasn't quite so obvious as to being an image branded with writing on?

on the fly qr code generation... I already brought that up ages ago, but could be adapted to this

https://gfy.com/showthread.php?t=910434

as to anything similar - highly doubt it as qrcodes are used all over the place now by manufacturers... simple and effective

Jdoughs 10-03-2010 02:27 PM

Quote:

Originally Posted by Paul Markham (Post 17567050)
Borked's solution would work if the only place to get porn was on the Internet. It won't work for most because DVDs can be ripped, unless they invented a blocking program that's 100% secure. Even then what about all the DVDs that don't have it?

He never claimed to be able to protect your magazine shoots, or your over the counter DVD's that isn't what this board, or industry is about. Related? Sure, our problem? No.

He's showing WEBMASTERS how to stop their content from being shared that is downloaded of their sites.

borked 10-03-2010 02:32 PM

Quote:

Originally Posted by Paul Markham (Post 17567050)
OK read a lot more and can offer this.

Borked's solution would work if the only place to get porn was on the Internet. It won't work for most because DVDs can be ripped, unless they invented a blocking program that's 100% secure. Even then what about all the DVDs that don't have it?

Paul - yes I did put up the disclaimer that this was purely for online content. Protecting DVDs is a never ending battle with even the new BlueRay protection recently being cracked

If you want to protect DVDs I'd suggest asking the MPAA for help, since they have tried endlessly...

Implementing these things I've set out here are custom to each person's server setup, since it's adding a layer on to how images/movies are displayed and downloaded/streamed. So it would be near-on impossible to package things up for an all-in-one install package.

If you'd like them implementing on your site, drop me a line by email so we can discuss further. It shouldn't be hard or long to implement these things for a single site.

nudecanada 10-03-2010 02:40 PM

Quote:

Originally Posted by borked (Post 17567041)
UPDATE - inject user details into your images on the fly

In addition to injecting your user details on the fly into a mpg movie, you can now do the same with your jpegs...


http://borkedcoder.com/photo_injector/whore_dog.jpg

Save that image and view the exif info (with whatever app you use to read exif info)...

Your user details are stored in the Description tag :upsidedow

Wow, that is SWEET! Kinda freaked me out when I saw my details in the exif info! :thumbsup

Tickler 10-03-2010 11:51 PM

Quote:

Originally Posted by Ethersync (Post 17566087)
For one video sure, but it's not really that easy to do in bulk though. They import the clip into an editing program, clip off the embeds and the render out a new video (quality loss). Many people will just not bother. The more organized releasing groups, if they do porn (I have no idea), may make the effort to strip out the details, but I think even they would prefer to just pirate other porn and skip the more difficult stuff.

A 10 minute vid at 30 frames-per second equals 18,000 frames. If the codes are inserted randomly, that is a whole of frame-by-frame checking. Make the code semi-transparent, it makes it even harder to spot. Or see the comment below.



Quote:

Originally Posted by ottopottomouse
Random thought related to the php jpg.

Is there anything similar to the QRCode square barcode that could be generated that wasn't quite so obvious as to being an image branded with writing on?

1. You can do color shifting to hide numbers, in an image. Pick some square areas, and bump the colors in that area a bit. Basically be almost invisable to the naked eye.
For a "0" = current color + 4*10
For a "1" = current color + 4*1
For a "2" = current color + 4*2
For a "3" = current color + 4*3
...
For a "8" = current color + 4*8
For a "9" = current color + 4*9
Then just do a "mask" comparison between the original and the encoded to reverse the calculation.

borked 10-04-2010 12:03 AM

Quote:

Originally Posted by Tickler (Post 17567975)
1. You can do color shifting to hide numbers, in an image. Pick some square areas, and bump the colors in that area a bit. Basically be almost invisable to the naked eye.
For a "0" = current color + 4*10
For a "1" = current color + 4*1
For a "2" = current color + 4*2
For a "3" = current color + 4*3
...
For a "8" = current color + 4*8
For a "9" = current color + 4*9
Then just do a "mask" comparison between the original and the encoded to reverse the calculation.

This is fine for transmitting hidden data between receiving parties, but I think it has its limitations, especially in video, for trying to track a file. Simply because any type of compression algorithm will result in the hidden message being lost, so transcoding a video from say mpeg to flv will kill the information. I would say inserting random frames is far better since they will survive transcoding and nobody is going to search 1000s of frames for 1-10 "randomly" injected tracking frames.

Random because to the end user it's random, the to producer they could inject constantly eg every (#frames / 10 + 15) frames - random to the end user, the producer knows exactly where to look each time though.

Paul Markham 10-04-2010 01:13 AM

Quote:

Originally Posted by Jdoughs (Post 17567060)
He never claimed to be able to protect your magazine shoots, or your over the counter DVD's that isn't what this board, or industry is about. Related? Sure, our problem? No.

He's showing WEBMASTERS how to stop their content from being shared that is downloaded of their sites.

A very selective reply. I did address your point and it seems I will have to again.

Our problem? YES. Because so long as there is pirated content being given away for free surfers will keep being surfers instead of members. They don't care if it's online or offline content, it's all content to them.

If you have something like Robbie has or I have with astral-blue.com there is a point to protecting it. If you have the same generic content as I have on paulmarkhamteens.com it's not.

Andy, I dropped you a line.

ottopottomouse 10-04-2010 03:41 AM

Quote:

Originally Posted by borked (Post 17567041)
UPDATE - inject user details into your images on the fly

In addition to injecting your user details on the fly into a mpg movie, you can now do the same with your jpegs...

http://borkedcoder.com/photo_injector/whore_dog.jpg

Save that image and view the exif info (with whatever app you use to read exif info)...

Your user details are stored in the Description tag :upsidedow

Nice :thumbsup

Bit easy to remove though.

ottopottomouse 10-04-2010 03:44 AM

Quote:

Originally Posted by Tickler (Post 17567975)
1. You can do color shifting to hide numbers, in an image. Pick some square areas, and bump the colors in that area a bit. Basically be almost invisable to the naked eye.
For a "0" = current color + 4*10
For a "1" = current color + 4*1
For a "2" = current color + 4*2
For a "3" = current color + 4*3
...
For a "8" = current color + 4*8
For a "9" = current color + 4*9
Then just do a "mask" comparison between the original and the encoded to reverse the calculation.

I'm a bit lost with that, maybe it's just because it's monday morning.

I'll read it again later and hopefully won't need it translating into idiot :upsidedow

borked 10-04-2010 09:08 AM

Quote:

Originally Posted by Paul Markham (Post 17568060)
Andy, I dropped you a line.

Replied in detail

Quote:

Originally Posted by ottopottomouse (Post 17568261)
Nice :thumbsup

Bit easy to remove though.

Well, so is applying steganography. However, noone said you had to make the Description tag so obvious... I guess few people would think of stripping it out if all it said was

Tori Black #530419

where the number is of course a db entry ID containing the info :winkwink:

ottopottomouse 10-04-2010 09:24 AM

Quote:

Originally Posted by borked (Post 17569036)
Well, so is applying steganography. However, noone said you had to make the Description tag so obvious... I guess few people would think of stripping it out if all it said was

Tori Black #530419

where the number is of course a db entry ID containing the info :winkwink:

:thumbsup

Eric 10-04-2010 01:36 PM

Too much great info in this thread. Keep it coming!

Tickler 10-04-2010 01:37 PM

Quote:

Originally Posted by borked (Post 17567993)
This is fine for transmitting hidden data between receiving parties, but I think it has its limitations, especially in video,....

The color shift comment was targeted at images only to make it invisible for the uploader/surfer to actually see the info.

Also using 99% transparent text is basically invisible to the naked eye.

But, a program can compare the before image to the after image and easily tell the difference. If the surfer doesn't have the exact "before" image they can't make the comparison.

ottopottomouse:
The color-shift would be done by changing the color over small rectangles in different parts of the image. Again the visual change is so small(aprox 0.001%) that only a computer comparing before & after images could actually "see" it.

borked 10-04-2010 01:56 PM

Quote:

Originally Posted by Tickler (Post 17570015)
The color shift comment was targeted at images only to make it invisible for the uploader/surfer to actually see the info.

Also using 99% transparent text is basically invisible to the naked eye.

But, a program can compare the before image to the after image and easily tell the difference. If the surfer doesn't have the exact "before" image they can't make the comparison.

No, what I meant was, if that image then went through a transformation (lets say linux "mogrify -sharpen 10" to sharpen up the image (or reverse "-blur") or make the image larger, smaller, then the way to extract the information to find out who is the pirate is lost, since jpeg is not lossless.

Unless I'm completely missing your point.

For example, if encoding images to something else wasn't a problem - ie someone stole your image and simply uploaded it elsewhere), then all you'd have to do is inject in a random pixel somewhere on the fly and calculate a visual hash of the image (and store it). The next user to view the image would have a different visual hash since the pixels are inserted randomly (more pixels added and higher res the pic, the more unique the hash). If you found your image somewhere else, you calculate its visual hash and then find out who pirated it.

eg - visual hash of an image (using multiple cryptographic keys):

Code:

Adler32      : C4BA841B
CRC16        : F520
CRC16.CCITT  : 03B3
CRC16.XMODEM : 1356
CRC32        : EE43CE75
CRC64        : 38734BC8 493899BD
ED2K        : 1770324D BF331EFB 9B6D3FDF 42B1FA5F
ELF32        : 08ACEA09
FCS16        : 27C4
FCS32        : EE43CE75
FNV32.1      : 3D7D5302
FNV64.1      : 0D075BAE 14C4736B
GHash32.3    : 5B8409CF
GHash32.5    : E2FFF6CF
GOST-Hash    : 45D90023 65795C97 8B0111B6 CB5DB1F4 0A2984E7 8AD9E54A 79390BAB 685EB5CD
HAVAL256.3  : 84A910CA BE2FB254 906D51B4 D8F94F66 BAAB2A08 F6544E9D E21EEE2C 9668A390
HAVAL256.4  : 3741BA73 4F22CE21 8A8269D1 27D259F0 DF8062C0 89DA8E87 6A997AB4 662CF5E6
HAVAL256.5  : F58E487D 79E852E8 5FC5E248 C7B095BE 1925805E 6C33260F D4EA7F7E 14BF25F1
MD2          : 4341B1F0 3DCB05B4 4345EFE2 A7EEE352
MD4          : 1770324D BF331EFB 9B6D3FDF 42B1FA5F
MD5          : E3ACFD11 D7A66FF1 12572F2F 06AD3471
RipeMD128    : 302E360F 641B171F C7B0155F 5D61B2A1
RipeMD160    : 31A56722 F8A04705 2E5D2444 47D37F5D 319BF614
SHA1        : 4A03BA2E 7A9BD9D6 DFB6469B 46AF505E 5297DA4F
SHA256      : EA83B80E 91B3233E 675A833C A48AEA75 EDB0504B 9604900D D61000C7 6BF4BA36
SHA384      : 3EA3B4B9 BF9E9AA7 AECBDAE9 709344B9 78D2A70E C64986CD D6B5B22C 43781F51 02703400 B0E92BCB 25801C52 E7BB9048
SHA512      : A865F4B1 F54F13A2 9C4A23C2 7C9C4421 0E9F991C 8F95062D 77ECF26B 54499A25 936FFD3D 57D8A0F5 9045CF92 E6F388D2 7A204DD0 437D98DB 1BC73408 97FC7E67
Size64      : 00000000 00000C0E
Tiger        : FC8E3D7F EFDB0086 9FE0234F 4D23BC34 2A85F91D BCFFC8B4
XUM32        : E24DCD6F

I inject a two pixels randomly into the image on the fly and the visual hash is now

Code:

Adler32      : 9CF30B65
CRC16        : 9B6E
CRC16.CCITT  : F65C
CRC16.XMODEM : 0AA9
CRC32        : 7092DFED
CRC64        : FBA6C0A0 3D6DFA3B
ED2K        : DACC7615 E2DA15E0 E18C9B16 8F8F4B02
ELF32        : 00AB12C9
FCS16        : F6C9
FCS32        : 7092DFED
FNV32.1      : B5594220
FNV64.1      : D0C29B97 F3351EA3
GHash32.3    : 9F39C995
GHash32.5    : 5091A2CD
GOST-Hash    : 3D3E2665 B424BFD2 06827D7F F2291012 CA43F7BB AAA2CEB0 BAD6EB4D 781C290D
HAVAL256.3  : 88414280 498DD738 93A570AF CF7A2C9B 11A8573E CBDA1EBB 6E299CB4 72B5180D
HAVAL256.4  : 99ADC2CD F34674B1 D29D3637 F4928277 2DCF93E6 5FB624A5 7B716320 6384474F
HAVAL256.5  : F11859CB 005FF63C 1F35FB1B F5A22AAB 8237C866 C26AC6C8 C8FE9884 FF27D348
MD2          : A277E5B3 38E20642 2051D9B1 15493976
MD4          : DACC7615 E2DA15E0 E18C9B16 8F8F4B02
MD5          : B2236F8A 45481513 C546FC6D C79626B0
RipeMD128    : 71CD3611 897E2DD9 F426CAB8 CE493304
RipeMD160    : D2621808 60207BA4 045ACE1C CEEB9857 1FBAE694
SHA1        : AA403182 B4B469D7 90403247 CC11893B 933AF9A8
SHA256      : 4A5CCA0B F09D04E0 1B4E56F7 A0774032 0E3F8015 0BD6B29B 2D580F4D 4E191D01
SHA384      : 7C2DDA2F D4FFAF72 4162BBE9 738874B2 8261A06A 2DAD4405 2ADCFB71 2F8254AC 0C570B5D 465CE216 0DFBEF82 C9A53B86
SHA512      : EAFF29CE 43A7B0A6 D11EAB16 8E07DEE3 9833626A 0E6B0220 8C719F1E 849083BA 568D8310 3E5E491B 77F01B0B 50C322D7 9969424A 1B47C5AA 50E002C9 64C9F200
Size64      : 00000000 0000B707
Tiger        : AA70F467 3AABEF02 7D6AE897 F1D9301D 3EBBBAAD A2805392
XUM32        : C795DF25


Now, on my dev server, these are the benchmarks for calculating those hashes:

Code:

Algorithm                | Hash length | Hashed bytes/second
============================================================
Adler32                  |    32 bits |              149 MB
CRC16                    |    16 bits |              200 MB
CRC16.CCITT              |    16 bits |              177 MB
CRC16.XMODEM            |    16 bits |              204 MB
CRC32                    |    32 bits |              211 MB
CRC64                    |    64 bits |              49 MB
ED2K                    |    128 bits |              239 MB
ELF32                    |    32 bits |              130 MB
FCS16                    |    16 bits |              217 MB
FCS32                    |    32 bits |              216 MB
FNV32.1                  |    32 bits |              149 MB
FNV64.1                  |    64 bits |              88 MB
GHash32.3                |    32 bits |              274 MB
GHash32.5                |    32 bits |              259 MB
GOST-Hash                |    256 bits |              17 MB
HAVAL256.3              |    256 bits |              117 MB
HAVAL256.4              |    256 bits |              87 MB
HAVAL256.5              |    256 bits |              62 MB
MD2                      |    128 bits |                4 MB
MD4                      |    128 bits |              232 MB
MD5                      |    128 bits |              132 MB
RipeMD128                |    128 bits |              110 MB
RipeMD160                |    160 bits |              55 MB
SHA1                    |    160 bits |              78 MB
SHA256                  |    256 bits |              46 MB
SHA384                  |    384 bits |              16 MB
SHA512                  |    512 bits |              17 MB
Size64                  |    64 bits |                2 GB
Tiger                    |    192 bits |              38 MB
XUM32                    |    32 bits |              110 MB

Which tells me that while Size64 can compute far more hashes per second, it's chance of being non-random is quite high, so let's pick ED2K which is really not bad, processing 239MB haseed bytes per second.

So in that case, a script could easily go and download images from the internet from known problem sources and at ~100KB/jpeg image, it would search ~2000 images per second to find if any of them came from me, and if so who was the user pirating it

As an automation technique, visual hashing is definitely the way, and while algorithms exist to catch lossiness in recompression (as well as videos), it's frikken complicated maths!

borked 10-04-2010 02:00 PM

Sorry for the technical replies - it's good to keep technical stuff out of the thread to not complicate things...

However, I'd love to discuss technical stuff over email or IM...

ottopottomouse 10-04-2010 02:08 PM

Quote:

Originally Posted by Tickler (Post 17570015)
ottopottomouse:
The color-shift would be done by changing the color over small rectangles in different parts of the image. Again the visual change is so small(aprox 0.001%) that only a computer comparing before & after images could actually "see" it.

Thankyou :)


All times are GMT -7. The time now is 10:24 PM.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc123