Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am rusydi on github.
  • I am rusydi (https://keybase.io/rusydi) on keybase.
  • I have a public key whose fingerprint is 456D 0F99 298E 0AF7 3864 5274 D76B 7560 14ED 945D

To claim this, I am signing this object:

@rusydi
rusydi / lowmc.py
Created November 2, 2017 22:32
Polynomial System Generator for LowMC Block Cipher
"""
Polynomial system generator for LowMC block cipher [ARSTZ15].
AUTHOR : Rusydi H. Makarim <makarim@cwi.nl, r.h.makarim@math.leidenuniv.nl>
REFERENCES:
[ARSTZ15] M. Albrecht, C. Rechberger, T. Schneider, T. Tiessen, M. Zohner;
*Ciphers for MPC and FHE*; EUROCRYPT 2015; Available at
https://eprint.iacr.org/2016/687
"""
@rusydi
rusydi / posix_aligned_allocator.hpp
Created October 20, 2017 16:18
A C++11-compatible allocator that takes care of memory alignment
/*
A C++11-compatible allocator that takes care of memory alignment. Note that
this is only written for POSIX-compliant OS and has been tested on Ubuntu
16.04 using gcc 5.4.0.
Author: Rusydi H. Makarim <rusydi.hasan@gmail.com>
*/
#include <algorithm>
#include <memory>
#include <type_traits>
@rusydi
rusydi / union_find.cpp
Created October 20, 2017 16:16
A simple and generic implementation of union-find disjoint sets
/*
A simple and generic implementation of union-find disjoint sets.
Author: Rusydi H. Makarim <rusydi.hasan@gmail.com>
*/
#include <vector>
template<typename T>
class union_find
{