24
The monthly byte Special Issue CSEA 00101010 The Pirate Bay AFk Featuring CES2013

The Monthly Byte

Embed Size (px)

DESCRIPTION

This is the first printed issue of the Computer Science and Engineering Association Magazine - The Monthly Byte.

Citation preview

Page 1: The Monthly Byte

The monthly byteSpecial Issue

CSEA

00101010

The Pirate Bay AFkFeaturing

CES2013

Page 2: The Monthly Byte

Abdel-Rahman Hassan

I’ve met a few people who can genuinely argue that The Pirate Bay (TPB) has offered them more in their lifetimes than did their local government. Although such is a highly debatable argument, it comes with no surprise. The p2p file sharing system that TPB has developed and adopted has revolutionized many aspects of information sharing. The website which facilitates peer-to-peer file-sharing using the BitTorrent protocol, was only founded in 2003. Today, The Pirate Bay stands as one of the most influential file sharing websites on the internet.

However, every technological advancement is accompanied by an array of social and ethical implications. In the case of TPB, these implications were immense, as many outlets and entities have viewed TPB to promote digital piracy on a mass scale. It is often when such entities perused TPB owners in court, leading to two of the website’s founders to be fined and sen-tenced one year in jail by Swedish courts back in 2009. TPB now continues to function, but is blocked by ISPs in more than 20 countries.

As the legitimacy and intentions of TPB have always been put to question, its founders have recently brought to light a movie documenting their journey. The movie is titled “The Pirate Bay AFK” standing for, The Pirate Bay: Away From Keyboard. Here are a few reasons why you should watch it:1. You might get a glimpse of the truth.

Viewing anything from a different perspective will get you closer to truth, and give you more power as a viewer. Media and court reports about fraudulent practices of TPB may hold a degree of correctness, but the release of this movie means the founders have something to say as well.

2. Get a glimpse of file-sharing and its influence.A heads up and a spoiler: Although the movie is a documentary, it will probably not include much technical detail about file sharing, the ways of TPB in enhancing the Bit Torrent Protocol or how they refine their torrents. However, the audience of the movie will be given an idea of what file sharing is, why it is so special, and why is it that the world’s governments are fighting it.

3. Give TPB a chance to declare their good intentions.Watching the documentary, you will get acquainted with the message and mission of TPB. Those peeps have gone through jail to get the message across, It is definitely worth hearing.

4. The movie is a good production.The movie was well funded and well promoted, although TPB generally rely on donations for funding. Although the movie is short of explosions and gun action, the producers have still managed to give it components of excitement. Replayed shots from TPB trials and real time interviews with founder is definitely some materials of value.

Some food for thought in conclusion; next time you download a torrent of your favorite movie , Role Playing Game or First Person Shooter, just remember that someone has been jailed in the sake of your download. 0x1

Page 3: The Monthly Byte

Abdel-Rahman Hassan

I’ve met a few people who can genuinely argue that The Pirate Bay (TPB) has offered them more in their lifetimes than did their local government. Although such is a highly debatable argument, it comes with no surprise. The p2p file sharing system that TPB has developed and adopted has revolutionized many aspects of information sharing. The website which facilitates peer-to-peer file-sharing using the BitTorrent protocol, was only founded in 2003. Today, The Pirate Bay stands as one of the most influential file sharing websites on the internet.

However, every technological advancement is accompanied by an array of social and ethical implications. In the case of TPB, these implications were immense, as many outlets and entities have viewed TPB to promote digital piracy on a mass scale. It is often when such entities perused TPB owners in court, leading to two of the website’s founders to be fined and sen-tenced one year in jail by Swedish courts back in 2009. TPB now continues to function, but is blocked by ISPs in more than 20 countries.

As the legitimacy and intentions of TPB have always been put to question, its founders have recently brought to light a movie documenting their journey. The movie is titled “The Pirate Bay AFK” standing for, The Pirate Bay: Away From Keyboard. Here are a few reasons why you should watch it:1. You might get a glimpse of the truth.

Viewing anything from a different perspective will get you closer to truth, and give you more power as a viewer. Media and court reports about fraudulent practices of TPB may hold a degree of correctness, but the release of this movie means the founders have something to say as well.

2. Get a glimpse of file-sharing and its influence.A heads up and a spoiler: Although the movie is a documentary, it will probably not include much technical detail about file sharing, the ways of TPB in enhancing the Bit Torrent Protocol or how they refine their torrents. However, the audience of the movie will be given an idea of what file sharing is, why it is so special, and why is it that the world’s governments are fighting it.

3. Give TPB a chance to declare their good intentions.Watching the documentary, you will get acquainted with the message and mission of TPB. Those peeps have gone through jail to get the message across, It is definitely worth hearing.

4. The movie is a good production.The movie was well funded and well promoted, although TPB generally rely on donations for funding. Although the movie is short of explosions and gun action, the producers have still managed to give it components of excitement. Replayed shots from TPB trials and real time interviews with founder is definitely some materials of value.

Some food for thought in conclusion; next time you download a torrent of your favorite movie , Role Playing Game or First Person Shooter, just remember that someone has been jailed in the sake of your download. 0x1

Technology Meets AwesomeOmar Yasser Nawar

0x2

How long ago did people everywhere go crazy when Kingston announced their 128 GB �ash drive? This year’s show was more surprising than ever. Kingston announced the world’s �rst 1 TB �ash drive. Seeing as quite a lot of people have computers with a total storage of less than 1 TB, this �ash drive could be used to, literally, carry your entire computer in your pocket. The powerhouse �ash drive will be released in the �rst quarter of 2013, and is called the Kingston DataTraveler HyperX Predator 3.0. Can’t wait till it’s out? You can get its younger version, at 512 GB, right now. Both devices boast 240MB/s reading and 160MB/s writing speeds and, of course, are USB 3.0. Technologies that strong don’t come cheap, however, as Kingston announced that the 512 GB model would set consumers back at least $1,300. While these devices will most de�nitely go mainstream in the near future, we just have to wait in the meantime for the prices to go down. Judging by its speed, mind-boggling storage capa-bilities, and its name, I wouldn’t be surprised if it somehow tries to take over the world in a machine revolution.

Few shows can capture the attention of all types of technology enthusiasts: companies, distributers, tech geeks, gamers and even the average Joe. With more

and more people using and relying on a lot of forms of technology in their day-to-day life, the Consumer Electronics Show (CES) is one of the most anticipated

and most in�uential technology shows in the world, and CES 2013 was no di�erent. With amazing strides in display, storage, tablet computers, and the sur-

prising disappearance of 3D, CES brought a lot of surprises this year. Trying to discuss every single technology at the show would take a whole lot more than an

article and would probably take weeks. So for now, we’ll be discussing what we believe is the best and craziest of the show.

Kingston’s 1 TB Flash Drive

Page 4: The Monthly Byte

0x3

That’s right, our next entry is �exible screens. Samsung’s keynote at CES was nothing short of amazing, as is their usual. The main event, however, was the announcement of their bendable screen technolo-gy, which they dubbed Youm. Although the concept of a �exible, bendable screen has been at Sam-sung for over two years now, this year was the �rst time they showed a working prototype on an actual functioning device. Because these screens use OLEDs (Organic LEDs) that generate their own light, there’s no need for bulky backlights like other display technologies. And because of that, the demoed Youm screens are made from thin plastic, rather than glass, making it virtually unbreakable. Not only that, but with bendable screens the limits of what screens are capable of are, slowly but surely, getting pushed further and further out. In the keynote, Samsung showcased a paper-thin screen that can practically be rolled and bended like an arc and another screen on a phone that curves with the side of the phone to provide noti�cations. Incredibly inspiring as they are, they also raise a question, what abouttablets and phones? Because even though screens can now bend, motherboards, chips, and other parts can’t. I am certain, however, that we’ll be nothing short of surprised when devices using these technologies start appearing in our lives.

Another one from Samsung, and this time, it’s in the processing department. During its keynote, Samsung unveiled yet another powerhouse, the Exynos 5 Octa mobile processor. The Octa is Samsung’s successor to the Exynos 4, the quad-core processor that ranked at the top of the chain when it debuted within the company’s latest �agship Android device, the Galaxy S3. Designed for higher-end phones and tablets, devices running this processor would be able to handle a lot more than the current market lineup, since it is designed to bring an unprecedented processing power to the mobile world. It achieves so by utilizing ARM’s Big-Little technology, which pairs two chips together, rather than one pair (in this case, the smaller Cortex-A7 with the more powerful A-15). This allows the device to basically “split” the processing tasks over the two chips, giving the smaller tasks to the smaller A7 chip, and the larger, more processing-intensive tasks like HD video or graphics-intensive gaming would be handled by the bigger, stronger A-15 chip. Theoretically, this allows the device to have more power but with less risks like heat and power consumption.

Samsung’s YOUM Flexible Screens

Samsung’s Mobile Octa-core: Next Step In Mobile Phones

Page 5: The Monthly Byte

0x3

That’s right, our next entry is �exible screens. Samsung’s keynote at CES was nothing short of amazing, as is their usual. The main event, however, was the announcement of their bendable screen technolo-gy, which they dubbed Youm. Although the concept of a �exible, bendable screen has been at Sam-sung for over two years now, this year was the �rst time they showed a working prototype on an actual functioning device. Because these screens use OLEDs (Organic LEDs) that generate their own light, there’s no need for bulky backlights like other display technologies. And because of that, the demoed Youm screens are made from thin plastic, rather than glass, making it virtually unbreakable. Not only that, but with bendable screens, the limits of what screens are capable of are slowly, but surely, getting pushed further and further out. In the keynote, Samsung showcased a paper-thin screen that can practically be rolled and bended like an arc, and another screen on a phone that curves with the side of the phone to provide noti�cations. Incredibly inspiring as they are, they also raise a question, what of tablets and phones? Because even though screens can now bend, motherboards, chips, and other parts can’t. I am certain, however, that we’ll be nothing short of surprised when devices using these technologies start appearing in our lives.

Another one from Samsung, and this time, it’s in the processing department. During its keynote, Sam-sung unveiled yet another powerhouse, the Exynos 5 Octa mobile processor. The Octa is Samsung’s successor to the Exynos 4, the quad-core processor that ranked at the top of the chain when it debuted within the company’s latest �agship Android device, the Galaxy S3. Designed for higher-end phones and tablets, devices running this processor would be able to handle a lot more than the current market lineup, since it is designed to bring an unprecedented processing power to the mobile world. It achieves so by utilizing ARM’s Big-Little technology, which pairs two chips together, rather than one pair (in this case, the smaller Cortex-A7 with the more powerful A-15). This allows the device to basical-ly “split” the processing tasks over the two chips, giving the smaller tasks to the smaller A7 chip, and the larger, more processing-intensive tasks like HD video or graphics-intensive gaming would be handled by the bigger, stronger A-15 chip. Theoretically, this allows the device to have more power but with less risks like heat and power consumption.

Samsung’s YOUM Flexible Screens

Samsung’s Mobile Octa-core: Next Step In Mobile Phones

0x4

While other companies were demoing the next “big thing” in display, the 4K, commonly referred to as “ultra high de�nition” or UHD, Sharp decided to look even more into the future, and go insanely large. So large, in fact, it’s sixteen times the current HD standard. You de�nitely read that right, 8K refers to the 7680 × 4320 pixel resolution, that’s 4 times the horizontal 1920 and 4 times the vertical 1080 of the current 1920 x 1080. Think for a second about how massive this jump is. Now that you’re done, let’s talk a little bit more about details. Demoed on an 85-inch LCD TV at the show �oor, Sharp’s display looks insanely clear, bright, and well, sharp. The videos played on the screen was taken by one of very few cameras in the world capable of capturing videos at 8K, a custom camera owned by the Japanese broadcasting studio NHK. The technology is so new, in fact, that it was not known how the video was even fed into the TV. Over the past year, 1080pHD took place as the current standard resolution for displays. Seeing as there is very little media produced at 4K due to the costs involved, it will de�nitely take a long while before 4K becomes mainstream, let alone 8K.

Sharp’s 8K Displays: 16x1080p screens? Yes, Please.

A lot of these products, especially the more sophisticated ones, are unlikely to reach the masses of people soon, and even when they eventually do they might be completely di�erent than the proto-types we have seen this year. However, most tech enthusiasts think of shows as CES as little windows of the future, showcasing what might be, what might not be, and what tech giants are planning in their secret labs.

Conclusion – The Future

Page 6: The Monthly Byte

Next-Gen Gaming: The Facts and Rumours

A new day?

Let’s just remember that most gamers aged 18-22 years now grew up playing classics like Super Mario Bros. and Sonic the Hedgehog. Over the course of 20 years, we witnessed the jump from 8-bit 128KB games to incredibly realistic physics-based games with seamless online multiplayer on multi-core systems. Let that sink in for a second, and let us move on to the present. Late 2005, the world was introduced to Microsoft’s Xbox 360, a gaming console that many argue kicked off this current generation of gaming, numbering the 7th generation of gaming consoles. November 2006, the remain-ing two consoles came into play, Sony’s Playstation 3 and Nintento’s Wii, signaling the true beginning of this generation’s console war.

The beginning of 2014 might very well mark the beginning of a new 8th generation. The signals became clear in the past years, with video games like Uncharted 3 and Heavy Rain claiming they have “maxed out” the possible power of the Playstation 3, the strongest of this gen-eration’s consoles. Don’t start freaking out just yet, because with each new generation released, there’s always a 3 to 4 year period where both generations coexist, to allow the newer generation time to proper-ly “take over”. Both Sony and Microsoft stated that they would like for their current line of consoles to complete a full 10-year cycle (ending late 2015) before they decide to pull the plug on it.

0x6

Omar Yasser Nawar

Page 7: The Monthly Byte

Next-Gen Gaming: The Facts and Rumours

A new day?

Let’s just remember that most gamers aged 18-22 years now grew up playing classics like Super Mario Bros and Sonic the Hedgehog. Over the course of 20 years, we witnessed the jump from 8-bit 128KB games to incredibly realistic physics-based games with seamless online multiplayer on multi-core systems. Let that sink in for a second, and let us move on to the present. Late 2005, the world was introduced to Microsoft’s Xbox 360, a gaming console that many argue kicked off this current generation of gaming, numbering the 7th generation of gaming consoles. November 2006, the remain-ing two consoles came into play, Sony’s Playstation 3 and Nintento’s Wii, signaling the true beginning of this generation’s console war.

The beginning of 2014 might very well mark the beginning of a new 8th generation. The signals became clear in the past years, with video games like Uncharted 3 and Heavy Rain claiming they have “maxed out” the possible power of the Playstation 3, the strongest of this gen-eration’s consoles. Don’t start freaking out just yet, because with each new generation released, there’s always a 3 to 4 year period where both generations coexist, to allow the newer generation time to proper-ly “take over”. Both Sony and Microsoft stated that they would like for their current line of consoles to complete a full 10-year cycle (ending late 2015) before they decide to pull the plug on it.

0x6

Omar Yasser Nawar

Page 8: The Monthly Byte

Nintendo’s Latest: Wii U

Sony’s next offering: Playstation Orbis?

The only currently-in-the-market console to be considered an 8th generation device, Ninten-do’s latest offering, the Wii U, released worldwide late 2012. Perhaps the most remarkable of its features is the controller, named the WiiU Gamepad, features an embedded multitouch screen in addition to the normal gamepad buttons of the Wii. The most awesome of its features, however, is what they’re calling “Off TV Play”, which allows the players to play the game on the screen itself, without a TV, or play it simultaneously on both screens at the same time. Running on a PowerPC-based tri-core processor with 2 GBs of RAM and a 8 GB stor-age (extendable to 2 TB through the use of external hard drives), the Wii U isn’t particularly what you’d call a “hardcore gaming” console. It does, however, have its followers, and within its target player demographic, it is nothing short of awesome.

Probably the most anticipated of the upcoming generation, thanks to Sony’s history of out-power-ing the competition for two successive generations, is the next Playstation. No one yet knows what the tech giant might be calling its next offering, but most are expecting it to simply be called the Playstation 4, or the Playstation Orbis. The Orbis name given to Sony’s latest tech might simply be the project codename, but you never know. Through not-so-secret developer kits sent to developers, rumour has it that the Orbis will still be running Bluray, and will natively support 3D HD out-of-the-box. The Orbis is rumoured to have between 8 and 16 GBs of RAM, 256GB drive as a standard, and run on AMD’s A10 APU (an APU is a combined CPU and GPU – graphical processing unit). The aim of the design so far is to make something that can “run 1080p60 games 3D with no problems”, and to create a machine that’s strong enough for “today and tomorrow’s market.”

0x7

Page 9: The Monthly Byte

Microsoft’s Next Offering: XBOX 720?

Steam Gone Huge: Steambox Piston?

Ambition Levels Are High: OUYA

Details about Microsoft’s next console are much scarcer, seeing as there are no particular dev kits or details leaked. Its next console, however, is rumoured to be called Project Durango, and is currently in development. Some pretty stray rumours say it could be running a PowerPC-based processor and might even run Bluray discs. Sadly for us, and fortunately for Microsoft, this is all we currently know, we just have to wait and see.

The PC gaming giant, Valve’s Steam, will be having a console-ish device coming out, nicknamed the Steambox. It’s rumoured that this console is designed to bring Steam to your living room TV in a console fashion. No concrete info yet on what this device will run, and whether or not it will aid the porting of PC-only games to the console world. A device, known as the Xi3 Piston, unveiled at CES 2013, might actually be the elusive creature known as the Steambox. If it is, in fact, then consoles are in for a huge challenge. For starters, it runs on a 3.2Ghz quad-core processor and has 384 programmable graphics cores, and comes with 8 GBs of RAM. Storage spaces range from 64 GBs to 1 TB. That’s not the only catch, however, the Piston demoed at CES can run 4K video out-of-the-box. With USB3.0 and eSATA ports, the Piston is definitely an eye-opener. If this mammoth of a device is not a grave threat to consoles of the next-generation, then what is?

The first gaming device to cater for the need of gamers and indie game developers alike is the ambitious Ouya. It aims to be the first console to freely allow tinkerers and developers alike to be able to play around with it and mod it, while still being a perfectly playable gaming device. Risky? Definitely, but if done right, could very well be the start to something huge in the gaming industry. Ouya will run its own version of Android that will be open to rooting without voiding any warranty. In terms of hardware openness, it will be easily opened, requiring only one single standard screw. Ouya is designed from the ground up to be a developer’s kit, allowing any owner and gamer to also be a developer. Not only that, but Ouya’s team promises that all games will have some form of free-to-play aspect: either totally free, or have free trials and demos.

0x8

Page 10: The Monthly Byte

New Player: Nvidia Project Shield

Verdict: It’s going to get really interesting.

While some might argue that PS Vita or Nintendo 3DS are part of the upcoming generation of console, Nvidia’s entry into the handheld market, Project Shield, stole a lot of attention at this year’s CES. What looks like an Xbox360 controller with a screen is, in fact, a handheld playable device. Running Android Jellybean 4.2.1 on Nvidia’s own Tegra 4 Chip and an ARM A15 processor, Shield runs 720p games fluidly on its 5-inch attached screen. Not only will the Shield be able to play Android games, but with a compatible Geforce-GTX based PC, you’ll be able to wire-lessly stream and play your PC games away from your PC, a la WiiU Gamepad.

Whether it’s powerhouses like the Orbis or the Piston, whether its still lurking in the dark like Microsoft’s Durango, or whether it’s unrivaled ambition like OUYA, next generation’s gaming is going to see a lot of change, but a lot of the familiar as well. A very important note, how-ever, is that a lot of this information is leaked rumours, these devices could, and potentially will change prior to their final releases, so for the time being, get really excited.

0x9

Page 11: The Monthly Byte

New Player: Nvidia Project Shield

Verdict: It’s going to get really interesting.

While some might argue that PS Vita or Nintendo 3DS are part of the upcoming generation of console, Nvidia’s entry into the handheld market, Project Shield, stole a lot of attention at this year’s CES. What looks like an Xbox360 controller with a screen is, in fact, a handheld playable device. Running Android Jellybean 4.2.1 on Nvidia’s own Tegra 4 Chip and an ARM A15 processor, Shield runs 720p games fluidly on its 5-inch attached screen. Not only will the Shield be able to play Android games, but with a compatible Geforce-GTX based PC, you’ll be able to wire-lessly stream and play your PC games away from your PC, a la WiiU Gamepad.

Whether it’s powerhouses like the Orbis or the Piston, whether its still lurking in the dark like Microsoft’s Durango, or whether it’s unrivaled ambition like OUYA, next generation’s gaming is going to see a lot of change, but a lot of the familiar as well. A very important note, how-ever, is that a lot of this information is leaked rumours, these devices could, and potentially will change prior to their final releases, so for the time being, get really excited.

0x9

Are computers going to be the future's mathematicians? Zeina Migeed We have already witnessed computers excel the abilities of a genius human being in certain aspects such as mathematical calculations. But wasn't that one of the reasons that has driven humans to such an invention? To create something with the abilities that humans hardly possess? So is it only a matter of time before computers gain the complete and absolute abilities of a capable human being or is there a true distinction that can never be put aside by any amount of technology, genuineness and time? I have learnt that to be able to prove the truth about something, thinking about it 'rationally' and 'logically' could help convince you of what its truth value really is. You can think of examples, experi-ences and almost everything you can to get even a vague idea of whether something could be true or not, and speaking of mathematics in particular, a good start would be convincing yourself of what may the truth be, rather than quickly jumping to some algebraic equations or a set of calculations (or at least, this may be a more traditional way of doing it). And following from that, I decided that I will attempt reaching a conclusion by first looking at a specific function of some computers, and that is: generating a mathematical proof. In order to understand the ability of computers of carrying out mathematical proofs, one must understand what it means to "prove" in the context of mathematics, which can be really controversial. One of the methods a computer uses to carry out mathematical proofs is proving by exhaustion (which is a common technique in computer-assisted proofs), where the proposition that needs to be proved is broken down into a finite number of cases. The system then checks whether these cases hold relative to the proposition. Computers are particularly useful when using such a technique because sometimes there are too many cases that need to be checked for a statement to be proved, and the task could hardly be carried out by a team of humans. That always leaves a possi-bility for error as a computer program may contain undiscovered bugs that generated an inaccurate result. This matter however could be solved if we are able to prove the correctness of the algorithm used to carry out such proofs. Although computers have assisted us in our attempts to prove major theorems such as the four color theorem, computers attempt to prove theorems in such a way that is not consideed "real" by mathematicians. They do not consider a computing machine as doing mathematics, but merely calcula-tions, which in their opinion is not an equal to mathematics. One mathematician commented (Dr. John H. Conway), "I don't like them, because you sort of don't feel you understand what's going on''. Automated System Proving (ATP) is another form of computers that are designed to prove mathematical theorems. "The proofs produced by ATP systems describe how and why the conjecture follows from the axioms and hypotheses, in a manner that can be understood and agreed upon by everyone". Automated reasoning machines may require a user to enter axioms and they generally work by searching through great numbers of possibilities, which is why such machines still depend on humans. It cannot be denied that computers are a great contribution to the field of mathematics (even there are yet many kinds of proves that a computer can hardly carry out, such proves demanding knowl-edge not just in mathematics, and such as proves that do not necessarily involve numeric). The way a computer proves a theorem is formal and may in some cases require no mathematical initiation nor understanding (Science and Technology, 2005). Mathematics is about thinking outside of the box and of the unfamiliar. Is it possible for a computer machine to do such thing? If we assume the possibility of the unfamiliar being a result of the familiar, then yes. But are computing machines currently a match to human mind at all? Highly doubtful. 0xA

Page 12: The Monthly Byte

Getting a new keyboard... Now what?

Before we delve into the technicalities of choosing a keyboard, I'd like to start with some motivation for this article. It is quite obvious that everyone is using laptops nowadays; howev-er, here is a bold claim for you to reflect on for a while: they will never replace good old desk-top machines. Think about it for a while, even with the technology that we currently have, laptops and mobile technology in general still fall behind the desktop technology, and the reason for that is quite obvious; there's a lot more space in a mid or a full tower case to improve and add components compared to the very tight packaging of laptops. So if you're majoring in architecture, a hardcore gamer, someone working with digital media or graphics in general, or if you're simply in need of lots of processing power for a resource-hungry computa-tion or analysis, chances are a laptop won't satisfy your needs. After, hopefully, establishing that desktop machines still rule, well, why would you bother learning how to choose a keyboard? Isn't that a fairly simple task? Shouldn't you just grab whatever keyboard that looks nice, and has a nice initial feel to it? Well, I'm going to be brutal-ly honest, it works perfectly fine, but after a while you just realize that the keyboard isn't func-tioning as it used to do when you first bought it. The printing on the keycap disappeared, and the keyboard overall looks like a very ugly, greased up array of buttons that stands out like a sore thumb on your well-organized and elegant desk. This isn't the keyboard that you first fell in love with; so you throw it away, grab a new model or something and repeat the process again. Now, that doesn't have to be the case, it isn't hard to choose a sturdy keyboard that will look exactly the same 7 years after purchasing it, provided that you clean it up from the inevi-table grease caused by regular friction, and you're going to know exactly how to get a key-board that fits your needs in a few minutes.Still reading? Great, get ready to embark on a small technical voyage in the ocean of key-board technology!

0xB

Khaled Nassar

Page 13: The Monthly Byte

Getting a new keyboard... Now what?

Before we delve into the technicalities of choosing a keyboard, I'd like to start with some motivation for this article. It is quite obvious that everyone is using laptops nowadays; howev-er, here is a bold claim for you to reflect on for a while: they will never replace good old desk-top machines. Think about it for a while, even with the technology that we currently have, laptops and mobile technology in general still fall behind the desktop technology, and the reason for that is quite obvious; there's a lot more space in a mid or a full tower case to improve and add components compared to the very tight packaging of laptops. So if you're majoring in architecture, a hardcore gamer, someone working with digital media or graphics in general, or if you're simply in need of lots of processing power for a resource-hungry computa-tion or analysis, chances are a laptop won't satisfy your needs. After, hopefully, establishing that desktop machines still rule, well, why would you bother learning how to choose a keyboard? Isn't that a fairly simple task? Shouldn't you just grab whatever keyboard that looks nice, and has a nice initial feel to it? Well, I'm going to be brutal-ly honest, it works perfectly fine, but after a while you just realize that the keyboard isn't func-tioning as it used to do when you first bought it. The printing on the keycap disappeared, and the keyboard overall looks like a very ugly, greased up array of buttons that stands out like a sore thumb on your well-organized and elegant desk. This isn't the keyboard that you first fell in love with; so you throw it away, grab a new model or something and repeat the process again. Now, that doesn't have to be the case, it isn't hard to choose a sturdy keyboard that will look exactly the same 7 years after purchasing it, provided that you clean it up from the inevi-table grease caused by regular friction, and you're going to know exactly how to get a key-board that fits your needs in a few minutes.Still reading? Great, get ready to embark on a small technical voyage in the ocean of key-board technology!

0xB

Khaled Nassar

The Players

Ergonomics

Switches

There are three major factors when it comes to choosing a keyboard: the properties of the key, the type of the switch used, and ergonomics. We'll be dealing with them from the simplest to the most elaborate factors in order, starting off with ergonomics.

You've probably heard this word before, and you also probably haven't. It's quite an uncom-mon term, usually used in a techy context by hardware aficionados and gamers. It just means the study of the efficiency of a piece of equipment in a given environment, so it can apply to every piece of equipment in your sanctuary (that's another term for production environment, also usually called the shrine), but we're mainly going to deal with keyboards; because, well, that's what this article is about at the end of the day.Generally speaking, an ergonomic keyboard is one that feels best for you; it's the simplest factor ever. Just ask the salesman at the store for a "test drive" before you buy it, and unless the keyboard you're opting for is a very high end keyboard with a hefty price tag or very elabo-rate packaging, most stores won't mind. You just have to make sure that the keyboard is comfortable for prolonged periods of typing and doesn't annoy you, simple as that.

A switch?! What on earth is that?! Relax, a switch is basically the type of technology that a key on the keyboard uses to register key presses and send signals to the machine. Each technol-ogy differs from the others in various ways, including the way the key feedbacks the user (how it reacts to a key press), how much force the key needs to actually register a press, and how many key presses it can endure.

A rubber dome keyboard

0xC

Page 14: The Monthly Byte

If you've never used anything before other than off-the-shelf average keyboards, then this part is going to be a nice newsflash for you. The average keyboard uses very primitive technology for its switches called a rubber dome switch; it's currently the cheapest and least efficient type of switches out there with a durability of only 10 - 20 million presses per key. That isn't a very high number in keyboard technology, by the way. Abstractly speaking, it consists of a mem-brane layer beneath the keys, with a rubber bulge, namely the rubber dome and hence the name of the switch, underneath each key, that separates the key from the membrane. Once you fully push the key down the slot, the rubber dome flattens and completes a circuit with the membrane, sending a signal to the machine that a key has been pressed. The main problem with these keyboards is that the keys have to be bottomed out, i.e. pushed down till they reach the bottom, for the key to register a press; this can cause fatigue when done over prolonged sessions, and usually feel a lot less comfortable than keyboards with other switch types.At the other end of the spectrum of common switch technology lie mechanical switches. The main difference between mechanical switches and rubber dome switches is how they send key press signals to the machine. Mechanical switches, unlike rubber dome switches, don't have a membrane layer underneath the keys; instead, each key has its own dedicated switch underneath it. Another point of comparison is the actuation force required to register a key press on a membrane keyboard vs. the actuation force on a mechanical keyboard; there are different types of mechanical switches and they have actuation forces in the range of 20g – 50g (actuation force is measured in grams, because it's how much weight that has to be applied to the key in order for it to correctly register a key press), while membrane keyboards have actuation forces in the range of 55g – 70g, which usually means that using a mechanical keyboard for the first time after exclusively using membrane keyboards will require a different approach to typing, because you won't need to bottom out the keys to register a key press but rather just reaching enough force to register a key press without having to go all the way down.

As mentioned before, mechanical switches come in various kinds, but they can be mainly categorized under two main categories: linear and tactile feedback switches. The main differ-ence between both switch technologies is the actuation force and the reaction of the key to your actions, with the linear switches needing only around half the actuation force of tactile feedback switches, and feedback switches being more resistant when you're used and are sometimes accompanied by an audible click sound. The most popular brand of mechanical switches is Cherry, which incorporates both types of mechanical switches with some varia-tions that are more related to the person's preference. For example, Cherry MX Black and Cherry MX Red switches under linear switches and Cherry MX Blue, Cherry MX Brown and Cherry MX White switches under tactile feedback switch with a few differences in the actua-tion force and their noise level.

Cherry MX Blue switch

0xD

Page 15: The Monthly Byte

If you've never used anything before other than off-the-shelf average keyboards, then this part is going to be a nice newsflash for you. The average keyboard uses very primitive technology for its switches called a rubber dome switch; it's currently the cheapest and least efficient type of switches out there with a durability of only 10 - 20 million presses per key. That isn't a very high number in keyboard technology, by the way. Abstractly speaking, it consists of a mem-brane layer beneath the keys, with a rubber bulge, namely the rubber dome and hence the name of the switch, underneath each key, that separates the key from the membrane. Once you fully push the key down the slot, the rubber dome flattens and completes a circuit with the membrane, sending a signal to the machine that a key has been pressed. The main problem with these keyboards is that the keys have to be bottomed out, i.e. pushed down till they reach the bottom, for the key to register a press; this can cause fatigue when done over prolonged sessions, and usually feel a lot less comfortable than keyboards with other switch types.At the other end of the spectrum of common switch technology lie mechanical switches. The main difference between mechanical switches and rubber dome switches is how they send key press signals to the machine. Mechanical switches, unlike rubber dome switches, don't have a membrane layer underneath the keys; instead, each key has its own dedicated switch underneath it. Another point of comparison is the actuation force required to register a key press on a membrane keyboard vs. the actuation force on a mechanical keyboard; there are different types of mechanical switches and they have actuation forces in the range of 20g – 50g (actuation force is measured in grams, because it's how much weight that has to be applied to the key in order for it to correctly register a key press), while membrane keyboards have actuation forces in the range of 55g – 70g, which usually means that using a mechanical keyboard for the first time after exclusively using membrane keyboards will require a different approach to typing, because you won't need to bottom out the keys to register a key press but rather just reaching enough force to register a key press without having to go all the way down.

As mentioned before, mechanical switches come in various kinds, but they can be mainly categorized under two main categories: linear and tactile feedback switches. The main differ-ence between both switch technologies is the actuation force and the reaction of the key to your actions, with the linear switches needing only around half the actuation force of tactile feedback switches, and feedback switches being more resistant when you're used and are sometimes accompanied by an audible click sound. The most popular brand of mechanical switches is Cherry, which incorporates both types of mechanical switches with some varia-tions that are more related to the person's preference. For example, Cherry MX Black and Cherry MX Red switches under linear switches and Cherry MX Blue, Cherry MX Brown and Cherry MX White switches under tactile feedback switch with a few differences in the actua-tion force and their noise level.

Cherry MX Blue switch

0xD

Key properties

Properties of a key in a keyboard can be categorized under two main categories: the keycap material and shape, and the keycap printing.Keycaps are usually made of either one of the two most common plastic polymers in keyboard technology: PBT and ABS. The difference between PBT and ABS is rather evident, because PBT can withstand very high temperatures (up to 130 degrees Celsius) and are generally resistant to wear and tear that accompanies regular use of the keyboard; while ABS is much cheaper than PBT, more lightweight, and doesn't hold up long against strong solvents or detergents (some users like to wash their keycaps). So, really, whenever you can get a PBT keyboard, go for it, unless your budget is really tight or if you're buying keyboards in bulk and not for personal use. Keys also come in different shapes, but most commonly three shapes: cylindrical, that is the most popular shape in desktop keyboards; flat, which is the most popu-lar shape in laptops; and spherical, which is quite rare nowadays. Choosing which key shape you want to use boils down to personal preference, so more or less it can be considered part of the ergonomics factor, and differs from one person to another.The keycap printing is a whole different story. I can, without doubt, say that at one point in time you've suffered from the wearing out of the printing on keycaps. Makes perfect sense, because, well, most keyboards have their letters pad printed on the keys, which is the cheap-est and least durable type of printing out there. Think of it more as slapping a sticker on the keys; if you look closely, you can actually see that the letter is bulging a bit out of the key and if you touch it you can feel how bulgy it is. Usually, when shopping for a good sturdy keyboard, you'd want to keep away from pad printed keycaps as much as you can; as a matter of fact, pad printed keyboards are usually bad in terms of other factors as well.There are better alternatives to pad printed keys, such as laser etched keycaps, which can be easily identified by their rough texture and because laser etching is basically burning the key into plastic, it's usually etched on a light-colored keycap, mostly white.See that black keyboard at the beginning of the article? Take a look at it again. Took a good look? Don't be surprised, you're not wrong, the keys are blank. It is the Das Model S key-board, the keyboard with blank keys. When you don't need to worry about printing wearing off because you don't even need to look at the keyboard, then you should definitely consider getting one of these. Not only is it an exotic, beautiful piece of modern art, but it's also equipped with all the goodness of a mechanical keyboard: it uses Cherry MX Brown/Blue tactile switches with gold contacts (gold is a much better conductor than the commonly used copper), ergonomically efficient as many people have vouched for it. In addition, it comes with a PS/2 adapter. Raised your eyebrows a bit? Isn't PS/2 ancient technology? Well, from a technical point of view using PS/2 for a keyboard is much better than USB. Why? USB by its nature requires the CPU to keep polling, or refreshing the state of the keyboard in order to check for new key presses or releases, and it requires special drivers to deal with it unlike PS/2 which works perfectly in any mode. Also, PS/2 is interrupt based, and what that means is that the keyboard sends an interrupt signal to the CPU for processing key events, which means that the CPU never polls the keyboard for new state.

double shot injection keycap

0xE

Page 16: The Monthly Byte

Cryptography 101:History and Analysis"Knowledge is power" - Francis Bacon

Knowledge is powerFrance is bacon

The need for secrecy has been around since humanity started, according to documented history. People needed to protect some information from others for many purposes, for exam-ple, a craftsman might have wanted to protect a secret recipe that he/she has come up with and didn't want to share with competition. Warlords wanted to protect their strategies from their enemies and communicate secretly with different sections of their armies scattered all over the world in order to coordinate their attacks. Therefore, the rising need for a way or means of achieving this level of secrecy in communication has led to the invention of cryptog-raphy; the grey area where mathematics meet humanity's darkest secrets.We'll be looking at cryptography briefly from two aspects: history, and analysis. But first and foremost, we need to have a clear definition of what cryptography is, and how it is different from steganography.Cryptography is the branch of mathematics that deals with mapping or transforming a given message into an unreadable, more subtle and hence secure form. However, as it is with many grey areas of science, cryptography is commonly confused with information hiding, namely steganography. It may not make sense at first, but bear with me for a second. Imagine that you have a padlock and a box; you wrote a message on a piece of paper, put it in the box, and locked the box up. This is cryptography; the only normal (you could possibly just pick the lock or break it, but let's assume that you can't) way you could open the box with is by know-ing the combination, or the key of the padlock. On the other hand, remember that lemon message trick that almost every single one of us did? You'd write a message on a piece of paper using some lemon juice, and the message disappears when the paper is dry, apply some heat to it and viola there it is! This is steganography, or the art of information hiding; you didn't have to know a specific key or combination in order to obtain the information you're after, instead you had to know that it's hidden, and how it is hidden, while in cryptography you usually know both of these elements, but you just don't know what to make of the information lying in front of you.

0xF

Khaled Nassar

Page 17: The Monthly Byte

In this article, I'll be using a few key terms quite often so it is only fair that I explain what they are beforehand:Cipher: it is basically a complete cryptographic system, where a transformation method is known and applied to a message using a cipher key in order to get an ineligible message, and another transformation method that can reverse the process given the previously obtained ineligible message and the previously used cipher key.Cipher key: All cryptographic systems, or ciphers, have another factor to the transformation process other than the message needed to be transformed. That factor is called a key. Accord-ing to Kerchkoff's law, the way that a cryptographic system works is assumed to be common knowledge, and the security of a system is only measured by the security of its key. We'll be probably talking about that later on in further sequels of this, hopefully, long series on cryptogra-phy, but that bit goes a little out of scope here. So if you'd like to know a bit more about it, there's always Google (assuming our esteemed government doesn't block it, as is being said at the time of the writing of this article).

Have you ever heard of the Caesar Cipher? Chances are you have, and you've probably used it without knowing what it is. Well, the Caesar cipher isn't really a cipher, but we'll talk about that later in the analysis section; for now, though, let's assume that it is. Obviously, anyone who's familiar or knows a little bit about the history of the Roman Empire knows who Julius Caesar is, and if, by now, you've already thought that this cipher had anything to do with Romans and Julius Caesar; you're definitely on the right track. However, Romans weren't the only ones with sophisticated and awesome crypto-fu skills; it is thought that the Greeks also had used other cryptographic systems such as the scytale transposition cipher, which is thought to be used by the Spartans.

If you reflect for a while on the progress of the branch of cryptography and correlate it to a little bit of history, you'd notice that advances of cryptography have often been matched by advances in techniques of breaking ciphers. The most common analytical method used in aiding a cryptographer in breaking ciphers is letter frequency analysis, which simply means that in structured language, there are some letters that are more frequent than others, and knowing exactly the frequency of the letters in a given text can greatly speed up the process of eventually breaking the cipher, given that the cipher is insecure enough, of course. This method is considered the most fundamental method of analyzing cryptographic system, and is credit to the Arab mathematician Al-Kin-di. He described it in his cryptography book adequately named Risalah fi Istikhraj al-Mu'amma.

A little dose of history

The first page of Al-Kindi's 'Risalah fi Istikhraj al-Mu'amma'

0x10

Page 18: The Monthly Byte

There's a lot more history to cryptography than a few paragraphs can contain, and to just con-clude, it is only fair that we mention a few more notable examples of revolutionary cryptographic feats: the invention of polyalphabetic ciphers (don't worry, we'll talk about those later; unfortu-nately not in this article) circa the 1460s by Leon Battista Alberti, the Enigma machine around the middle of the 20th century, and finally the modern era of cryptography and sophisticated cryptographic systems marked by the invention of the Data Encryption Standard (DES). If you'd like to know more about the history of cryptography, I suggest checking out the book titled 'The Codebreakers' by David Kahn.

A set is a nothing but collection of UNIQUE elements. These elements can be ANYTHING; not just numbers. Sets are usually denoted by the curly brackets { }, where the elements of the set are defined using a formula or by explicitly stating them separated by commas between the opening and closing brackets, for example, the set of numbers from 1 to 10 is defined as:

When defining a set using an equation, it's usually defined in terms of another set, most com-monly the set of natural numbers N, where the member of the other set used in the equation is denoted by a letter, and its relation to the other is defined after a pipe | operator, for example, the set of even numbers is defined as:

Where x is an element of the set of natural numbers N, and the sign means that x belongs to the set of natural numbers N. This statement is called a proposition. A proposition is simply a statement that can be tested for truth; it's either true or false. Propositions are used widely in laying out logical arguments, setting up sets using specific criteria, much like the previous exam-ple, and they're just awesome.

And the set of students in a class could be defined as:

The nitty-gritty details

Sets and propositions

Disclaimer: Going beyond this point in the article may be hazardous to mental health; there is a whole LOT of mathematics in here. Just saying…Also, this section isn't explained in great detail, so there might and there actually will be some mistakes and imperfect approximations. It was never meant as an introduction to this branch of mathematics and was only meant to compliment the article.

Oh and, it’s perfectly normal if you feel like you don’t really understand the next section. Take a deep breath and read it carefully. It is definitely not simple.

Well, you read the disclaimer. So, in order to make this article as independent and complete as possible, we need a brief section about the mathematics we're going to be working with. Those of you who are familiar with Discrete Mathematics or have already completed MACT 200 can skip this section.

0x11

{ 1,2,3,4,5,6,7,8,9,10 }

{ Alice,Bob,Charlie,Eve,Oscar }

Even={ 2x | x ∈N}∈

Predicates

Quantifiers

Predicates are variable propositions, they're much like a function that takes an argument, replac-es that argument with a placeholder in the proposition defining a new proposition according to the argument passed. They also actually look like functions, but are usually defined in-text using capital letters or special capital glyphs. A predicate that takes the name of the student and produces propositions related to the age of the student could be defined as:

Where P is the alias given to the predicate, x being the argument passed and the placeholder, and the statement resulting from the evaluation of this predicate on a specific x is a proposition that bears a truth value. Let's assume that we have a class of 3 students defined as follows:

We know that Charlie's age is 16 years, Eve's age is 15 and Oscar's age is 17; checking the predicate P(x) on the three subjects would be done as follows:

Where each evaluated predicate is now a whole new proposition on its own and the values are as follows:

Remember that a proposition is still a proposition regardless of its truth value, and also remem-ber that a proposition is a STATEMENT, not a question, not an opinion. It is something that can be checked and verified.

You might be thinking, "Okay, predicates are definitely nice, but they don't really make sense. I could've just written three propositions directly instead of using predicates for that last silly example."True, that example is very silly, yet it shows that predicates can be more concise and easier to deal with than having to use a whole proposition for describing each statement. However, you won't really appreciate the true power of predicates until you learn about quantifiers.Quantifiers are those awesome little helpers that allow you to define statements or, in our case, propositions that state a property of a whole set or some elements of that set using only a few variables.There are two main quantifiers: the Universal quantifier, commonly read "for all"; and the Exis-tential quantifier, commonly read "there exists". The former being the quantifier that is used to state the truth or falseness of a property of a specific set, and the latter being the quantifier that is used to state the truth or falseness of a property of some elements of the set, at least one. The universal quantifier is expressed by what looks like an inverted capital A glyph , and the existential quantifier looks somewhat of a vertically flipped capital E glyph . "Okay… and?" Well, let's go back to the example of the class, to recall we defined the predicate P as:

P(x):x is at least 16 years old

Class= { Charlie,Eve,Oscar }And the set of students as

0x12

P(x):x is at least 16 years old

Class={ Charlie,Eve,Oscar }

P(Charlie) P(Eve) P(Oscar)

P(Charlie)=true P(Eve)=false P(Oscar)=true

∃∀

Page 19: The Monthly Byte

There's a lot more history to cryptography than a few paragraphs can contain, and to just con-clude, it is only fair that we mention a few more notable examples of revolutionary cryptographic feats: the invention of polyalphabetic ciphers (don't worry, we'll talk about those later; unfortu-nately not in this article) circa the 1460s by Leon Battista Alberti, the Enigma machine around the middle of the 20th century, and finally the modern era of cryptography and sophisticated cryptographic systems marked by the invention of the Data Encryption Standard (DES). If you'd like to know more about the history of cryptography, I suggest checking out the book titled 'The Codebreakers' by David Kahn.

A set is a nothing but collection of UNIQUE elements. These elements can be ANYTHING; not just numbers. Sets are usually denoted by the curly brackets { }, where the elements of the set are defined using a formula or by explicitly stating them separated by commas between the opening and closing brackets, for example, the set of numbers from 1 to 10 is defined as:

When defining a set using an equation, it's usually defined in terms of another set, most com-monly the set of natural numbers N, where the member of the other set used in the equation is denoted by a letter, and its relation to the other is defined after a pipe | operator, for example, the set of even numbers is defined as:

Where x is an element of the set of natural numbers N, and the sign means that x belongs to the set of natural numbers N. This statement is called a proposition. A proposition is simply a statement that can be tested for truth; it's either true or false. Propositions are used widely in laying out logical arguments, setting up sets using specific criteria, much like the previous exam-ple, and they're just awesome.

And the set of students in a class could be defined as:

The nitty-gritty details

Sets and propositions

Disclaimer: Going beyond this point in the article may be hazardous to mental health; there is a whole LOT of mathematics in here. Just saying…Also, this section isn't explained in great detail, so there might and there actually will be some mistakes and imperfect approximations. It was never meant as an introduction to this branch of mathematics and was only meant to compliment the article.

Oh and, it’s perfectly normal if you feel like you don’t really understand the next section. Take a deep breath and read it carefully. It is definitely not simple.

Well, you read the disclaimer. So, in order to make this article as independent and complete as possible, we need a brief section about the mathematics we're going to be working with. Those of you who are familiar with Discrete Mathematics or have already completed MACT 200 can skip this section.

0x11

{ 1,2,3,4,5,6,7,8,9,10 }

{ Alice,Bob,Charlie,Eve,Oscar }

Even={ 2x | x ∈N}∈

Predicates

Quantifiers

Predicates are variable propositions, they're much like a function that takes an argument, replac-es that argument with a placeholder in the proposition defining a new proposition according to the argument passed. They also actually look like functions, but are usually defined in-text using capital letters or special capital glyphs. A predicate that takes the name of the student and produces propositions related to the age of the student could be defined as:

Where P is the alias given to the predicate, x being the argument passed and the placeholder, and the statement resulting from the evaluation of this predicate on a specific x is a proposition that bears a truth value. Let's assume that we have a class of 3 students defined as follows:

We know that Charlie's age is 16 years, Eve's age is 15 and Oscar's age is 17; checking the predicate P(x) on the three subjects would be done as follows:

Where each evaluated predicate is now a whole new proposition on its own and the values are as follows:

Remember that a proposition is still a proposition regardless of its truth value, and also remem-ber that a proposition is a STATEMENT, not a question, not an opinion. It is something that can be checked and verified.

You might be thinking, "Okay, predicates are definitely nice, but they don't really make sense. I could've just written three propositions directly instead of using predicates for that last silly example."True, that example is very silly, yet it shows that predicates can be more concise and easier to deal with than having to use a whole proposition for describing each statement. However, you won't really appreciate the true power of predicates until you learn about quantifiers.Quantifiers are those awesome little helpers that allow you to define statements or, in our case, propositions that state a property of a whole set or some elements of that set using only a few variables.There are two main quantifiers: the Universal quantifier, commonly read "for all"; and the Exis-tential quantifier, commonly read "there exists". The former being the quantifier that is used to state the truth or falseness of a property of a specific set, and the latter being the quantifier that is used to state the truth or falseness of a property of some elements of the set, at least one. The universal quantifier is expressed by what looks like an inverted capital A glyph , and the existential quantifier looks somewhat of a vertically flipped capital E glyph . "Okay… and?" Well, let's go back to the example of the class, to recall we defined the predicate P as:

P(x):x is at least 16 years old

Class= { Charlie,Eve,Oscar }And the set of students as

0x12

P(x):x is at least 16 years old

Class={ Charlie,Eve,Oscar }

P(Charlie) P(Eve) P(Oscar)

P(Charlie)=true P(Eve)=false P(Oscar)=true

∃∀

Page 20: The Monthly Byte

And we also said that Charlie is 16 years old, Eve is 15, and Oscar is 17. So what about check-ing if the whole class consists of students that are at least 16 years old? This statement can be verified by checking the truth value of the proposition defined by:

In plain English, this could be read as, "For all x that belongs to Class, the value of P(x) is true." Sounds a bit artificial? Let's try to make more sense of it then; what that very weird sentence means that, the statement as a whole is true ONLY when ALL the members of the set Class are older than 16. So, you can obviously see that this proposition is false, because Eve is 15 years old, and therefore not all the members of the class are at least 16 or older. However, if we substitute the universal quantifier with the existential quantifier, we get a whole new proposition:

This new proposition could be read as, "There exists at least one x in Class for which the value of P(x) is true." Obviously, this proposition is true because both Oscar and Charlie are at least 16 years old, and the existence of any one of them in the class is sufficient for the whole statement to be true.

A function is simply a mapping, or an association relation between members of two different sets, or members of the same set. A function takes arguments from one set and maps them to results of the function from the other set; it's denoted by what might seem as the definition of a predicate, followed by the set that it takes its arguments from, and an arrow pointing to the set that it maps the arguments to.Functions can map many arguments to the same result in the result set, or they can skip some results in the result set which will never show up when you're using the function, or they can map each unique element in the argument set to a unique element in the result set. We're usual-ly more interested in the latter type of functions. Because they are invertible, and that simply means that we can find another function that reverses the process of the function at hand. It's quite obvious that if we are using these functions for enciphering messages, we'd need their inverse to decipher them back to their original state again. For example, a function mapping the alphabet to the set of numbers from 0 to 25 could be defined as follows:

What happened here is that we defined the value of the mapping f(a) to be 0, and then defined a recursive formula, assuming that the set A is ordered and that the subtraction operations means the element n places to the left of the element that we're subtracting from, the formula then maps all the elements accordingly, by adding 1 to the mapping of the previous element. At the end, we get the mapping:

The inverse of a function is commonly denoted by the function with a -1 superscript. Be careful that this means the inverse of a function and NOT the reciprocal function

Functions

a b c d e f g h i j k l m n o p q r s t u v w x y z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

0x13

∀x ∈Class [P(x)]

∃x ∈Class[P(x)]

Let Let

Page 21: The Monthly Byte

Cryptanalysis

The Shift Cipher

"Finally… I thought he was going to rant about how sets are awesome, laugh like a maniac and then frantically blabber about some fancy branch of mathematics."*gasp* No, I wasn't… Anyway, let's talk a little bit about cryptanalysis. Cryptanalysis is the process of analyzing a cipher mathematically, and practically in order to formulate an attack. And an attack is basically what the name implies, a way to breach the security of the cipher at hand and eventually be able to figure out the dark secrets. There are many types of attacks that vary according to their degree of difficulty, but the one we'll be talking about in this article is the worst kind of attack that a cipher could ever have, a ciphertext only attack.In general, again, ciphers, by definition, laws and whatnot, need keys. So in order to decrypt a message, you need the key it was encrypted with. However, insecure enough ciphers could be broken without the need of a key at all. What you need to do is just analyze the enciphered message and boom, you're not only able to extract the original message, but you're also able to figure out the key used to encipher the original message.Erm, don't we then need a cipher to analyze it, if we're going to actually do that? Yes, indeed. And today's cipher is the Shift Cipher.

The shift cipher is one of the classical, horribly broken ciphers that are vulnerable to ciphertext only attacks. Also, it's the general case of the Caesar Cipher as we're about to see in a few minutes.The shift cipher works by shifting the letters of the alphabet to the right or the left by a specified amount, this amount serves as our key. So, for example, to shift cipher a message, you start off by the normal sequence of the alphabet, shift them by a specified amount, and IMPORTANTLY, when-ever you encounter a shift that goes over the maximum range of the alphabet, that is the letter 'z', just keep on shifting starting from 'a' again. Let's encipher a small message using 3 to the right as our shift amount:

Cryptography is awesome!Translates to:

Fubswrjudskb lv dzhvrph!

That's all nice and nifty, but you could've done that without knowing anything about the horrendous two pages of mathematics right before this section. Yeah, definitely, but the point is that we want to understand these ciphers in detail, so we can work later on with more complicated and advanced modern schemes that are almost impossible to be explained in plain, simple English.In order to know how to mathematically model the shift cipher, we first need to define a mathemati-cal model for ciphers in general. We think of ciphers as a five-tuple, and what that simply means is an ordered set of five elements, in plain English, just five objects. This five-tuple consists of:1. P or the plaintext space, which is the set of all the possible elements or messages that could be enciphered2. C or the ciphertext space, which is the set of all the possible results of enciphering a plaintext element or message. In the case of the shift cipher, both the plaintext space and the ciphertext space are one and the same.3. K or the key space, which is the set of all possible keys that could be applied to the encryption process, effectively changing the result of the encryption by changing the key. In the case of the shift cipher, again, the plaintext space, ciphertext space and key space refer to the same set.4. E or the encryption rules space, which is the set of all possible encryption rules associated with the key space K. Where the rule ek is the rule or function that is used to encrypt elements of the plaintext space P using the key k.5. D or the decryption rules space, which is the set of all the possible decryption rules associated with the key space K. It is quite obvious that D would consist of all the rules dk that are inverses of their counterparts in the encryption rules space E.

0x14

Page 22: The Monthly Byte

Reusing our example from the functions section again, we'll define the plaintext space, cipher-text space, and keyspace as follows:

And now we define the encryption rules space and decryption rules space:

And we define the encryption and decryption rules as:

Where mod means the modulo operation, which is the remainder of the division operation, as most of you, I assume, know from CS 106. However, this is different from the C++ modulo oper-ator, in that it's always positive, never negative. It's the remainder of the Euclidean division, but since this goes out of scope of the article, we won't be talking much about it, you might, howev-er, want to check it out for further information.Let's see an example of how we can encrypt the word 'is' using the formula that we've just defined:

So, the result of the shift encryption of is under k=3 is lv.

How, now that we know how the shift cipher works, can we then break the cipher and be able to figure out the messages enciphered by the shift cipher? Well, it's quite obvious that the shift cipher is indeed a very simple and rudimentary cipher, and breaking it actually looks quite simple, why not exhaust the whole key space using the decryption rules until we finally hit a sentence that makes sense? Definitely, actually, why don't you write a program that decrypts sentences encoded via a shift cipher as an exercise? Actually, here is a sentence for you to decrypt: Coxn k wocckqo dsdvon 'S cyvfon sd!' dy [email protected]. Remember, you're only dealing with the letters of the alphabet; you might just disregard the punctuation marks. Until the next part of the series, have fun, and crypto on!

0x15

Let Let

Page 23: The Monthly Byte

Can you smellthe labs in the air?Omar SheikaIf you are reading this you’ve probably made it through the whole issue of the monthly byte. This either makes you a CS major or one major geek; alternatively, you haven’t read through the issue and you missed one hell of an article on cryp-tography. If the latter case is true then you should just close the magazine now because you are not high level enough to read this yet. So anyways, welcome to the �rst of many “can you feel the labs in the air;” you know, if they ever let me write again. So I’m going to take this opportunity to explain to you why you should thrive to become a “pseudo” computer scientist. First of all, really, if you do not have any level of tech savviness at this day and age then you should really be ashamed. If you think having “a shiny mac” with a magic track pad enhances your techiness then please stop reading this or you’ll be disappointed and probably a bit o�ended. So what are the few things that you should know, �rst of all what an operating system is and how to install it, because if anyone else asks any of us what version of windows we’re running when we open up a Linux distro, I will personally make sure you are never helped again when you can’t open your router page and will leave you in the very capable hands of your ISP (good luck with that). Which reminds me, learn how to make a simple website. Really guys you don’t know how much we pawn o� you when we make you a �ve minute website. Another CS secret that I’d like to share with you is USE GOOGLE YOU NITWITS. I swear to you this is what we do 90% of the time when you ask us stu�, you can even look at www.powersearchingwithgoogle.com which will really help you out. Believing you can’t use Google, you might as well not be able to read or write.Finally learn some geek, have you ever noticed how compared to the amount of LABS we face, CS majors still have a smile on their face. You too can join the club. It originates from that strange language you hear when you �rst sit with a group of CS majors. From the references to TUX the penguinto mentions of galaxies far far away; it may be the best way to keep the edge o�. So before you start making fun of us for bowing down to Dennis Ritchie while you get stars in your eyes every time you hear the name Steve Jobs (omg he’s such a visionary -_-). Try it out because geeks are the happiest people in the world, we also control all your media and your cell phones. Till next time, I hope you smell some LABS in the air.

0x16

Page 24: The Monthly Byte

“I would love to change the world, but they won’t give me the source code”

Unknown

www.csea-auc.com

Copyright (C) Computer Science And Engineering Association

[email protected]