The field of Cryptography is amongst the most important in all of academia, while also being the most difficult to get right. Being trusted to safeguard applications ranging from cellular communications to digital banking and internet access, this area of research is highly trusted by the masses while paradoxically being subjected to the largest amount of scrutiny and seeing major vulnerabilities arise on a regular basis. According to Schneier’s law, “any person can invent a security system so clever that she or he can’t think of how to break it”. …
Public-Key Cryptography is an increasingly important area of mathematics that forms the cornerstone of modern communication. However owing to the growing complexity of such systems, even developers and those that interact with such systems often don’t understand their maths and inner workings, instead relying on high-level abstractions and preexisting implementations. Owing to the inherent danger of implementing your own cryptographic algorithms, this often isn’t a bad thing. However, if your goal is to understand these systems from the ground up and learn of their common weaknesses, having a deep understanding can be highly useful.
“I think I can safely say that nobody understands quantum mechanics” — Richard Feynman
Quantum Computing has always been an enticing topic amongst tech writers and journalists. Its promises to the world of computing — and its difficulty — have enabled the area of research to gain an almost mystical reputation. All too often, articles and infographics surrounding the subject give high praise to its apparent potential while skimming over how such a system works in practice. This tends to misinform all but the most avid of readers.
Cryptography’s inner workings have long been regarded as exclusive to the realms of experts and mathematicians, its technicalities being largely attributed to magic. Given the complicated nature of the state of modern cryptography, this is understandable. However, through many of the global movements that stem from a lack of understanding on the subject such as the UK’s proposed Encryption Ban and Australia’s Assistance and Access Bill, it is clear that this approach is doing far more harm than good.
In this guide, I will give a crash course in everything that you might need to know to get started in…
If you’ve ever used a computer, you may have found yourself wondering how operating systems function on a low level, or even how you you would go about developing one yourself. To say that kernel development is difficult is a severe understatement, it really is “the great pinnacle of programming”. In this guide, we will introduce the basic tools needed and implement a simple operating system in C and x86 Assembly.
The system we will be developing is known as ‘Basilica OS’, named in tribute to the now late developer of TempleOS, Terry Davis. …