Posts

  • 100 drawers

    And as I promised in the previous post, I did some research, lots of furious scribbling on paper, and now I am ready to present a new interesting math problem. This is, again, taken from the book So you think you have problems? by Alex Bellos (and from the same section).

    [...]

  • Spinning switches

    Well, look at this. More than 2 years of inactivity on this website and my Github account overall. The chance anybody is still looking here for new posts is rather slim, but well, I’ve never done this for the audience anyway.

    [...]

  • What I discovered about...burning fat

    Diet and eating advices are so abundant in our day-to-day life that I sincerely hope somebody comes up with a device that makes me disappear at will, just so I can quietly escape such conversations when I see them coming. And this is coming from somebody who loves to cook.

    [...]

  • The Fourier transform

    First post of 2018! Exactly two months after my last one. I have been short on topics to write about these past months, but finally here we are!

    [...]

  • Advent of Code and Rust

    The Advent of Code, which I did not know was a thing until this year, is an excellent way to practice a new language. The puzzles are not too easy that you get bored, but not too hard that using a new language you are not very familiar with becomes frustrating. So finally I had found the perfect excuse to practice Rust. And here is what I learned.

    [...]

  • About reverting Git commits

    Today I created a new repository on Github and I wanted to upload some local code. However I messed it up and created the first commit locally too soon, so I needed to revert it to fix things.

    [...]

  • The return of Coppersmith's attack

    It was a close call between this and a post about elliptic curves. But in the end I decided a post was going to help me summarize all I learned about Coppersmith’s attack in the past days. So here we go!

    [...]

  • The Chinese remainder theorem (with algorithm)

    Let me preface by saying that you could potentially write a dozen blog posts with all the implications and mathematical connections that I saw involving the Chinese remainder theorem. That being said, I am going to focus on a basic description and how to implement it.

    [...]

  • Introduction to ring signatures

    Well finally I got around to reading this article about confidential transactions. Recommended if you are interested in how some security guarantees in cryptocurrency transactions can be enforced. However, thanks to that article I also learned something about ring signatures, so in this post I will talk about that.

    [...]

  • RSA padding oracle attack

    My long series of posts on the Matasano crypto challenges and cryptography in general cannot be called complete without a dissertation on challenges 47 and 48, dedicated to the PKCS1.5 padding oracle and how it is exploited to break RSA and recover a plaintext. I was fascinated by this attack and read the whole paper before coding the implementation, so this post will include a bit more details on why the attack works.

    [...]

  • Usenix Security 2017: global DNS manipulation

    Usenix Security 2017 happened recently, and Usenix has then published all the videos and proceedings (see their main page). Since I didn’t attend, I looked through the videos to watch those I found more interesting. One in particular struck my attention. The presenter talks about a study performed by several academic bodies to measure DNS manipulation across the world in a reliable and repeatable fashion.

    [...]

  • Finding solutions to weird equations

    A while back, on social media, I found a link to an interesting post on solving a particular mathematical equation. Now I know this description might not sound very enticing; people solve equations every day! But, some equations carry more meaning than what appears at first glance.

    [...]

  • Forging RSA signatures

    As I vaguely promised some weeks ago, going back to solve the crypto challenges I had missed in the sets before the eigth one, I found yet another interesting problem to talk about: exploiting several weaknesses to forge a RSA signature.

    [...]

  • Interesting C++ features, part 2

    I have developed in C++ a lot, both at work and outside. So I like to keep updated with the new features and utilities introduced by new versions or available through common libraries. This post will describe a few new things I have discovered recently.

    [...]

  • Cleaning up the Matasano repositories

    I started the Github repository for the Matasano crypto challenges mostly for myself. It’s not software with actual users, so I didn’t pay a lot of attention to code health or general organization.

    [...]

  • Fish shell

    Among way more serious topics, there is something trivial I want to share with the world: I officially changed my default shell to fish.

    [...]

  • Discrete logarithms: a guide

    I am working through the second challenge in the 8th cryptopals set, and I am already learning something new. Let’s talk about discrete logarithms, what they are and how to compute them.

    [...]

  • Matasano crypto challenges: set 8

    Well, the time has come for me to start the 8th set of the crypto challenges. Actually I have one remaining challenge to complete in set 7. I have started the work and have a good idea of what I am supposed to do, but I find the actual implementation a bit boring, so I have set it aside for now. The basic idea, as explained in the challenge itself, is to perform a series of bitwise operations to tweak bits in a message. After enough tweaks, we should have a new message that has the same MD4 hash (with a given probability).

    [...]

  • Anitya setup completed

    To recap:

    [...]

  • Game theory (or what I am doing these days?)

    My previous efforts are grinding to a halt a bit. Reason? I have started studying Game Theory and I still haven’t managed to stop!

    [...]

  • The packager manual (for Arch and derivatives)

    I have poor memory. One thing I have especially poor memory for is Unix commands and parameters. On top of that, I don’t do packaging often, so some less common commands escape my mind quickly. This post tries to address this problem by listing some of the commands I find both useful and hard to commit to memory.

    [...]

  • Anitya for Chakra (with updates!)

    Anitya is a cross-distribution monitor for project releases, born and maintained by the Fedora project. It is a service where registered users can add projects to monitor for new releases. Anitya provides a dashboard that marks projects with new releases, and also announces them through messages over fedmsg, Fedora in-house messaging system. It supports all popular coding hosting services.

    [...]

  • Multiplying hash collisions

    Turns out that for some hash functions, finding a collision is easy and fun, but multiplying your collision into a full disaster is even better!

    [...]

  • Implementing the CRIME attack

    I have just completed challenge 51 of the Matasano crypto challenges, which is modeled on the CRIME attack. Let’s talk about how it works!

    [...]

  • Chakra 2017

    The Chakra community has published a review of 2016, with a list of propositions for 2017.

    [...]

  • New Jekyll version

    I managed to accidentally break my website, meaning I could not push any change because Github Pages refused to build it.

    [...]

  • A summary on online misinformation

    Introduction

    Not so long ago, I mentioned that I hate bad news and that I am planning to implement a clickbait classifier. But obviously bad news are not limited to articles with a clickbait title.

    [...]

  • C++ and its errors

    So while I was developing Cookbook the compiler threw me this error which I don’t remember ever seeing before:

    [...]

  • New personal projects

    These days I am just bursting with ideas :) so let’s talk about some new projects going around my mind.

    [...]

  • Updates on Chakra development

    After returning from the Chakra meeting I felt more motivated than ever, and we have many many ideas to put into practice. So let’s talk about what the Chakra developers are up to these days.

    [...]

  • Mersenne Twister part 2

    Mersenne Twister is one of the most popularly used random number generators. It is even present in the C++ standard library (http://www.cplusplus.com/reference/random/mt19937/). Let’s see how it works!

    [...]

  • Mersenne Twister, part 1: a primer on PRNGs

    Another post sponsored by the Matasano Crypto Challenges. Today I am looking back at older challenges, and at the interesting world of pseudo-random number generators, or PRNGs.

    [...]

  • DSA (Digital Signature Algorithm): overview and implementation

    Thanks to the Matasano crypto challenges, I have had the opportunity to look at DSA more closely. In this post I am going to present the algorithm, demonstrate it works, show an implementation in Python and the vulnerabilities I have discovered through the challenges.

    [...]

  • Chakra Shindig 2016: a personal report

    Presentation time

    My name is Lisa, known online as shainer. I joined the Chakra team in 2011 as a developer. I interrupted my contribution in the team at the end of 2013, and joined again at the beginning of 2016.

    [...]

  • Calamares news

    Metaphor of all software development: I keep trying to add features to a project, only to uncover bugs that need to be solved before I can go on :D

    [...]

  • Welcome!

    Welcome to my new website [...]

subscribe via RSS