Skip to content

Instantly share code, notes, and snippets.

View brookpeng's full-sized avatar

Qunming Peng brookpeng

View GitHub Profile
@brookpeng
brookpeng / pubclient.cpp
Created December 10, 2021 03:22 — forked from kuenishi/pubclient.cpp
ZeroMQ sample codes
#include <zmq.hpp>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
int main (void)
{
zmq::context_t context(1);
const char * protocol =
"tcp://localhost:5555";
@brookpeng
brookpeng / Makefile
Created September 14, 2020 16:30 — forked from nzjrs/Makefile
Python ctypes example
all: test libtest.so testmodule
libtest.so: libtest.c
$(CC) -Wall -g -fPIC -shared -o $@ $? -lc
test: test_main.c libtest.o
$(CC) -o $@ $?
testmodule: testmodule.c
python setup.py build

Introduction

A few weeks ago I stumbled across a thread on hacker news that referenced the Matasano Cyrpto Challenge. I find myself unable to resist this type of problem so I decided to make an attempt. It teaches you to find vulnerabilities in crypto systems by starting with simple attacks and building up to more complex ones. Early on in the project it has you start breaking ecryption that uses the AES cypher in ECB mode. It specifically asks you not to implement the cypher yourself but to use a known-correct implementation like OpenSSL.

I tend to try to solve programming challenges in python, because the coding goes much more quickly. I checked the pyOpenSSL docs (which I have used before) to determine the call for encryption in ECB mode.