Lattice Algorithms for q-ary lattices (C/C++/NTL)
Contains mostly simple algorithms related to lattices that emerge in cryptography (q-ary lattices). Builds on top of (and requires) Victor Shoup's NTL library. Includes simple methods for creating LWE instances, computing bases for the instance, approximating the corresponding CVP instance using Babai's algorithm (both deterministic and randomized version) and more.
source code (in C++, requires the NTL library) Major update coming soon!

Finance Portfolio Selection Algorithms (Python)
Performance evaluation of various portfolio-selection algorithms. Evaluation is based on simulations performed on real historical data from Yahoo! Finance. Examples of algorithms used include simple buy-and-hold, constant rebalancing and the anticorr algorithm.
Collaborator: Lorenzo Coviello
source code (in Python) Presentation

ISlip Throughput/Fairness tradeoffs for the iSlip scheduling algorithm (Python)
Study of the behavior of the iSlip scheduling algorithm under several traffic patterns. Comparison of its throughput to the throughput achieved by a maximum matching algorithm which is less efficient and completely ignores fairness.
Collaborators: Todor Ristov and Nikos Trogkanis

IM Security Evaluation of Instant Messengers
Study of security issues related to authentication and message transmission. Both the protocols and the specific implementations by popular clients are evaluated. Evaluation is performed against sniffing, Man in the Middle and fake server attacks. The main tool used for the evaluation was Wireshark.
Collaborators: Andrea Vattani and Panagiotis Voulgaris

Older Projects

This is a short list of some of the projects I completed during my undergradute studies. Most of them are group assignments. Unfortunately, some of them are available only in greek.

  • GOOGLE Maps API demonstration through a web-based application. Offers functionalities like login, navigation on maps obtained online by GOOGLE, insertion of points of interest on the map, layers choice etc.
    Collaborators: Harry Nakos, George Stavroulakis
    (documentaion in greek, Installation guide (in english) and source code:
  • Online Algorithms: Introduction to Paging and Related Algorithms (report: paging.doc in greek, presentation: PagingPresentation.ppt in greek)
  • Modelling of the navigation of a robot inside a three-floor house. The parts of the house are represented as the elements of a 2-dimensional array. For the manipulation of the robot, there are commands for elemantary moves, search for the shortest path, movement of the robot from one room to another etc. (source code in Prolog:, report in greek: RobotReport.doc)