The RSA Cryptosystem - New General Megathread for the 20th of September 2023
On this day in 1983, a patent was granted to MIT for a new cryptographic algorithm: RSA. "RSA" stands for the names of its creators Rivest, Shamir, and Adlemen. RSA is a "public-key" cryptosystem. Prior to the creation of RSA, public-key cryptography was not in wide use.
Public-key cryptography
Cryptography is the study and practice of secure communication. Throughout most of its historical use, cryptographic techniques were entirely dependent on the involved parties already sharing a secret that could be used to reverse an encryption process. In early cryptography, the secret was itself the encryption process (for example, a Caesar cipher that substitutes letters in a secret message with letters a fixed number of steps down the alphabet). As cryptography became more systematic and widespread in use, it became necessary to separate cryptographic secrets from the cryptographic techniques themselves because the techniques could become known by the enemy (as well as static cryptographic schemes being more vulnerable to cryptanalysis). Regardless, there is still the issue of needing to share secrets between the communicating parties securely. This has taken many forms over the years, from word of mouth to systems of secure distribution of codebooks. But this kind of cryptography always requires an initial secure channel of communication to exchange secrets before an insecure channel can be made secure by the use of cryptography. And there is the risk of an enemy capturing keys and making the entire system worthless.
Only relatively recently has this fundamental problem been addressed in the form of public-key cryptography. In the late 20th century, it was proposed that a form of cryptography could exist where the 2 parties, seeking to communicate securely, could exchange some non-secret information (a "public" key) derived from privately held secret information (a "private" key), and use a mathematical function (a "trap-door" function) that is easy to compute in one direction (encryption) but hard to reverse without special information (decryption) to encipher messages to each other, using each other's respective public keys, that can't be easily decrypted without the corresponding private key. In other words, it should be easy to encipher messages to each other using a public key but hard to decrypt messages without the related private key. At the time this idea was proposed there was no known computationally-hard trap-door function that could make this possible in practice. Shortly after, several candidates and cryptosystems based upon them were described publicly π, including one that is still with us today...
RSA
Ron Rivest, Adi Shamir, and Leonard Adleman at MIT had made many attempts to find a suitably secure trap-door function for creating a public-key cryptosystem over a year leading up to the publication of their famous paper in 1978. Rivest and Shamir, the computer scientists of the group, would create a candidate trap-door function while Adleman, the mathematician, would try to find a way to easily reverse the function without any other information (like a public key). Supposedly, it took them 42 attempts before they created a promising new trap-door function.
As described in their 1978 paper "A method for obtaining digital signatures and public-key cryptosystems", RSA is based upon the principle that factoring very large numbers is computationally difficult (for now!). The paper is a great read, if you're interested in these topics. The impact of RSA can't be overstated. The security of communications on the internet have been dependent on RSA and other public-key cryptosystems since the very beginning. If you check your browser's connection info right now, you'll see that the cryptographic signature attached to Hexbear's certificate is based on RSA! In the past, even the exchange of symmetric cipher keys between your web browser and the web server would have been conducted with RSA but there has been a move away from that to ensure the compromise of either side's RSA private keys would not compromise all communications that ever happened.
The future of RSA?
In 1994, a mathematician named Peter Shor, developed an algorithm for quantum computers that would be capable of factoring the large integers used in the RSA scheme. In spite of this, RSA has seen widespead and increasing use in securing communications on the internet. Until recently, the creation of a large enough quantum computer to run Shor's algorithm at sufficient scale was seen as very far off. With advances in practical quantum computers though, RSA is on its way out. Although current quantum computers are still a very long way off from being able to break RSA, it's looking more and more plausable that someone could eventually build one that is capable of cracking RSA. A competition being held by the US National Institute of Standards and Technology, similar to the one that selected the Advanced Encryption Algorithm, is already underway to select standard cryptographic algorithms that can survive attacks from quantum computers.
I've played 30+ hours of Cyberpunk now and while it's definitely very good, I kinda feel like it's too big for it's own good. There's a number of features and quests that I think are cool, but the game would've been fine and more cohesive without them. It makes it feel like it's less than the sum of its parts.
I hesitate to call the game "bloated" because I don't think that's the right thing to call it. "Excessive" feels more appropriate. It's not like these quests are cheap filler to pad the runtime or boring fetch quests, they're well made and creative, but that alone doesn't justify them being in this game. They are fat that could've been trimmed, and I think the game would've been better for it. The Ozob quest with the grenade clown is a good example of this.
But tbf, I'm a very harsh critic when it comes to this particular aspect. I've even said something like this about Outer Wilds before, which is imo one of the best and most cohesive games of all time.
BIG spoiler for Outer Wilds
I've thought about this a lot and if I'm not seriously overlooking something, the Quantum Moon plot didn't need to be in the game. There's 4 major nodes on the rumor map: The Orbital Probe Cannon over Giant's Deep, the Vessel in Dark Bramble, of course the Ash Twin Project and the Quantum Moon.
The first 3 are all parts of the same puzzle and answers to the leading question of the game. ("What is up with the time loop?") They're all directly connected to each other and necessary pieces to understand the game. The Quantum Moon stands out because it's kinda independent from the rest of the rumor map. It's mainly there for lore and because it's really cool, in a game that is otherwise extremely cohesive. That cohesion is imo one of the most inspiring and amazing aspect of the game and the essence of what makes it work as an open world puzzle game, the fact that everything you see is relevant to the core mystery of the game.
Outer Wilds is otherwise a game where all the fat has been trimmed. The planets have been shrunk to absurdly small sizes, there is basically no lore that isn't immediately relevant, there are no real characters, no side plots, an entire solar system where every single spot that you can visit has something to do with the main story of the game. Everything connects directly to the time loop and eventually leads you to discovering the Eye.
Except for the Quantum Moon. I suppose it's the place where you meet Solanum, but even that is not integral to the story. I hesitate to say that the Quantum Moon part shouldn't have been in the game, because it is very cool, but I wonder how the game would've been without it.
This kinda just turned into me rambling about Outer Wilds but oh well.
I just wish the big radiant quests you can jump into weren't "go help the cops" in a cyberPUNK story. Also sucking down first aid inhalers is bad as a mechanic, I kinda liked the mod where they were a little less plentiful and you could only use a few at a time - I didn't like the difficulty of it though. I don't know how I'd balance it... you should feel like a superhuman freak if you decide to replace your subdermal layers of skin with armor plating and plug in a kereznikov and I guess having a few experiences where you get shot and killed instantly by superior firepower (compared to later when you can just shrug it off) could help reinforce that. I think the game could've used more drugs to really like reinforce the punky gritty side of cyberpunk, maybe something like disco elysium where drugs ARE good mechanically and you're addicted but there's still stigma about it. There's helpful chems but they don't really feel all that "bad" or stigmatic to use (except if for probably the first big mission with the Maelstrom). You coming back from the dead and reading your emails that are just like complaining about debt and selling you boner pills was a good touch.
Also the hacking mini game got pretty boring pretty quickly. I don't think I lost once on it, especially because you can just like pre-plan your moves. It's always hard to say what could replace something like that though. Maybe they couldve done it WarioWare style where you have 60 seconds to solve at least 3 out of 5 different puzzles with minimal instruction with a bank of hundreds of mini games to pull from, I dunno.
It's not even that. I haven't finished the story yet but I think there's some depth there, it's not like a Far Cry game. The characters feel like they have real character depth and conflict, it just gets drowned and diluted in how much stuff there is everywhere and how many characters there are so we don't get to fully explore any single one.
I think the original intention was to have more depth and length in the side plots but also lock all but one or two of them per character making the replay value much higher.