[00:00.000 --> 00:00.920] ...music buddies. [00:01.140 --> 00:02.500] And he's been going to HOPE since forever. [00:02.600 --> 00:03.280] He'd like to do a concert. [00:03.380 --> 00:03.920] I'm like, okay, whatever. [00:04.180 --> 00:05.900] And then I look, and it's Joshua Fried. [00:06.580 --> 00:11.820] So Joshua is the guy, just putting in one more plug for things going on elsewhere in the conference. [00:12.360 --> 00:22.880] 10 o'clock tonight, Joshua is going to be playing with his Radio Wonderland set, which is basically remixing Radio Live, which is a high-wire act. [00:22.960 --> 00:24.720] And he does it well, right? [00:24.980 --> 00:27.060] It was absolutely brilliant last night. [00:27.380 --> 00:29.100] Ask anybody who was there, it was a ton of fun. [00:29.100 --> 00:34.780] He also has sort of an interesting rig that involves drumming on shoes and also a steering wheel. [00:36.080 --> 00:40.900] And one of the greatest parts of HOPE is getting these talks that you just don't expect and you have no idea what's going to happen. [00:41.000 --> 00:44.820] They look so weird, you're like, I'm not sure if that's going to work, but I'm going to approve that talk for this conference. [00:45.000 --> 00:50.060] So that is why we have Joshua Freed here to talk to you about skeuomorphic steganography. [00:50.620 --> 00:52.780] You might want to give us a definition of what that means first, actually. [00:54.580 --> 00:55.220] Thank you. [00:55.400 --> 00:55.660] Hi. [00:55.840 --> 00:56.980] Hello, hello, hello, hello. [00:58.400 --> 01:00.060] Yes, I think that's good. [01:00.260 --> 01:01.740] I think that is good. [01:05.280 --> 01:14.820] So, some of this is in a slideshow and some of it is actually running the software that makes the skeuomorphic steganography. [01:15.060 --> 01:16.740] Bring the lights back down again, Amy. [01:16.960 --> 01:17.660] Bring it down. [01:21.070 --> 01:22.270] They're still up. [01:22.370 --> 01:22.910] Don't get to it. [01:22.990 --> 01:23.690] But that's okay. [01:24.750 --> 01:25.030] All right. [01:27.030 --> 01:27.910] Uh-oh. [01:28.970 --> 01:34.130] Has this guy not heard that fake leather textures are completely dumb? [01:36.090 --> 01:37.530] This is an embarrassment. [01:37.870 --> 01:38.950] Somebody tell him to stop. [01:42.190 --> 01:43.190] Oh, no. [01:43.530 --> 01:44.670] It's too much. [01:45.730 --> 01:46.630] It's too much. [01:46.630 --> 01:46.730] It's too much. [01:46.890 --> 01:49.490] And this, by the way, is straight out of Keynote. [01:50.330 --> 01:50.890] This is nothing. [01:51.090 --> 01:54.950] This is total Apple computer here. [01:55.610 --> 01:56.570] And one more. [01:56.730 --> 01:57.030] Oh. [01:57.270 --> 01:58.770] And it even has the binding. [01:59.970 --> 02:01.450] It's so tacky. [02:01.510 --> 02:02.450] And who needs it? [02:03.270 --> 02:12.050] My personal theory about the skeuomorphism in Apple computer is that as Steve Jobs was declining, he wanted to make so many changes. [02:12.190 --> 02:15.670] And they had to do with making iOS like the Mac OS. [02:16.650 --> 02:17.450] No, sorry. [02:17.530 --> 02:18.290] Really the other way around. [02:18.390 --> 02:19.790] Making the Mac OS like iOS. [02:20.150 --> 02:27.030] And I think he must somehow, if not directly, then indirectly be behind the linen backdrop to Lion and Mountain Lion. [02:27.170 --> 02:31.610] And he pushed things out so fast, it kind of got out of control. [02:31.610 --> 02:34.270] And I don't think he meant it to turn into the monster that it was. [02:34.470 --> 02:42.370] And then in the middle of last year, Apple did this about face and got rid of all the skeuomorphism. [02:42.490 --> 02:47.930] And what skeuomorphism is, is design elements with features from an earlier design. [02:48.290 --> 02:49.950] So for instance, here's another one. [02:50.070 --> 02:50.750] It's a bookshelf. [02:50.910 --> 02:52.330] So they make it look like a bookshelf. [02:52.470 --> 02:54.450] But it's really just software, right? [02:56.070 --> 02:57.190] And I'm a musician. [02:57.190 --> 03:00.190] And I must say, when I first dipped... [03:01.170 --> 03:02.410] Actually, that's not true. [03:02.530 --> 03:06.050] I never really cared for this kind of thing. [03:06.150 --> 03:08.310] But it is somewhat appealing. [03:08.350 --> 03:14.590] And this is skeuomorphism because it's imitating the look of real knobs, but it's on a screen. [03:14.590 --> 03:19.170] And there is non-digital skeuomorphism. [03:19.990 --> 03:23.150] And right here is an example from a website. [03:23.690 --> 03:27.770] And these are a special product called a luxury vinyl tile. [03:28.030 --> 03:32.630] And they come in colors such as toasted oak and Brazilian cherry. [03:32.970 --> 03:34.530] And there's no apology. [03:34.710 --> 03:37.370] You know, we want vinyl tiles that look like wood. [03:39.310 --> 03:40.430] So skeuomorphism. [03:40.910 --> 03:41.630] I'll be talking... [03:41.630 --> 03:42.090] I'm sorry. [03:42.670 --> 03:42.790] Yes. [03:43.070 --> 03:43.630] Skeuomorphism. [03:44.750 --> 03:47.870] I'll be talking more about that as we go. [03:48.630 --> 03:51.990] Steganography is the ancient art of hiding messages in plain sight. [03:52.570 --> 03:56.610] And there's the Greek word steganos for cover. [03:56.870 --> 03:58.230] So like a roof or a covering. [03:58.550 --> 03:59.410] And it means hidden writing. [03:59.630 --> 04:02.310] And steganography is huge. [04:04.290 --> 04:05.290] Just a second. [04:05.290 --> 04:07.490] Ah, beautiful. [04:10.070 --> 04:15.610] And both steganography and skeuomorphism predate the digital age, which is interesting. [04:16.550 --> 04:24.270] And let me just jump to my basic concept before I get furthermore in the definitions. [04:25.210 --> 04:29.830] What I'm saying is we should hide messages inside the skeuomorphic design. [04:30.370 --> 04:31.530] Because we should. [04:31.710 --> 04:32.550] Because it's cool. [04:34.370 --> 04:38.110] And I was shocked that when I googled this, no one had done it before. [04:38.350 --> 04:40.390] And it just seemed like such a natural to me. [04:40.630 --> 04:41.850] It had to be there. [04:41.950 --> 04:44.470] It's basically like a poetic gambit. [04:44.790 --> 04:47.970] That might play itself out in the public sphere for real. [04:48.130 --> 04:53.330] Or maybe just cryptographers hanging around, drinking beer, talking about this crazy guy with this crazy idea. [04:55.310 --> 05:07.570] But there is a certain logic to it that skeuomorphism is a good home for steganography. [05:08.550 --> 05:10.690] And I'll show you. [05:12.450 --> 05:17.450] So here is an example of non-digital steganography. [05:17.950 --> 05:19.490] It's the Cardano grill. [05:20.030 --> 05:26.330] And what this is is a text message that has a hidden message inside the text. [05:26.490 --> 05:32.610] And the grill is a piece of cardboard or some kind of opaque substance that has things cut out of it. [05:34.890 --> 05:36.810] So that's the image of the cardboard. [05:37.430 --> 05:37.490] Right? [05:37.690 --> 05:40.810] And then you lay that over the message that we just saw. [05:40.970 --> 05:41.050] Right? [05:41.170 --> 05:41.870] That's the message. [05:42.190 --> 05:44.390] Lay that over the message we just saw. [05:44.390 --> 05:47.730] And we get... [05:47.730 --> 05:48.650] There. [05:50.110 --> 05:51.210] Can... [05:51.210 --> 05:51.470] Oops. [05:51.690 --> 05:52.050] Oh, wait. [05:52.150 --> 05:52.450] Go back. [05:53.190 --> 06:00.250] Can you read the secret message hidden within the longer message? [06:00.250 --> 06:03.390] All done with the cardboard cutouts there. [06:10.190 --> 06:11.290] So... [06:14.870 --> 06:16.770] All right. [06:18.610 --> 06:26.490] Another example, the most ancient example of steganography comes from ancient Rome. [06:26.690 --> 06:28.150] This guy named Histaios. [06:28.450 --> 06:31.350] But in at least one place they called him Histaios. [06:31.610 --> 06:33.910] And he wrote a messenger on... [06:34.350 --> 06:34.710] Sorry. [06:34.850 --> 06:37.010] He wrote a message on the head of a messenger. [06:37.470 --> 06:38.810] Some of the accounts say slave. [06:38.970 --> 06:44.530] And I didn't go thoroughly down in the sources to figure out what was actually right. [06:44.530 --> 06:53.570] And then let the messenger's hair grow and then sent the messenger off to another place where the head was shaved and the message was revealed. [06:53.790 --> 06:55.570] So that was the 5th century BC. [06:56.650 --> 06:59.110] And the grill, by the way, is from the 16th century. [06:59.370 --> 07:00.390] This guy named Cardano. [07:00.470 --> 07:01.750] So it's known as the Cardano grill. [07:02.130 --> 07:08.620] And I understand that some people just call it the cardboard steganography because you use a piece of cardboard. [07:13.300 --> 07:21.240] In current digital steganography, there is frequently the use of audio and still images. [07:21.660 --> 07:31.620] And there's software that a lot of you might know about, you might know better than I do, that you can use to embed audio or text inside of an image. [07:31.620 --> 07:33.940] And it basically does it in one of two ways. [07:34.360 --> 07:39.940] In the least significant bits and in a visual image, that means the areas that are... [07:40.920 --> 07:46.380] The high precision areas that control, let's say, a very subtle change in hue. [07:46.800 --> 07:48.000] Or in the metadata. [07:49.860 --> 07:53.280] So the metadata could just be some extra field. [07:53.640 --> 08:00.820] You know the EXIF data, which comes with digital cameras that retain forever where you were and when the photo was taken. [08:01.480 --> 08:05.160] You can add, let's say, a field to that with your secret message. [08:06.400 --> 08:17.040] And one use of steganography today is in water marking to prevent files from being copied. [08:17.040 --> 08:29.340] And in this case, people want to attack this steganography to disable the water mark by copying without the water mark. [08:32.800 --> 08:40.860] Now, a couple of interesting kinds of steganography that I just wanted to mention because they're so cool. [08:43.020 --> 08:45.600] There's a guy named Bruce Schneier. [08:46.940 --> 08:50.720] And he created this thing called SubiText. [08:51.000 --> 08:52.900] And an app called TextHide. [08:53.080 --> 09:07.440] And what it is, is using text, but instead of isolating given words or using code words, or in a typographical kind of steganography, you actually slightly shift the kerning and stuff. [09:07.660 --> 09:12.280] This is lexical steganography, where he actually uses the meanings of words. [09:12.480 --> 09:18.940] And he came up with a very rigorous system to identify synonyms that are unique, not overlapping sets. [09:18.940 --> 09:23.920] So he deals with a special case of two meaning also, and two meaning too much. [09:24.580 --> 09:29.680] And then certain synonyms are designated a one and other ones a zero. [09:30.580 --> 09:48.080] And then the decoder, the steganalysis engine, goes through this document and isolates those words and assigns them the ones and zeros based on the agreed upon associations with this big list of synonyms and extracts the data that way. [09:48.660 --> 09:50.340] And it's fascinating. [09:50.540 --> 09:54.160] And he has to deal with the notion of similarity. [09:54.460 --> 10:04.520] So when you're dealing with the least significant bits in an image, it's kind of easy to get the idea that, well, a slightly different hue is not going to be very noticeable. [10:04.520 --> 10:08.580] But a slightly different meaning, it's just a wonderful, brilliant thing. [10:08.720 --> 10:10.500] And I think I have another one that's just so interesting. [10:12.840 --> 10:18.480] Yes, and this was actually the inspiration for my talk. [10:18.600 --> 10:20.800] Last year, Eric Davison, is that right? [10:21.280 --> 10:22.860] He's known as X-Logic X. [10:23.020 --> 10:24.780] He gave a talk earlier today. [10:25.120 --> 10:27.940] And he gave a talk last time, did I say last year? [10:28.040 --> 10:30.480] Last time, called Exploding Steganography. [10:30.480 --> 10:34.420] And what he did is he played with directory structures. [10:34.500 --> 10:44.240] So that a zip file would, for all intents and purposes, expand to dozens of terabytes of data. [10:44.520 --> 10:52.580] More than any computer that an attacker might have at his disposal. [10:52.580 --> 11:07.000] I think he said, he's limited to four gig files so that his zip or his virtual compressed file expands to 256 terabytes. [11:07.220 --> 11:10.920] But it doesn't really... he did it in the same way that... [11:10.920 --> 11:16.860] I don't know if you've seen this problem with a file system where you look inside a folder and you see the same folder. [11:16.980 --> 11:21.060] It's just an alias to the very folder that you're on and you click forever, seemingly. [11:21.060 --> 11:22.200] I don't know if that's happened to you. [11:22.380 --> 11:25.300] It used to happen a lot going back and forth between Mac and PC. [11:25.540 --> 11:27.420] That happened to me a lot years ago. [11:27.700 --> 11:35.140] So he's using that principle to hide his data in what seems like an avalanche, an ocean of data. [11:35.260 --> 11:36.020] But it really isn't. [11:36.240 --> 11:40.020] And I thought that was... I thought that was just brilliant. [11:40.180 --> 11:45.060] And it got me thinking of steganography and sort of creative approaches to it. [11:45.060 --> 11:54.840] And this whole thing is... it's more of an idea than a technical prospectus. [11:55.900 --> 12:03.200] And one of the problems with steganography... it's really fun. [12:05.580 --> 12:11.140] One problem is it uses this... what they call security through obscurity. [12:11.720 --> 12:16.920] If they don't know that the back door is unlocked, then we can leave it unlocked. [12:17.080 --> 12:19.040] If they don't know about our back door, we can leave it unlocked. [12:19.180 --> 12:19.740] That kind of thing. [12:20.540 --> 12:25.960] That is frowned upon in cryptography and security circles, security through obscurity. [12:27.900 --> 12:40.940] And I actually think that in this post-Snowden era, we need obscurity as well as the normal principles of... [12:40.940 --> 12:43.120] I'm sorry, did I say obscurity? [12:43.200 --> 12:47.360] We need obscurity in addition to the normal tools of security. [12:49.260 --> 12:57.340] One of the rules, I just learned this, was that you should design your secure system assuming that an attacker knows about it. [12:57.600 --> 12:59.820] Don't use security through obscurity. [13:00.120 --> 13:06.560] But, as I was saying, in this post-Snowden era, we need that extra layer of obscurity. [13:06.860 --> 13:14.100] Because the well-known... and this is where it gets crazy, and this is why what the NSA did is so evil. [13:15.720 --> 13:22.940] Even the ostensibly open-source and completely vetted security protocols may have been compromised without our knowledge. [13:23.520 --> 13:31.180] So we want extra layers, we want multi-factor security, we want more than one thing going on at once, and we want hidden security. [13:31.520 --> 13:40.340] But the people that rail against security through obscurity are... they're correct, because it's not something you can be sure of. [13:40.340 --> 13:43.100] I'm only saying, we need multiple factors now. [13:43.280 --> 13:44.380] It's just a fact of life. [13:44.780 --> 13:49.960] But there's another problem, which is... and this gets to the heart of my idea, which is... [13:49.960 --> 13:54.200] We don't necessarily know where to look unless we're told beforehand. [13:54.580 --> 14:01.560] So I have to say to you, hey, I'm going to be sending you some hidden messages, and I'm going to be using this sort of protocol, and isn't it cool, right? [14:01.560 --> 14:07.280] The sender and the receiver have to be in on the joke, and that's... is it a joke? [14:07.420 --> 14:16.940] They have to be in on the procedure, and I'm thinking of ways in which we can convey a hidden message without pre-announcing it. [14:17.040 --> 14:19.820] And this might be a message to the world or to the outside world. [14:20.660 --> 14:22.440] And there are some examples of this. [14:23.700 --> 14:29.940] It was... oh, gosh, the Vietnam... no, North Korea captured U.S. soldiers from the USS Pueblo. [14:32.540 --> 14:33.280] I think that's right. [14:35.000 --> 14:40.140] And they... or one of them blinked his eyes in Morse code to say torture. [14:40.380 --> 14:40.780] Is that right? [14:40.780 --> 14:47.300] So that's... that's a situation where, in effect, his steganography bootstrapped itself. [14:47.500 --> 14:52.140] There was something about his behavior that made people know where to look and know to look. [14:52.340 --> 14:53.940] Well, they were probably looking anyway, right? [14:54.460 --> 15:02.060] Hand gestures... there's another... May was Vietnam era when they did hand gestures for photos. [15:02.320 --> 15:07.280] And here's another example from a book that I read when I was a kid. [15:07.280 --> 15:16.820] And I realized later that Heinlein was this kind of crazed, Ayn Randian, arch-right-winger. [15:17.260 --> 15:23.720] And I don't agree with his politics, but I... when I was a kid, I was all over some of his novels. [15:24.080 --> 15:25.340] And I think this was one of them. [15:25.400 --> 15:27.000] This is kind of a survivalist novel. [15:27.260 --> 15:32.680] And the... the protagonist, the couple... he's very domineering, of course. [15:33.460 --> 15:37.000] They're separated, and they're more or less imprisoned, and they have to communicate by letters. [15:37.000 --> 15:42.580] And he wants to send a secret message to his spouse. [15:43.720 --> 15:46.800] But they have not pre-agreed, so he sends her this. [15:47.360 --> 15:49.720] This... all this crazy kind of nonsense. [15:51.000 --> 15:52.940] Let's talk about Edgar Allan Poe. [15:53.140 --> 15:55.220] And he said... I put it in the red here. [15:55.680 --> 16:01.040] He said... Poe would slant his meaning. [16:01.720 --> 16:07.960] And so the message was hidden in words that were from line to line on a slant. [16:08.120 --> 16:12.740] So the first word of the first line, the second word of the second line, etc. [16:14.140 --> 16:19.320] And this is... over here is the paragraph... on top is the paragraph that Heinlein wrote. [16:19.520 --> 16:21.380] They never even discussed Edgar Allan Poe. [16:21.380 --> 16:25.480] So for her, the recipient, it was obvious that something was amiss. [16:25.580 --> 16:30.360] And this kind of principle is something I think we should use in skeuomorphic steganography. [16:31.040 --> 16:31.420] Right? [16:31.580 --> 16:40.580] And it's kind of amazing when I realized, wait, this is from when I was nine, and all of a sudden I'm talking about this in... at the HOPE conference. [16:43.360 --> 16:47.700] So these are some of the points about steganography that I just mentioned to you. [16:49.920 --> 16:52.240] And here is my little thesis, right? [16:53.960 --> 17:04.780] What I imagine is that we have our skeuomorphic textures, but it may not be strictly skeuomorphic because they're not even... [17:05.180 --> 17:07.540] the fake wood won't even be part of a bookshelf. [17:07.580 --> 17:09.640] It'll just be stuck there where it shouldn't be. [17:11.740 --> 17:12.620] Obvious skeuomorphism. [17:12.840 --> 17:13.640] Tacky skeuomorphism. [17:14.640 --> 17:16.020] Skeuomorphism in bad taste. [17:16.380 --> 17:19.500] That will be a clue to look for the hidden message. [17:20.040 --> 17:24.540] And I think that some brilliant coders could come up with some great ways to do this. [17:24.720 --> 17:26.980] And I'm not a brilliant coder. [17:27.180 --> 17:30.680] I mean, I'm not terrible, but I'm not seasoned in this kind of area. [17:31.100 --> 17:33.120] But I did come up with... [17:33.120 --> 17:34.420] Okay, that's for later. [17:34.540 --> 17:41.340] I did come up with a system, and now I'm going to show it to you after I make sure I didn't skip anything drastic that I wasn't supposed to skip. [17:43.760 --> 17:44.360] All right. [17:45.600 --> 17:46.000] So... [17:52.290 --> 17:52.970] No, we're here. [17:53.070 --> 17:53.350] We're good. [17:53.510 --> 17:53.730] Okay. [17:55.010 --> 17:58.970] I'm going to show you some of the results, and then I'm going to show you my engine. [17:58.970 --> 18:04.130] So I'm going out of Keynote and into Photoshop. [18:04.570 --> 18:11.190] Now, I very diligently made sure that I could do all of this in GIMP, which is free software. [18:11.570 --> 18:21.630] So if you encounter a skeuomorphic image from me, you can decode it using GIMP. [18:21.670 --> 18:24.270] But I'm using Photoshop because I'm just a little more familiar with it. [18:24.270 --> 18:27.090] So this is lovely cork. [18:27.190 --> 18:28.330] I really like this one. [18:31.410 --> 18:37.150] And here is what looks like the same thing, only it has been altered. [18:37.750 --> 18:48.750] And one of the cool things that I like about skeuomorphic steganography is that the skeuomorphism gives us a greater information hiding capacity because it's all speckled and noisy. [18:49.730 --> 18:51.530] And if I... [18:52.850 --> 18:54.250] Now, let's do it this way. [18:54.350 --> 18:54.790] Yeah, okay. [18:55.090 --> 18:55.410] All right. [18:55.510 --> 18:58.530] I'm going to move this, offset this a little bit. [18:58.650 --> 18:59.030] All right? [18:59.670 --> 19:08.490] So if I use normal ink, we got these two images that are slightly off from each other. [19:08.490 --> 19:15.070] But if I use the divide ink, well, anything divided by itself is one, right? [19:15.350 --> 19:18.410] And something that's divided by something less than it is greater than one. [19:18.590 --> 19:22.630] And in this Photoshop world, that comes out brighter than white, so it just resolves to white. [19:22.910 --> 19:25.050] And so you see we have a lot of white here. [19:25.190 --> 19:30.490] And then if I just line these up carefully... [19:32.890 --> 19:33.850] There he is. [19:35.970 --> 19:42.030] And I turned him into a black and white image. [19:42.230 --> 19:45.190] And I'm not going to be able to see that movie tonight, but I really look forward. [19:47.070 --> 19:54.770] And I think that's a tragedy about Aaron Swartz, but at least I got to look at him while I was doing this. [19:54.930 --> 19:56.890] So that's pretty drastic, and it's fun. [19:57.810 --> 20:02.190] And now that I know where to look, I can see this, but it's pretty hard to see, right? [20:02.390 --> 20:05.410] And if you didn't know where to look, I think you'd have trouble seeing that. [20:05.770 --> 20:13.570] And another... oh, wait, no, let me go back to... there we go. [20:15.310 --> 20:20.770] I'm calling this one... and let me... my cursor's there, right? [20:20.890 --> 20:21.350] Yeah, of course. [20:22.230 --> 20:25.310] There's the steganographic variation. [20:26.070 --> 20:28.890] I'm calling this one the steganographic... [20:31.670 --> 20:33.270] the skeuomorphic steganography. [20:34.110 --> 20:36.530] And this thing I'm calling the mask. [20:36.790 --> 20:38.910] It is... sorry, this... [20:39.570 --> 20:40.190] All right. [20:42.850 --> 20:49.290] The idea is that there must be a mask that matches the skeuomorphic texture except for the changed pixels. [20:49.690 --> 20:53.890] So then you're saying, but wait a minute, didn't he just say that we didn't have to communicate a key beforehand? [20:53.890 --> 20:55.350] Yes, that's right. [20:56.850 --> 21:04.370] I propose that the skeuomorphic texture have repetition in it so that the mask is part of the one image. [21:04.510 --> 21:07.790] So it's self-masking skeuomorphic steganography. [21:08.630 --> 21:16.230] So one part of the image has the skeuomorphism, and another part of the image has the mask. [21:16.850 --> 21:23.030] So there is iCal, right? [21:23.250 --> 21:27.010] Which they... no, I'm sorry, they called it calendar before they got rid of the skeuomorphism. [21:27.510 --> 21:28.730] And... is the door open? [21:29.610 --> 21:31.690] No, it's just the door... there's a lot of weird... [21:31.690 --> 21:32.110] Wow. [21:32.650 --> 21:33.330] That's okay. [21:33.770 --> 21:34.490] Used to that. [21:34.990 --> 21:37.730] So it's just so funny. [21:38.970 --> 21:45.830] And why he decided this late in the game that he had to do that when the industry was going in a different direction. [21:45.830 --> 21:53.390] I don't know that it was Steve Jobs in particular, but I have a feeling that it had to do with where he was pushing Apple and pushing Apple fast. [21:53.550 --> 21:54.390] But I don't really know. [21:54.510 --> 21:55.430] I haven't even read the biography. [21:55.590 --> 21:56.310] I'm just speculating. [21:58.450 --> 22:01.430] So... this other layer is offset, right? [22:01.850 --> 22:07.110] But the skeuomorphic steganography is here, and it matches. [22:07.230 --> 22:08.610] It looks like I'm one pixel off. [22:08.690 --> 22:09.150] Is that right? [22:11.690 --> 22:14.930] I'm not sure why that is. [22:15.110 --> 22:23.750] But you can see, considering it's a QR code, we're well within what we need to get that data out. [22:23.750 --> 22:28.730] And what I would do further is... let me add an adjustment layer. [22:34.650 --> 22:41.870] And I can say anything darker than a certain thing should be black, and then... [22:41.870 --> 22:41.950] Oop! [22:43.050 --> 22:43.630] Okay. [22:52.310 --> 22:53.130] I like this. [22:54.950 --> 22:58.810] I thought this was one of my prime examples. [22:59.170 --> 23:00.690] Am I slightly off here? [23:00.690 --> 23:01.470] You can see it all right. [23:01.910 --> 23:02.530] Oh, yeah. [23:02.770 --> 23:04.530] Yeah, but I wanted to take out my QR reader. [23:06.010 --> 23:08.610] And I think I can do that with this guy. [23:08.710 --> 23:09.510] Yeah, here we go. [23:09.630 --> 23:16.330] This is the one that I was all ready to send for my HOPE submission, and then at the last minute I read where they said, Don't send us anything. [23:16.470 --> 23:17.170] Just one paragraph. [23:17.850 --> 23:18.170] Okay. [23:18.810 --> 23:19.230] All right. [23:19.770 --> 23:20.130] So... [23:23.390 --> 23:26.450] We go to... [23:28.670 --> 23:29.430] Oh, just a second. [23:29.550 --> 23:30.550] Don't I have a better one? [23:35.710 --> 23:37.650] Sorry, doing these concerts late at night. [23:37.830 --> 23:39.150] Okay, I'm going to go back here. [23:41.810 --> 23:47.490] And remember when I said, if you're dividing something by something less than it... [23:47.490 --> 23:50.890] This is the sophistication of my math being applied to this. [23:51.290 --> 23:57.250] You get greater than one, but that resolves to white in Photoshop, so we might lose some pixels. [23:57.250 --> 24:06.890] So what I'm going to do is duplicate these layers, and then reverse them. [24:08.350 --> 24:14.830] Okay, so now we have the message on top of the mask, and I'm going to reverse the way the ink is handled. [24:17.150 --> 24:19.050] So that turns into divide. [24:21.050 --> 24:22.790] You can do all of this in GIMP. [24:28.270 --> 24:28.790] Yes? [24:28.970 --> 24:29.070] No? [24:35.490 --> 24:40.830] I should never experiment right in the middle of the talk. [24:48.000 --> 24:48.520] Right? [24:48.740 --> 24:53.940] Well, I have one more that I want to show you, and that is... [24:56.940 --> 25:04.290] Yes, this is an example of the printed skeuomorphic steganography. [25:04.700 --> 25:07.880] And this is where my little thesis kind of ran into trouble. [25:08.090 --> 25:26.280] Because we want to have data information storage capacity in our medium that is beyond what's needed just for the regular image, so that we have room for the steganography. [25:27.350 --> 25:32.220] And we want a certain precision that was easy for me to find in Photoshop. [25:32.480 --> 25:36.980] And even when I made JPEGs, which are lossy, I could still get my QR code. [25:37.280 --> 25:44.780] But once I printed and scanned, I discovered all kinds of distortions that made the stuff barely usable, and I couldn't read the QR code. [25:44.980 --> 25:48.240] But I found all the gambits for doing the best we could. [25:48.240 --> 25:51.220] So this is Aaron Swartz again. [25:51.480 --> 25:52.700] And there is... [25:53.340 --> 25:54.400] Wait, sorry. [25:54.570 --> 26:01.590] There is the mask, and there's the skeuomorphic. [26:02.110 --> 26:05.150] Put them together, and you can just barely see him. [26:05.370 --> 26:14.430] But then I reverse them, and I get another set of pixels that are just barely there. [26:14.530 --> 26:16.210] It's kind of ghostly, which is sort of... [26:20.250 --> 26:27.150] And between these two groups, I use the darker ink. [26:27.410 --> 26:40.330] So I'm taking all of the pixels that haven't been divided out to quite by the process, and I'm going to change the contrast, change the amount of colors, and finally... [26:40.770 --> 26:43.510] So you can just barely see him. [26:43.510 --> 26:45.250] And these are some of the tricks that I learned. [26:45.410 --> 26:48.790] You divide both ways and use a blend process. [26:52.630 --> 26:53.030] And... [26:54.130 --> 26:55.450] I still want to get... [26:55.450 --> 26:57.090] I still want to do that QR code. [26:57.210 --> 26:58.290] I've got to make this work. [26:58.350 --> 26:59.630] And we're doing okay on time, right? [26:59.790 --> 27:00.530] Yeah, I think so. [27:00.770 --> 27:01.410] Try to scan. [27:04.440 --> 27:05.540] Scan the QR code? [27:05.640 --> 27:05.840] Yeah. [27:06.880 --> 27:07.520] This guy. [27:08.180 --> 27:09.700] Is this the one you mean? [27:09.980 --> 27:10.460] Not here. [27:14.180 --> 27:15.080] Let me just... [27:15.080 --> 27:20.200] I still can't figure out why this one didn't give me the... [27:21.300 --> 27:22.920] Yeah, there's the dividing. [27:24.060 --> 27:24.920] All right. [27:25.040 --> 27:25.840] But this... [27:27.500 --> 27:35.080] I think I can just add the adjustment layer to... [27:41.760 --> 27:42.080] And... [27:45.270 --> 27:46.610] Okay, let's see how this does. [27:46.970 --> 27:48.550] Does anybody have the... [27:50.070 --> 27:51.310] I'm not going to use the screen. [27:51.430 --> 27:54.150] I'm going to use my... [27:58.390 --> 28:00.310] Oh, I got the QR reader right here. [28:00.370 --> 28:01.350] Is that what you're asking? [28:01.530 --> 28:02.490] I just want to write anybody else. [28:02.790 --> 28:03.770] Yeah, give it a shot. [28:09.900 --> 28:11.040] Oh, did you get it? [28:11.140 --> 28:12.180] It's some silly thing. [28:12.660 --> 28:15.320] I think it was the Kickstarter for my album. [28:17.820 --> 28:19.620] Okay, where's the QR reader? [28:20.460 --> 28:21.620] Yes, all right. [28:23.460 --> 28:24.340] It's coming. [28:27.540 --> 28:29.680] Now the camera is about to open. [28:31.660 --> 28:32.260] And... [28:35.030 --> 28:35.630] Yes. [28:35.630 --> 28:36.170] It's... [28:36.170 --> 28:37.590] It nailed it. [28:38.310 --> 28:39.350] And what are the... [28:39.350 --> 28:40.010] One of the... [28:40.010 --> 28:41.510] Should I do this in front of you or something? [28:43.350 --> 28:49.430] One of the things that I like about the QR code is, for one thing, it has redundancy and it's tolerant, you know? [28:53.010 --> 28:57.630] I feel like I've accomplished something verifiable if the QR code is readable. [29:02.680 --> 29:03.280] All right. [29:03.400 --> 29:04.560] I think I am ready. [29:04.560 --> 29:07.220] Let me... [29:07.220 --> 29:09.600] To show you my engine. [29:09.860 --> 29:13.340] And if anyone, by any chance, is interested in using it, just send me an email. [29:17.140 --> 29:17.660] Okay. [29:23.100 --> 29:26.160] So, I'm using this software called Max MSP. [29:27.480 --> 29:33.760] And it's how I create my performance, so it's what I'm best used to. [29:33.760 --> 29:34.350] And... [29:34.780 --> 29:38.520] If you haven't heard of it, let me just give you a really quick introduction. [29:38.850 --> 29:40.160] There are graphical objects. [29:40.350 --> 29:42.200] It's not object-oriented coding. [29:42.620 --> 29:43.420] Not in the least. [29:43.570 --> 29:47.120] But there are graphical objects that stand in for a kind of code. [29:47.120 --> 29:48.920] Like there's a metronome object. [29:49.700 --> 29:54.920] And you can give it an argument like 500, 500 milliseconds. [29:55.620 --> 29:57.090] There's a toggle object. [29:57.280 --> 30:02.180] And this is actually graphical in the sense that it has a bit of a user interface. [30:03.980 --> 30:06.050] And there's a button object. [30:06.440 --> 30:08.280] And there's inlets and outlets. [30:08.460 --> 30:10.170] And you drag lines. [30:10.940 --> 30:12.290] You draw lines with the mouse. [30:12.620 --> 30:15.460] So, the question is, does it scale? [30:15.680 --> 30:17.310] And to a certain point, it does scale. [30:17.500 --> 30:21.420] But Max MSP is now scriptable. [30:21.850 --> 30:24.000] So, it's become quite a powerful environment. [30:24.260 --> 30:34.780] And one person, a friend of mine who's a great coder, said to me, if you think of it as a set of services that you can control with JavaScript, quit mousing around. [30:34.780 --> 30:46.440] You don't need to get your repetitive stress injury all in a tizzy because you have to draw lines with the mouse a million times. [30:47.260 --> 30:48.330] You can script it. [30:48.520 --> 30:53.040] And then there are audio processing objects. [30:53.160 --> 30:54.570] There's FFT objects. [30:54.590 --> 30:57.960] And there's matrix processing objects that you'd use for images and video. [30:58.120 --> 31:00.550] And they really are powerful. [31:01.440 --> 31:01.960] Okay. [31:02.220 --> 31:04.540] So, that's one minute of Max MSP. [31:05.180 --> 31:06.020] So, what I do... [31:06.020 --> 31:07.740] Maybe it's a little bit hard to read. [31:08.020 --> 31:09.790] Here, I'll zoom in on this. [31:12.160 --> 31:14.900] So, I have set it up so you can load the stuff. [31:15.680 --> 31:17.200] And then place the stuff. [31:17.960 --> 31:27.200] And then decide just how prominent you want your steganographic overlay to be. [31:27.200 --> 31:28.240] And all I'm doing... [31:28.720 --> 31:36.240] And this is where I would like to think the community could come to me and say, Oh, there's a much better way to do this. [31:36.380 --> 31:37.570] There's a fascinating way to do this. [31:37.700 --> 31:40.640] But at least I have this simple way. [31:40.700 --> 31:42.070] And it's completely non-technical. [31:42.480 --> 31:43.790] Especially if you use my tool. [31:45.310 --> 31:47.310] And although I think that there's some... [31:47.310 --> 31:52.350] There's got to be more fascinating ways to use skeuomorphism than the way I'm doing it. [31:52.350 --> 31:58.260] It is probably as good as this least significant bit system of slightly changing the hue. [31:58.620 --> 32:01.140] And it has the advantage of not requiring any coding. [32:01.760 --> 32:04.180] So, let's find the skeuomorphic. [32:05.620 --> 32:06.440] All right. [32:06.680 --> 32:06.940] How... [32:06.940 --> 32:08.090] Should we go to the cork? [32:09.240 --> 32:09.550] Or... [32:10.050 --> 32:12.050] The knotty pine, maybe? [32:13.570 --> 32:14.220] Okay. [32:14.570 --> 32:15.540] Oh, isn't that lovely? [32:16.740 --> 32:20.330] And then let's get some... [32:21.260 --> 32:22.920] Should we do Aaron again? [32:23.020 --> 32:24.350] Or should we do the QR code? [32:26.280 --> 32:28.160] That's all I have right now, actually. [32:28.310 --> 32:29.380] A couple of QR codes. [32:32.280 --> 32:32.850] And... [32:32.850 --> 32:33.400] Okay. [32:36.060 --> 32:37.590] I place this. [32:39.180 --> 32:41.720] And there it is on the upper left. [32:41.720 --> 32:45.310] And what I can do is very random the R, G, and B. [32:45.550 --> 32:46.140] So each... [32:46.520 --> 32:52.090] For each pixel, they are offset either higher or lower by a certain amount. [32:52.960 --> 32:55.540] And I determine that strength with this slider here. [32:55.740 --> 32:56.200] It's dim. [32:56.500 --> 32:56.960] It's bright. [32:57.050 --> 32:57.960] It's more intense. [32:58.240 --> 32:58.900] It's less intense. [32:59.380 --> 33:02.420] Or I can treat the R, G, and B as one. [33:02.550 --> 33:05.120] Always offset them the same amount. [33:05.640 --> 33:08.220] And I control that with this menu here. [33:09.240 --> 33:16.980] And depending on what you're using and how you feel at the time, you can use one kind of alteration or another. [33:17.700 --> 33:22.640] And about this much alteration should work. [33:22.660 --> 33:23.760] And it's pretty hard to see. [33:24.200 --> 33:25.940] And then I can also... [33:26.960 --> 33:31.700] I added this ability to move the things. [33:33.180 --> 33:33.620] Right? [33:34.980 --> 33:36.310] And it can make it bigger. [33:40.510 --> 33:41.130] Not all... [33:41.130 --> 33:42.510] The QR codes are all squared. [33:42.670 --> 33:43.330] It doesn't have to be. [33:43.870 --> 33:44.090] Right? [33:44.230 --> 33:49.570] And then once I get it the way I want it, I just click export. [33:51.730 --> 33:57.210] And I get a PNG file that I can match against the mask. [33:57.690 --> 33:59.650] Now, more about that self-masking. [33:59.850 --> 34:04.290] I think that there can be tiled skeuomorphic textures. [34:04.710 --> 34:06.070] And this is one of them. [34:06.170 --> 34:10.490] This apparently was cleverly designed so that you can have these laid out... [34:10.490 --> 34:14.230] I don't know quite how they do it because of that stripe on the bottom. [34:15.010 --> 34:16.770] Maybe this wasn't one of the tiled ones. [34:17.110 --> 34:20.030] But there can be tiled skeuomorphic textures. [34:20.410 --> 34:24.490] And they obviously have the repetition that I want for my self-masking. [34:24.950 --> 34:28.170] And also there's the idea of a symmetrical skeuomorphism. [34:28.710 --> 34:33.890] And that the flipping of the pixels should be also obvious to the recipient. [34:35.030 --> 34:35.670] All right? [34:36.010 --> 34:36.490] So... [34:39.910 --> 34:41.230] I think this... [34:41.230 --> 34:45.030] Is the demo pretty clear before I go back to wild speculation? [34:45.430 --> 34:46.190] You got it? [34:46.250 --> 34:49.870] And again, if by some chance you're interested, just email me. [34:49.970 --> 34:51.290] And I can make a standalone. [34:51.490 --> 34:54.190] You don't need the max MSP package to do this. [34:58.290 --> 34:59.250] So now... [35:05.270 --> 35:07.790] I want to talk a little bit about the pros and cons. [35:07.790 --> 35:13.910] And I guess I've already gone over the supposed advantages. [35:15.650 --> 35:20.730] That if we're sort of like-minded, we'll be able to see, oh my gosh, tachy skeuomorphism. [35:20.810 --> 35:23.970] Maybe it's something we can now find a hidden message in. [35:25.730 --> 35:32.550] And what you get is sort of a small area of higher entropy, which allows data to be embedded and not be noticed. [35:33.590 --> 35:46.870] And also, and this might actually be of use, it requires pattern recognition, which is something computers are not yet as good at as we are, or at least not in common use. [35:47.310 --> 35:56.210] Every time I see a CAPTCHA, you know, where you have to type in the characters or numbers that are displayed, I think, how long is it until the computer can do this? [35:56.210 --> 35:57.950] It's just only a matter of time. [35:58.230 --> 36:05.590] But that still is now supposedly a valid authentication measure to prove that you're a human and not a robot. [36:05.810 --> 36:13.190] So if that kind of pattern recognition is still beyond the computer, then that is a vote for skeuomorphic steganography. [36:13.390 --> 36:15.790] That as people, we know where to look. [36:15.870 --> 36:25.890] But if people who are trying to find our hidden communications are scanning millions of images, the computer, in theory, won't be able to recognize the skeuomorphic. [36:34.110 --> 36:44.050] So the big drawback is the printing. [36:45.190 --> 36:48.690] And I had all kinds of plans. [36:49.770 --> 36:52.810] I wanted to see steganographic clothing. [36:53.370 --> 36:57.110] You know, especially if you have to cross a border with nothing but the clothes on your back. [36:57.270 --> 37:01.190] Then there could be messages in the weave of your coating. [37:01.290 --> 37:08.650] Things printed on cloth, backpacks, or magazines, handbags. [37:09.210 --> 37:11.290] And I definitely want to include something like this. [37:11.570 --> 37:13.310] This is going to be on my album cover. [37:13.430 --> 37:15.170] And I'm doing a vinyl album. [37:16.870 --> 37:20.090] And I still don't know if it's going to really make the cut. [37:20.390 --> 37:27.030] If I want to have a QR code on the album cover, it may only work in sort of the JPEG of the album art. [37:27.210 --> 37:29.550] But maybe some sort of an image will be enough. [37:30.770 --> 37:34.830] But I just can't... I can't let go of this idea. [37:35.010 --> 37:51.090] And one of the reasons why I wanted to do the QR code was because I plan on including an encrypted zip file with some extra material including secret and special files that I know would be of interest to everyone here as part of the USB version of my album. [37:51.370 --> 37:58.050] And that would only be decrypted with a key that was obtained through the QR code that was in the skeuomorphic steganography. [37:58.190 --> 38:00.070] That's my grand plan. [38:00.290 --> 38:11.430] And it's something I think there's a good shot that one or two people would be interested enough to go to take the trouble to figure it out. [38:24.070 --> 38:27.170] So one of the other problems is... [38:33.920 --> 38:34.800] Oh, I'm sorry. [38:34.940 --> 38:35.780] No, I already... [38:37.540 --> 38:39.500] Except for that it just isn't a thing. [38:41.100 --> 38:42.580] And maybe it won't be. [38:42.760 --> 38:48.180] But my idea is maybe, just maybe, we could make this happen because it should happen. [38:48.660 --> 38:52.720] And maybe years from now, you'll see out-of-place skeuomorphism and you can enjoy it. [38:54.780 --> 39:02.080] Now, there's some other techniques that I'd like to see employed. [39:03.840 --> 39:08.420] There is special code on currency, like on the $20 bill. [39:08.540 --> 39:11.120] There's these 20s that are scattered in a certain pattern. [39:11.120 --> 39:19.500] And apparently it's the spatial relation between... among these 20s that show that the bill is legit. [39:19.680 --> 39:19.760] Yeah. [39:19.920 --> 39:20.380] Five minutes. [39:20.560 --> 39:21.140] Oh, okay. [39:22.200 --> 39:22.600] Oh. [39:22.820 --> 39:24.720] Oh, I thought I had till seven. [39:24.920 --> 39:25.080] Oh. [39:26.160 --> 39:26.560] Oh. [39:27.640 --> 39:28.740] Thank you for saying that. [39:28.760 --> 39:29.260] We need that for Q&A. [39:29.580 --> 39:30.440] No, that's right. [39:30.620 --> 39:32.860] Yeah, I'm not sure there's going to be a lot of Q&A, but there might be. [39:33.440 --> 39:33.780] Okay. [39:34.500 --> 39:38.860] I want to have a technique such as those altered patterns. [39:40.920 --> 39:47.620] And there's also something that Xerox and HP are doing that they're calling printer steganography. [39:47.780 --> 39:53.580] These really light dots in prints that show that it is an original. [39:54.980 --> 40:09.200] And also this idea to do more with the skeuomorphic in the structure of it to make it more amenable for the steganography instead of what I'm doing, which is just playing with the least significant bits in a very non-technical fashion, which is about my speed. [40:13.120 --> 40:30.560] Now, what I said about this in my original proposal was that skeuomorphic steganography is spawned in the terrain where art coding and media interbreed. [40:31.240 --> 40:38.900] And it maybe is sort of a hype-y lead-off sentence, but the more I thought about it, the more I thought that may be the most interesting thing. [40:38.940 --> 40:48.060] It may be the only interesting thing about this talk and about this idea, because I've talked to enough people so that there's some kind of interest. [40:48.060 --> 40:49.460] It is intriguing to people. [40:50.020 --> 40:52.480] And it could become a thing. [40:53.800 --> 40:58.640] And that it's gotten this far, and I'm talking up here, is sort of the most amazing thing. [40:58.740 --> 41:09.700] And it makes me wonder, even if this isn't innovation, innovation could happen this way through what I can tell you was a completely artistic impulse. [41:09.880 --> 41:15.000] It sounds kind of pretentious, but I've been doing music a lot longer than I've been doing coding. [41:15.000 --> 41:24.940] And frankly, steganography and skeuomorphism were two words rolling around in my head when the apple had the peak of skeuomorphism and then the about face. [41:25.340 --> 41:29.620] And then we were hearing more and more about the NSA before Snowden and after Snowden. [41:29.920 --> 41:32.340] Steganography is something that just came more and more in my consciousness. [41:33.100 --> 41:39.580] And for the longest time, I was thinking there has to be steganographic skeuomorphism, skeuomorphic steganography, what is it? [41:40.000 --> 41:43.660] And then I realized there's something to it. [41:44.540 --> 41:46.780] And it now went as far as this talk. [41:46.940 --> 42:00.460] And if it means anything, I think one of the things it says is that hope, as a conference, an organization, is trying to operate on more than one level. [42:00.560 --> 42:02.940] They have concerts and technical talks. [42:05.820 --> 42:10.500] And it seems to me this might be a little bit like net art. [42:11.920 --> 42:21.000] And net art is where people collage and mix up websites or have Twitter feeds, create some kind of artwork. [42:21.260 --> 42:23.600] It's maybe a little bit in that area, but this really isn't art. [42:23.740 --> 42:30.100] It's some odd technical proposal that's like techno-technical poetry or something like that. [42:30.100 --> 42:34.140] I'm not sure what it is, but I think maybe this could be a thing. [42:34.560 --> 42:37.400] And I want to just leave with a story. [42:38.700 --> 42:40.100] In November 1948... [42:40.660 --> 42:42.860] Oh, I can go back to my keynote. [42:43.060 --> 42:59.480] In November of 48, this guy named Richard Hohn, I think, wrote a letter to the editor to Astounding Science Fiction magazine with a detailed critique of all the stories in the November 1949 Astounding Science Fiction. [42:59.480 --> 43:00.280] And this really happened. [43:00.560 --> 43:03.480] And it was all this stuff about the different stories. [43:03.540 --> 43:07.720] And I think that this is Heinlein's best so far, but it lacks such and such and all this. [43:08.160 --> 43:11.120] And so then the editor, Joseph Campbell, right? [43:11.940 --> 43:22.420] John Campbell, approached the writers that were referred to in this whimsical letter to the editor and then asked them to write the stories so that the prophecy came true. [43:22.420 --> 43:30.360] So this whimsical, fictional idea became a thing because they wanted it to and these works were born. [43:30.780 --> 43:32.260] And I kind of like that. [43:32.880 --> 43:36.300] Now, wait, one more idea. [43:36.600 --> 43:38.460] And this is one more minute according to my clock. [43:42.500 --> 43:44.660] Supposing this doesn't become a thing. [43:45.880 --> 43:48.680] But there are law enforcement people here at HOPE. [43:49.160 --> 43:49.460] No doubt. [43:50.160 --> 43:56.100] And some of them aren't in this room, but they're reading this description and they've written down on their pad, gotta watch out for skeuomorphism. [43:56.380 --> 43:58.880] So this could help us even by doing nothing. [43:59.300 --> 44:00.340] It may be kind of... [44:00.340 --> 44:07.980] I may be shooting myself in the foot in a way, but it's still embedded in the concept that, oh, this might be a thing. [44:08.100 --> 44:09.220] We've got to search for this. [44:09.400 --> 44:21.840] And I think that sometime after the 9-11 attacks, there was this massive search of millions of porn images or something because the notion got out there that Al-Qaeda was embedding secret messages in porn and nothing was ever found. [44:21.980 --> 44:22.820] It was millions of them. [44:25.900 --> 44:30.360] And if there is art in this, it's not in the visuals. [44:30.580 --> 44:32.280] It's somewhere. [44:32.940 --> 44:50.320] And I dream of a world, just slightly more fun than this one, in which skeuomorphism takes on a new life, not as kitsch, an eyesore, or some wigged-out aberration at Apple Inc., but as a hint of a possible invitation, a breadcrumb left by a new friend. [44:51.560 --> 44:52.260] All right. [44:53.840 --> 44:54.540] That's me. [44:54.780 --> 44:55.660] And so, questions. [44:56.060 --> 44:58.460] I know we're running late, so if there's no questions, we're fine. [44:58.460 --> 45:00.420] No, we've got 10 minutes for questions. [45:00.580 --> 45:00.760] Okay. [45:02.020 --> 45:02.880] Yes, but if... [45:02.880 --> 45:03.960] Is there a mic? [45:05.240 --> 45:05.900] No, no, mic. [45:06.020 --> 45:06.380] You're going to have a mic. [45:06.840 --> 45:08.600] It's pretty... If you can repeat what people ask. [45:08.680 --> 45:08.900] Okay. [45:09.320 --> 45:09.800] That's smart. [45:11.120 --> 45:11.980] Is there a question? [45:13.440 --> 45:13.920] Right there. [45:17.910 --> 45:20.230] Anyway, in 2006, there was a white paper about [45:23.320 --> 45:23.980] JPEGs. [45:23.980 --> 45:24.600] Yeah. [45:24.700 --> 45:25.500] About the compression. [45:25.680 --> 45:26.160] Uh-huh. [45:26.340 --> 45:26.700] And [45:30.170 --> 45:37.570] it seems like the minor alterations you make in the image would flag it for that, show up right away. [45:37.790 --> 45:41.350] Yeah, I'll bet it would, but that's why it's part of a multi... [45:42.130 --> 45:51.870] It should be a multi-factor security measure anyway, so that I'm guessing that for an important message, the message itself would be encrypted. [45:51.870 --> 45:57.510] But I have no doubt that it would be flagged, and if it wouldn't, I think that'd be ever more fascinating. [45:57.730 --> 46:03.030] But if this flags the kind of techniques that I think are the most common, I guess it would flag it. [46:03.430 --> 46:05.490] That doesn't surprise me. [46:05.550 --> 46:06.670] At least it doesn't really stop me. [46:08.510 --> 46:09.310] Other question? [46:10.710 --> 46:15.050] Did you see the artwork downstairs where they had the QR code and then the... [46:15.810 --> 46:20.570] Yes, and I know Max, and it was amazing that we've done stuff together. [46:20.570 --> 46:26.030] It's amazing that not only were we doing stuff that was kind of similar in spirit, but we're both using QR codes. [46:26.210 --> 46:41.330] Yeah, so in spirit with that, I mean, I remember as a kid, just the analog version of that, where you took one color of the glass and you put it on top of something, and because of the hue difference, it would only stand out when you put that filter on front of you. [46:41.330 --> 46:42.370] Oh, sure. [46:44.730 --> 46:53.410] Like in the game Concentration, the home version of that game, there are clues, but they're obscured by something red. [46:53.650 --> 46:55.510] But then when you put the red filter over it... [46:55.950 --> 46:56.250] Yeah. [46:57.950 --> 46:59.890] But you wanted to ask something or just... [46:59.890 --> 47:03.700] I was just throwing that... [47:03.700 --> 47:04.920] Oh, yeah, yeah. [47:05.080 --> 47:16.300] Oh, and another fascinating thing, they have created halftone screens for halftone printing, that can decode extra data because of subtle variations in the halftone screen. [47:16.460 --> 47:19.760] And this might really be something for skeuomorphic steganography. [47:20.020 --> 47:27.060] Although we're not really using halftone nearly as much as it was used decades ago in print. [47:27.400 --> 47:28.220] Other question? [47:29.540 --> 47:30.640] Any answers? [47:31.080 --> 47:32.220] Just hold back there, I see. [47:32.960 --> 47:33.680] Is that Max? [47:34.040 --> 47:34.220] That's Max? [47:34.560 --> 47:34.900] Hey! [47:35.300 --> 47:35.580] Hey! [47:39.360 --> 47:42.960] The, the, the sort of... [47:46.910 --> 47:47.430] Season... [47:47.430 --> 47:47.730] Yeah. [47:48.310 --> 47:48.510] And [47:54.090 --> 47:56.490] ID in the specific printer. [47:57.430 --> 47:59.870] Oh, yes. [48:00.570 --> 48:01.150] That makes... [48:01.150 --> 48:05.770] Which is even more in the printer software. [48:06.550 --> 48:09.310] Or maybe that's not even necessary, but... [48:09.310 --> 48:35.370] to have the fine rate controlled to, you know, to work on that level, that would be interesting I was thinking along the lines of trying to work on that level, but as far as hacking the printer, I think you would want to reverse engineer whatever the chip is doing and then replace it with your own that would perform the same functions without the telltale dots. [48:35.570 --> 48:38.350] It's definitely over my pay grade, but it's fascinating. [48:39.810 --> 48:42.790] I haven't been repeating the questions, but I bet they've been audible. [48:47.450 --> 48:48.330] Other question? [48:49.050 --> 48:49.530] Answer. [48:50.030 --> 48:51.870] Do I have more to add? [48:52.770 --> 48:54.390] I probably have stuff to take away. [48:57.730 --> 49:02.930] If you're all interested, send me an email and I'm reachable here and I'll gladly send you a standalone. [49:03.330 --> 49:07.430] No, I think I've covered more than it's worth, perhaps. [49:07.890 --> 49:08.730] So no more questions? [49:10.650 --> 49:13.590] Sometimes what happens is you say it's over and then the questions start. [49:13.590 --> 49:15.890] It's like everybody go and then... [49:15.890 --> 49:16.890] I got another one. [49:17.190 --> 49:17.670] There we go. [49:18.570 --> 49:19.010] Hello. [49:19.430 --> 49:19.930] Hi again. [49:20.990 --> 49:27.230] We're talking about the vinyl and I was thinking about was it Jack Light who just released the vinyl with all the weird stuff in it? [49:27.990 --> 49:28.770] Do you hear that? [49:28.890 --> 49:30.830] It has like a quote-unquote hologram and... [49:30.830 --> 49:32.970] On the cover or in the vinyl itself? [49:33.130 --> 49:33.730] It's the vinyl itself. [49:33.790 --> 49:36.230] I don't know what you thought about embedding stuff into vinyl. [49:36.230 --> 49:40.870] Well, my understanding is that colored vinyl as a rule doesn't sound as good. [49:41.050 --> 49:41.850] Or in the audio. [49:43.590 --> 49:43.970] Nah. [49:44.310 --> 49:44.630] No? [49:44.750 --> 49:45.010] Okay. [49:45.870 --> 49:52.810] No, it's enough that my bizarre concept of a band should translate to audio without adding an extra layer to the audio. [49:52.810 --> 50:04.630] I mean, one of the ideas of my album is to demonstrate that this real-time collage of found sound could be danceable as pure audio without seeing the live performance. [50:04.630 --> 50:09.070] So I don't want to add another quasi-performative element to that. [50:09.330 --> 50:09.370] Right. [50:09.370 --> 50:12.630] But it's absolutely interesting. [50:13.050 --> 50:17.930] And for that matter, you could have a JPEG where in the low-level bits there is audio encoded. [50:18.150 --> 50:22.130] And then in that audio, in the very low-level bits, you can have some kind of image encoded. [50:22.690 --> 50:24.250] There's no end of possibility. [50:24.710 --> 50:27.430] And I just wonder, what do you call... [50:27.430 --> 50:30.270] I guess to a great extent you just call it conceptual art. [50:30.270 --> 50:34.350] Except, skeuomorphic stagnography isn't really an art piece. [50:34.510 --> 50:36.710] It's this thing, as I said before. [50:37.930 --> 50:38.150] All right. [50:38.410 --> 50:39.970] I think that's it. [50:40.870 --> 50:42.150] Thank you very much.