Skip to content

Instantly share code, notes, and snippets.

View blipp's full-sized avatar

Benjamin Lipp blipp

View GitHub Profile
@mjosaarinen
mjosaarinen / bitlogic.adoc
Last active July 20, 2023 12:29
On RISC-V Logic Optimization for Cryptography

DRAFT of 2020 May 28 Markku-Juhani O. Saarinen <mjos@pqshield.com>

On RISC-V Logic Optimization for Cryptography

Many cryptographic functions require computation of Boolean functions from n bits to m bits. Sometimes these functions are large enough to have been traditionally implemented with table lookups, but timing side-channel considerations force their implementation in a bit-sliced manner.

@mimoo
mimoo / patents.md
Last active April 8, 2020 02:26
patents in crypto

Infamous patents in cryptography

  • 1976-1977 - Diffie-Hellman - the patent was filled more than a year after the idea was circulated/published, thus was invalid. The invalid patent expired in 1997.
  • 1991 - Schnorr signatures - Schnorr is obviously the best signature scheme we have, yet the NIST went ahead and standardized the sub-primitives DSA and ECDSA to circumvent Schnorr's patents (Schnorr was not happy 1, 2). In 2008 the patents expired and EdDSA and other schnorr-based signatures started flourishing again.
  • 1996 - NTRU - The algorithm was placed in the public domain in 2017.

    A note on patents. One reason that NTRU is not more widely deployed is that there have been patents restricting its usage fo

Getting started with OMEMO

This is a short tutorial on how to get started with OMEMO. This is not to replace the XEP but to extend it and give you some clear steps to follow instead of a having to read through a formal specification.

Namespaces

Until OMEMO becomes an official XEP all current implemenations use the namespace eu.siacs.conversations.axolotl instead of urn:xmpp:omemo:0. Sub-namespaces are seperated by a . instead of a :. The device id however is sperated by :. So the namespace for a PEP device bundle for example will look like this: eu.siacs.conversations.axolotl.bundles:1234. You might want to define some constants in your code to have a central place to configure them later. Compare that to how Conversations does this.

The official XEP will also be based on Olm instead of Axolotl which means