Raft Consensus

󰃭 2018-09-11 | #distributed-systems

A shorter version of the official Raft whitepaper.

Introduction

Crash Fault Tolerant (CFT) algorithm for replicated state machines.

Raft primary goal is understandability.

Novel features:

  • Strong leadership: log entries only flow from the leader to other nodes.
  • Leader election: randomized timers to elect leaders.
  • Membership changes: joint consensus approach to change the cluster nodes set.

Randomized approaches introduce nondeterminism, but also reduces the algorithm possible state spaces.

Continue reading 


BeeOS code static analysis

󰃭 2018-04-06 | #os-dev #programming #security

BeeOS is a FOSS UNIX-like operating system focused on simplicity and POSIX compliance.

The overall system is composed by four subprojects:

  • The C standard library (libc)
  • A utility user-space library (libu)
  • Some user space applications (user)
  • The kernel (kernel)

This analysis targets the BeeOS kernel component

Continue reading 


Basic Encoding Rules

󰃭 2017-11-10 | #encoding #standards

The Basic Encoding Rules for ASN.1 (BER) give one or more ways to represent any ASN.1 value as an octets sequence.

There are three methods to encode an ASN.1 value under BER, the choice of which depends on the type of value and whether the length of the value is known. The three methods are primitive definite-length, constructed definite-length and constructed indefinite-length.

Continue reading 


Feistel Ciphers

󰃭 2017-11-07 | #cryptography

Feistel ciphers are a family of symmetric encryption algorithms that use repeated rounds of substitution and permutation operations on blocks of data to provide confidentiality and data integrity.

Popular examples of Feistel ciphers include:

Continue reading 


Chinese Remainder Theorem

󰃭 2017-10-02 | #cryptography #number-theory

The Chinese Remainder Theorem (CRT) is a mathematical theorem that provides an efficient way to solve systems of linear congruences.

Specifically, it states that given a set of integers that are pairwise coprime and a set of remainders modulo those integers, there exists a unique solution, modulo the product of the integers, to the system of congruences.

Continue reading 


RSA Cipher

󰃭 2017-09-25 | #cryptography

First Attempt

Let’s first try to build a scheme directly from the Fermat’s Little Theorem.

Given a prime number p and a message m < p, we choose two numbers e and d such that e·d ≡ 1 (mod p-1).

Continue reading 