Security Project II : Digital Signature (DSA)

The second assignment in the Stavanger University “Cryptography and Network Security” course was slightly harder, especially because during the generation of the key we have to play with huge numbers. I developed the application in Java and used the BigInteger class to handle these huge numbers.

The program works like that:

1. First, you have to generate your own public and private keys and you save the public key in a file (.pk extension)

2. Then, type your message and sign it, then save it in a file ( .mes extension)

3. The last step (the most important) is the part where you check if the message loaded really comes from the official writter. So you have to load his public key, load the message and then press check.

Here is a screenshot of the application:

For information, I have implemented the digital signature algorithm with a 1024 bits long p and a 160 bits long q (for people who knows what the DSA algorithm is all about)

I use a hash function made by myself. You can find everything in the code at the end of this post.

And you can download the whole project (code + exec + report) here :  > Download <

Security Project I : Feistel Cypher (DES)

First assignment of the course : “Cryptography and Network Security” I was following in Stavanger University, Norway.

The goal was to develop a Feistel Cypher, we could choose an existing one or create one of our own conception.

After some tries, I realized that my cypher wasn’t really secure, so I implemented the DES (Data Encryption Standard), with one modification: The key required doesn’t need to be 64bits long, a function generateKey makes the key as long as the size of the plaintext.

Screenshot of the application:

GUI of the Java application

You can download the whole project (source + exec + pdf report) here :  > Download <

Enib Project : EnibMix C#

This following project has been realized in collaboration with my classmate Florian Boucher back in the first semester of my 4th year in the Ecole Nationale d’Ingénieurs de Brest.

It gave us the opportunity to practice after the theory and concept we learnt about C#

The application is a music player, where 2 different tracks can be played simultaneously. It has an “auto-mix” feature, which starts to play the second song when the first is almost finished, while reducing the volume of the first one and increasing the volume of the new track. It also has a “Cue-reset” feature, very well known for whoever has already tried to play with some electronic music software. (it allows the user to create loops easily)

It also has a “Samples” feature, in order to play short samples (ring, voice..) on top of the song.

Here are some screenshots:

Application at the beginning
EnibMix while reading
Frame allowing the use of SAMPLES

The project is available here: > Download <

(ps: if you are running a 64 bits OS, you might have to change the Platform target to force x86 (right click on project, propriety, built, platform target: x86))

Semantic Project : Esports Ontology

During my studies in Norway, I had the opportunity to discover the web semantic (RDF/RDFS  – RDF/XML – OWL – SPARQL and the different Semantic Web Service Framework)

At the end, the project was to create a real ontology (through the software Protégé), and create a software allowing the creation of SPARQL request to browse and filter the data-base.

The choice of the subject was totally free, so I picked an universe I know quite well : the E-Sports.

Teams, players, sponsors, equipements, staff, event (Lan, online competition) .. the subject is full of different kind of data to represent: a perfect example for this project!

Here is the taxonomy of it :

And here is a screenshot of the software I developed (in Java/Jena)  to handle the request system:

I used a xsl rule to convert the xml retrieved into a html array.

The project is available here : >Download<

It includes a pdf explaining everything, the jar application + the source code.

[Obsolete] Sportyran cheat software

I used to be bored enough sometimes to play some php games, like sportyran (http://www.sportyran.net/fr/foot/)

And a thing I hate is doing all the time the same action, without being able to automate it. The basic idea of this sportyran website at this time was to play a game every 2 hours in order to be super efficient. So I had to log in, and click on the same buttons every 2hours. I have to admit that it wasn’t really smart and that sometimes I needed to sleep, so I made a really simple software which went every 2 hours on the website, check if I could play, launched the game searching engine, and then went back on google (we can see who is connected on the game website.. didn’t want people to notice!)

I modified the software once, just to be able to do the same for my second team.. and then I got bored of the game :p

The code is really simple, just using the WebBrowser from the Visual Studio IDE (the application is coded in C#), a timer and a function which scans the value of the different buttons.

Here is a screenshot of the software: