Named Entity Recognition is one of the very useful information extraction technique to identify and classify named entities in text. These entities are pre-defined categories such a person’s names, organizations, locations, time representations, financial elements, etc.
Apart from these generic entities, there could be other specific terms that could be defined given a particular problem. These terms represent elements which have a unique context compared to the rest of the text. For example, it could be anything like operating systems, programming languages, football league team names etc. The machine learning models could be trained to categorize such custom entities which are usually denoted by proper names and therefore are mostly noun phrases in text documents.
Broadly NER has three top-level categorizations - en...
The one-time pad is famous as being the only completely unbreakable cipher. Assuming that the secret pad is randomly generated, not-reused (hence "one-time pad"), and not leaked, it is impossible to learn a single bit of the plaintext of a message from a ciphertext.
The one-time-pad is one of the best cryptography protocols when the work must be done by hand, without the aid of a computer. This made it important in the pre-computer era, and is still useful in situations where possession of a computer is illegal or incriminating or where trustworthy computers are not available.
Encryption and decryption with the One-Time Pad
Encryption with the one-time pad is based on the exclusive-or (XOR) operation. The exclusive-or of two identical bits (two zeros or two ones) produces a zero and the exclusive-or of two different bits (a zero and a one) produces a one.
The secret in one-time pad encryption is a secret of...
There are two main types of ciphers: block and stream ciphers. In a stream cipher (which are discussed in a previous post), the plaintext is encrypted one bit at a time. In a block cipher, the plaintext is broken into blocks of a set length and the bits in each block are encrypted together.
Notable Block Ciphers
Many well-known encryption algorithms are block ciphers. A few of the most popular block ciphers are DES/3DES, AES, Blowfish, and Twofish.
The Data Encryption Cipher (DES) is an algorithm developed by IBM as a submission to the US National Bureau of Standards (precursor to National Institute of Standards and Technology) for a contest to select a government-approved block cipher. DES is a Feistel c...
Digital Signatures: ElGamal Signature Scheme and Digital Signature Algorithm (and Birthday Attacks)
Digital signatures serve the same role as traditional pen and ink signatures to provide authentication, confirmation and to associate identities with documents. The signature must be tied to the document mathematically so that it may not be removed and replaced by another or placed on some other document. Cryptographically secure digital signature schemes are formed of two parts, the signing protocol and the authentication process. These processes are designed such that the signature is made using private information but verifiable using only public information that does not compromise the security of the signatory. This requirement explains why digital signature schemes usually stem from public-key cryptosystems.
There is also the concept of a ‘blind signature’ where the signatory is able to sign a document without seeing its content thereby ensuring sender privacy. This is useful in electronic voting systems for endorsing that a vote was made legally without acquiring k...
A cryptosystem is a pair of algorithms one for the encryption of data and another for decryption. Often these algorithms use a unique key which should be kept secret, in which case the process for generating and sharing the key is also considered part of the cryptosystem.
Modern cryptography is essential to the digital world we live in and has grown to be quite complex. It is used for sending messages in a secure manner on the internet, such as our credit card information and other private data. Encryption is used to keep our data secure online and locally. The Advanced Encryption Standard (AES) is used by governments to maintain the secrecy of their documents and was chosen from candidates across the mathematics community for its security and efficiency.
In addition, digital security can also be used to maintain anonymity, to authenticate one’s identity via digital signatures, to demonstrate proof of work in blockchain technologies and to ensure that software and messages are free from tampering.
Discrete Logarithms, The ElGamal Cryptosystem and Diffie-Hellman Key Exchange
ElGamal encryption is an example of public-key or asymmetric cryptography. The cryptosystem takes its name from its founder the Egyptian cryptographer Taher Elgamal who introduced the system in his 1985 paper entitled “A Public Key Cryptosystem and A Signature Scheme Based on Discrete Logarithms”.
As this title suggests the security of this cryptosystem is based on the notion of discrete logarithms. This is the ‘one way function’ at the heart of ElGamal’s encryption and decryption algorithms.
Diffie-Hellman key exchange algorithm is also based on the discrete logarithm, and allows two people to establish a shared secret key. This key establishes an initial handshake, and can serve as the key for any symmetric key algorithm for further communication.
The discrete logarithm problem, why it is secure and attacks upon it are discussed below.
The dictionary definition of the term enigma is as follows:
One that is puzzling, ambiguous, or inexplicable.
A perplexing speech or text; a riddle.
It is therefore unsurprising that when mechanical encryption machines (rotor machines) were invented in the wake of World War I to protect sensitive diplomatic, strategic and commercial information the encryption machines were known as Enigma machines.
The term Enigma machine most often refers to the set of machines used by the Germans throughout World War II for communication. The breaking of this cryptosystem was in many ways an inflection point for modern computing and cryptanalysis. The story of Enigma has been told in books and films (most notably The Imitation Game), many of which highlight the genius of Alan Turing and the team at Bletchley Park in England who are credited with breaking the code. However, much of the credit for breaking Enigma should go to Marian Rejewski and h...
In this article, I’ll talk about Generative Adversarial Networks, or GANs for short. GANs are one of the very few machine learning techniques which has given good performance for generative tasks, or more broadly unsupervised learning. In particular, they have given splendid performance for a variety of image generation related tasks. Yann LeCun, one of the forefathers of deep learning, has called them “the best idea in machine learning in the last 10 years”. Most importantly, the core conceptual ideas associated with a GAN are quite simple to understand (and in-fact, you should have a good idea about them by the time you finish reading this article).
In this article, we’ll explain GANs by applying them to the task of generating images.