Chapter 38 - 38-Performance II

Chapter 38 - Performance II


   The new federal holding facility, was indeed much the same idea, yet so much more comfortable. The guy in the suit I had made friends with? Seemed all proud to show me off to all the other suits here. They claimed, it was an FBI facility? But not everyone here was FBI.


   My new cell, was now a proper room. Much bigger, by cell standards. The bed was more like a cheap motel bed, not something from basic training then auctioned off. A little desk and a lamp.


   My laptop sitting there, and my box of pocket stuff in baggies next to it on the desk. How helpful of them.


   I milked the first day, for all it was worth. Testing my limits, like a new child finding boundaries. I found out, after a little speech. As long as I didn't try to beat anyone to death with a frozen banana? I was fine. I could even walk around, as long as things were on an even keel. My room, my more comfortable cage? Open I found out, 24 and 7.


   After a gallon of iced tea, and a hot pizza for lunch? Extra pepperoni, extra cheese. Mushrooms, anchovies, and pineapple. I had to have some of the guys in.


   "Okay. Who wants to know the basics, of my laptop."


   "Can we record this?"


   "I don't care. Guess it depends on your memory, or, once I open it up? I could get you a text file of the commands."


   "Explain away. We have all day? We have all night. We work in shifts. Just overtime to us, we actually like it."


   "You guys tried opening it up, and you get challenged for a password. Quick, I might add."


   "Yeah."


   "Its quick, because there's technically speaking, in several different ways? No operating system. I'm sure you took copies of the hard drive. And?"


   "Its a small hard drive partition, but its encrypted. The rest of the hard drive? Just open space on that partition. Nothing encrypted."


   I filched my little metal thumb USB drive out of my effects.


   "The hard drive? Is technically just storage. The operating system? It runs in memory. Its the tiniest operating system I could get, too. And still have basic graphics. All I require of an operating system in this case here? I want it to run in memory, which means small and fast. I need the ability to run C executable. And with basic graphics? I make my own little desktop. Only my own couple of programs, are there."


   "So, you can just boot it up now?"


   "Sure. Won't help you, but I will."


   "How can it not help."


   "Because it was such a small version of Linux I started with? I had room at the kernel level. My code? Is at the kernel level. The entire part of the hard drive that's protected? If you enter the correct password. It uses my coding system, and gives it the ability read and translate. My little desktop? Has its own personal file driver. It thinks of it as the hard drive, but... that file? Is encrypted."


   "With, what."


   "My encryption system. Its a variable bit algorithm I worked on. So. To even try to attack it? You first are up against one giant fact. This is the first time you ever encountered a brand new encryption scheme. And you have to first guess, how many bits it was even encoded with. Also? Let's pretend you know that. What if I ran it twice, with different bits length of key, each pass. You don't get plain text, out of the first pass. How would you even know, when you were getting close."


   "And would you mind, if I asked you to repeat that, for someone that knows more about that stuff? He'll be polite. Scout's honor."


   "Sure."


   I asked for, and got by the way, a popular brand take out fried chicken for dinner. The night guys, as I thought of them? Were playing on the internet on the big screen they had in that corner of the office space. They thought it was a great choice, too.


   The next day? They had a couple new guys. I repeated my spiel to them, and they took notes and asked more questions.


   "So. Lets start again."


   I stuck the USB thumb drive, into the only USB slot off and almost hidden, all by itself in the back.


   "As far as the motherboard is concerned? That's the primary USB port, and it will always get polled first, and run fastest throughput. As I said, the operating system is a tiny custom I added on to it, to do the limited number of things I needed to be able to do, to prove I could make my own operating system, to run my own software."


   "And the encryption."


   "That, was a side benefit."


   My laptop sat where it did for them. A simple password box, waiting.


   "I'll give you the password. It doesn't give you non-encoded access to anything. Its... rain. All small letters."


   "Any reason why you chose that?"


   "Yeah. Its my nickname. One of them, anyways. For my fiancee. The one that got murdered, years ago. My little rain."


   This took us to the desktop, after a surprisingly short little wait.


   "That's the decoding part loading in, always slowing things down. Without the security? This thing is lightning fast. I don't do anything but poll the mouse and get its true position. Everything is a rectangle. All I need to track, is the start point, and the relative size of the rectangle."


   "Simple desktop."


   "And what does your employee need. The one doing payroll? Doesn't need to be on the internet. She needs to be doing payroll. This thing, will boot and run, every single time. No hiccups like with a normal operating system. Its basically wired up like a dirt bike, to just run. My software. Period. I give you the time, and if you have open documents down in the taskbar."


   "What files can we expect to, you know."


   "I just happen to have a little care package, right here."


   "Explain it?"


   "This program? Taps into the CPU and gets certified random bytes. You tell it how many you want, it gets them and makes them into a file."


   "How big is the file?"


   "As big or as small as you specify. It makes the same file, twice."


   "For..."


   That, is your key. You don't get my key, that I used. But? You get the entire cipher."


   "Really?"


   "It wouldn't be what I call a real cipher, unless I explained how it works, and you still couldn't get anywhere."


   "I smell a lecture coming on."


   I grinned.


   "Or, here's my white paper. It explains every step. Program's already written. Am I not my brother's keeper, that I give you some oracle access?"


   "Care to give me some highlights, before we study this?"


   "Can you name one, single, variable bit cipher? A true variable bit cipher."


   "Not off the top of my head."


   "Me neither. And I looked around. Not that I know where to look, but I did. I can't find one."


   "How many bits can you use?"


   "I kinda don't go by bits. I use characters. Naturally, every character being 8 bits. I've ran it with thousands of characters, it just bogs down. I run it regularly, with a couple thousand bits."


   "You do know, it takes more t---"


   "...that it takes more than raw bit depth to make a cipher secure. That's what I heard. But, as the number of characters in the key get up there? It actually works better."


   "You got any kind of real numbers on this thing?"


   "I wrote a small program, it just counts the characters. All of them, 0 through 255. Some guy online, was whining. I can just count letters, and show you how your home made cipher isn't really doing shit."


   The guy chuckled.


   "Pissed you off?"


   "Technically, no. But... I responded. I showed the distribution. I used a relatively... sedate number of characters for the key, too. Fed in a known plain text, and showed the resulting cipher text. Character distribution? Was completely random and even, across all 256 possible values."


   "Did that shut your... whiner up?"


   I rolled my eyes.


   "No. It did not. He said it was a short known plain text test. Under longer text, the ability of the home made codes and ciphers go way down. I asked what he suggested. He said, the King James version Bible would be more than fair. I guess people download and search bible text, its a thing. Ran the text file through it. It took a while, it chugged out the bible. So, here you can see... this is the key I used. Since those are random bytes? Not all of them are ASCII characters, I refer to them by number as well as character."


   "Same number of characters."


   "Of course. And here, is the character counts. Of the English bible first, that's a breakdown of every letter. Periods and commas and quote marks, too. What. Its just a program. I count all unique characters in any size text. Here's the counts, to the matching cipher text. Look, at that completely flat character distribution. Like glass. Now, don't blow smoke up my ass. Tell me this cipher isn't working good."


   "I admit. It looks good. Any more numbers?"


   "My number one fan online?"


   The guys were chuckling now. One of them catcalled me for humor.


   "Well, you were sure number one, in his book."


   He flipped the bird, the middle finger. To get the laughter.


   "Well. If I could understand what mister grumpy pants was asking for? I actually would write a little program, and get it to him the next day. Like, the character counts and distributions. So I came up with this, trying to... basically shut this one guy on line up. I take, as many... small letter e characters in a row, as you want. Run them through it. I get a pretty even character distribution? Before I get to 64 characters of text being coded and decoded. As a torture? Go on. Run as many small letter e characters as you want."


   "You mean, you ran a plain text through, of nothing but little e?"


   "Yeah. That white paper, is right there. The more little e's you run through? You just get higher but even character counts. I've kept track of large streams ran through it? They seem to qualify for random bytes."


   The guy popped his finger on his chin, wondering.


   "Hmm."


   I'm more or less sort of "selling" my cipher now. To guys who are supposed to know something about the subject of cryptography.


   "My turn, to ask you guys questions, then? Come on. I live in isolation for my geek stuff like this I get into. Online or nothing, and every field has weirdos."


   "Go ahead."


   "Okay. You guys, all work around ciphers. Digital cryptography. Right?"


   "Not all of us, no. A few of us? Very much. Most of us? Familiar and work around if not right in it. And a few? Not much at all. We won't tell you which are which, but like it really matters anyway."


   "And the pay stubs? Can I just say I'm... in well rounded company? Everybody joining in for the little sleepover fun."


   "I would neither confirm, nor deny that. Its an FBI facility. Not all of us work for the FBI. You can guess however you want."


   "Good enough for me. So. Some experts here. You're faced with a new cipher. A brand new one. You don't even get the key length. Now, I'll give you some oracle access. What, how do you go about determining the key length, in the first place. I'm curious about that. I could be, 128 bits or 4,001 bits. More, less, any number."


   I didn't get an answer immediately. One voice rose up slightly.


   "What's the header file look like, any block structures. Beginning of file, end of file marker, anything."


   "Nothing like that. Character in, character out. Characters out? Appear completely random. I know they're really not? But, I can't download anything to test them that says otherwise."


   "So. What's our oracle access, then."


   "Here. You get what I got. Here it is. You're free to use it. What you call a key? I just start with, I never named it, so... I call it the key. Arbitrary? I just collect one million certified CPU motherboard bytes. These? Are the same random bytes, that feed all the so called real ciphers, anyways. I know that much. You just don't get my key, my one million character file. You do, however, get your own. You get the same software, that encoded the file that's encrypted. You can read the operations of the cipher, and my white paper gives easy examples at a low bit count, to demonstrate how what I call the two pads operate. You can even look at the white paper, and the program itself. Like any true cipher? I have to provide the code, for inspection. To see I really am implementing everything I say I am."


   "Hmm."


   "Is that not... oracle access? In world war two code breaker terms? You just captured an Enigma machine. You can run your own plain text through it, and see if you think you can do the deed on a real one."


   He just nodded.


   "So, let me get this straight."


   "Yeah."


   "You... this is just a game to you?"


   I looked around. I nodded yes.


   "Essentially. How many times did me or my lawyer tell you, that there was nothing of any value on my laptop."


   "How in the hell, did you... even..."


   "I got my days and nights mixed up, that's how my grandma used to say it. I'm the extra set of hands, on that damn statue. It took a long time. We work through the night, or nap whenever, it doesn't matter. It was a long project."


   "I get that."


   "Well? I drank a bunch of coffee, to stay up so I was ready for the dedication, then this statue project is all over. I'm taking a break, this took a while. I didn't realize exactly which laptop I had with me, until I remembered I left it on the guardrail, when I went over to take a piss. Once I realized what I had on it? I wondered how I could go about it."


   "Go about what."


   "My cryptography software? Its like a tree falls in the forest, and no one's there to hear it. But, if I can get the state police techs to fail. Need a court order. When I heard the FBI was going to take a crack at my encryption? I was tickled pink. When this is over? I plan on putting in to give a talk on cryptography at the next DEF-CON. I think more agencies than just the FBI are represented here. You guys have a couple more months. If you can't locate significant vectors, given the code that produced the algorithm? I guess I win."


   "Christ. This is just a game to you."


   "I had a chance? To go from tree that fell and no one was there to hear it, to... battle tested. If its mission critical, that no one be able to read your cipher text, without the key? I'm the best game in town. Brute force impossible, with the high key counts I can use. If you do manage to secure a vector, looking at the operations? You need a pretty big vector. Cutting it in half? Doesn't really get you anywhere that you can still brute force it. And remember. I like to run my cipher text through, and encode it at a different number of bits. No, I think if the president himself, wanted to talk dirty to his girlfriend in email? My software? Will be relevant, when I get out in a couple months."


   "That's your plan."


   "Texting software. To automate it. Buy a box of a certain cheap phone, and make an app that performs it automatically. Secure texting. I'll be the only one offering it. My ex, she's dead now. But, she worked in state politics. She wasn't a politician, thank god, she just worked around them. They were all concerned about security. They knew bugging had gone on, people knew things they shouldn't know. They know their email can be read. Me? I can give them the capability to put a stop to that. Like I said. If its mission critical? That's my niche."


   "You planned this."


   "Once I realized what laptop I had left there? I realized in time that I could."


   "And if we fail to..."


   "Almost all of the laptop? You can see it now. There is that one secure partition. I'm not cruel. At the end of the six months? I promise I'll show you what was in there. I know you made copies of the hard drive, so I can't change what's there. You can wipe this hard drive, and copy the original back onto it, to prove I didn't change what's in the secure partition."


   They never did break it, and while they discussed possible vectors from the code? They admitted they were tiny slices. Nothing close to reading it. I showed them, before I got sprung on six months being up. Contempt isn't even a criminal charge, so its nothing on my record. After they gave up, and were about to have to let me go? It did something for me, to let them read my little plain-text file.


   My rain poem or lyrics. Like it would be anything else.


   Its not over, but its getting there. And the end of the line for me, after all this?


   Isn't pleasant.