The Monty Hall Problem

2017-07-05 | #probability

The Monty Hall problem is a counter-intuitive statistics puzzle loosely based on the American television game show Let’s Make a Deal and named after its original host, Monty Hall. The Game There are three doors, behind which are two goats and a car; You randomly pick a door; Monty, examines the other two doors and always opens one of them with a goat.

Continue reading 

Classical Ciphers

2017-05-26 | #cryptography #history

All modern ciphers are based on some kind of substitution operation. A block of bits is substituted with another block of bits according to a given table or algorithm. Monoalphabetic cipher: the same element in the plaintext alphabet is always encrypted to the same element in the ciphertext alphabet.

Continue reading 

Euclidean Algorithm

2017-04-16 | #mathematics #number-theory

A fundamental and efficient algorithm to compute the greatest common divisor (gcd from now on) of two integer numbers which forms the basis of several cryptographic algorithms. Given two integers a and b, the algorithm comes in two variants:

Continue reading 

Abstract Syntax Notation 1

2017-03-02 | #encoding #standards

ASN.1 is a standard notation syntax defined in ITU-T X.680 to describe rules and structures for representing data in telecommunications and computer networking. ASN.1 itself does not mandate any encoding or parsing rules, but usually ASN.

Continue reading 

AT Commands Reference

2016-11-26 | #communications #standards

The Hayes command set, also called the AT command set, is a specific command language originally developed by Dennis Hayes[1] for the Hayes Smartmodem 300 baud modem in 1981. The command set consists of a series of short text strings which can be combined to produce commands for operations such as dialing, hanging up, and changing the parameters of the connection.

Continue reading 

Bash Shortcuts

2016-08-02 | #bash #tooling

The bash shell has a very rich set of convenient shortcuts. This ability to edit the command line is provided by the GNU Readline library. Readline keybindings are taken from the Emacs text editor.

Continue reading 

Buddy Memory Allocator

2016-05-09 | #os-dev #programming

Buddy memory allocator is a memory management technique that divides memory into fixed-size blocks and allocates them based on power-of-2 sizes, allowing efficient allocation and deallocation with minimal fragmentation. Introduction At any point in time, the memory consists of a collection of blocks of consecutive memory, each of which is a size of a power of two.

Continue reading 

G2DLP Algorithm Analysis

2016-01-27 | #algorithms #cryptography

We discuss an algorithm to generate efficiently all the paths of a two-dimensional lattice with a given number of turns. The algorithm was first proposed by Ting Kuo, associate professor of the University of Technology and Science in Takming (Taiwan), and in this paper we will go further with an in depth complexity analysis, implementation and experimental results.

Continue reading 

Regular Expressions Essentials

2016-01-16 | #regex

A regular expression is a sequence of characters that define a search pattern. Each character in a regular expression is understood to be: a metacharacter or a regular character. Pattern-matches can vary from a precise equality to a very general similarity (controlled by the metacharacters).

Continue reading 