Mgr. Jan Starý, Ph.D.

Theses

Bachelor theses

Genetic algorithms for molecule generation

Author
Jonatan Matějka
Year
2017
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Radek Richtr, Ph.D.
Summary
The purpose of this work is to produce a program which generates suitable molecules based on user's request. Starting with a database of molecules provided by the user, generations of new molecules are generated and evaluated by a virtual molecule screener, obtaining a measure of fitness with respect to the request. We choose a suitable data model of a molecule and design appropriate genetic operators of crossover and mutation. The result is a set of unix utilities performing the individual steps of a genetic algorithm. Based on the user's input, the program produces a large set of molecules satisfying the given constraints.

Bitcoin Wallet for Android with TREZOR Hardware Wallet Support

Author
Matouš Skála
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Summary
The goal of this thesis is to design a Bitcoin wallet for the Android OS, using the TREZOR device as a secure private key storage. The implemented application allows to see transactions history, to compose a new transaction, sign it and broadcast it to the network. The secondary contribution of this thesis is designing an Android library simplifying the communication with the TREZOR device.

Minimal normal forms

Author
Klára Červenková
Year
2023
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Summary
The aim of this bachelor's thesis is to create a program that returns to the user, based on a given formula of propositional logic, the minimal disjunctive, resp. conjunctive normal forms of this propositional formula. Preparatory analytical work, which included defining the notion of the minimal normal form of a propositional formula and describing the Quine-McCluskey's algorithm searching for that form, is followed by the design of a formal ASCII language to capture the syntax of propositional formulas and the design of the program as such. The implementation of a parser of propositional formulas, a search for the disjunctive, resp. conjunctive normal form, including the minimization itself, is done using the programming language C.

Mapping the Network Neighbourhood

Author
Vojtěch Harašta
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Viktor Černý
Summary
This bachelor thesis focuses on creating one single utility, runnable on most unix type systems, which will map the network neighbourhood using basic protocols like ICMP, ARP and others. The utility also provides basic networking tools, like ping and traceroute. This thesis solves the given problem using low-level network functions, which are unified across the unix family systems and by creating it's own packets. This solution provides the ability to find all other devices on the local network, locate DHCP and file server(s), ping any given IP, trace the route to any given IP, show the routing table and display information about a given network interface, like local IP, network, MAC and default gateway addresses. The contribution of this thesis is the ability to use one single utility for network diagnostics on most unix-ĺike systems without compatibility issues. The source code and manual pages are attached.

Slovak government opendata

Author
Juraj Šprlák
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Josef Gattermayer, Ph.D.
Summary
The concern of this bachelor thesis are open data and their practical usage. The theoretical part of the thesis introduces the open data, describes their main attributes, discusses the world leaders in data opening, presents some of the most important institutions foucusing on the open data and open govern- ment in the world and in the European Union and analyses the situation in Slovakia with the most interesting and impactful state and non-state projects. The practical part focuses on the economic data of the city of Prešov, a municipality providing most useful open data in Slovakia. It analyses these data and describes the implementation of the main product of the thesis { a web application built on top of these data, which presents and connects them to the Slovak Business Register.

Crypto for FITCoin

Author
Ihor Salov
Year
2021
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Josef Gattermayer, Ph.D.
Summary
This bachelor thesis describes the principles of asymmetric cryptography and the usage of digital signature mechanism to provide integrity of blockchain technology. The knowledge gained during this research is then used to implement a mechanism for authorizing coin spending in the FITCoin cryptocurrency.

Audio processing of VOIP data

Author
Josef Kučera
Year
2015
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Viktor Černý
Summary
The purpose of this thesis is to consider the posibilities of recording VoIP calls and implement a UNIX application that extracts actual audio streams from captured VoIP packets. The work also contains a manual, a programm's documentation and a testing report.

FITCOIN: an Android light wallet

Author
Minh Trieu Quang
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Mgr. Martin Podloucký
Summary
FITcoin is a trivial cryptocurrency, which is developed by students of CTU FIT. It is a trivial form of Bitcoin which serves for study purposes to understand its requisites and technologies which form the basis of every cryptoccurency. The goal of this thesis is to describe how a mobile wallet works, how it obtains and verifies the transactions. Based on this analysis, design and implement a mobile wallet in the operating system Android and describe a communication protocol for cryptocurrency FITcoin. The prototype is documented and tested. The application package of the resulting prototype and screenshots of the usage can be found in the attachments.

Algorithms for propositional logic

Author
Ondřej Šmíd
Year
2014
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
RNDr. Kateřina Trlifajová, Ph.D.

Detection of Slow Brute Attacks

Author
Libor Šlechta
Year
2016
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Jiří Smítka
Summary
This thesis implements a detector of stealthy brute force attacks on SSH servers. The application consists of a set of cooperating Python scripts. Obtained records are being stored in an SQLite3 database. This program is able to find more than half of attackers in simulated datasets. The application may be useful in further research of the method and can also serve as foundation to a real-world detector. In the conclusion topics for further research are proposed.

Managing a FITCOIN blockchain

Author
Andrea Zábojníková
Year
2020
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Summary
The bachelor thesis describes the design and implementation of a blockchain for the cryptocurrency. Cryptocurrencies use a blockchain technology to record transactions, so the blockchain acts as a distributed ledger. In the theoretical part I describe the necessary concepts used in cryptocurrencies and from this knowledge the implementation for the cryptocurrency Fitcoin is derived. The practical part is the implementation in the C language.

FITCOIN: transactions

Author
Jan Tománek
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Summary
This bachelor thesis aims to introduce how do transactions work in Bitcoin and Ethereum cryptocurrencies and also describe the inner structure of transactions. At the same time, cryptographic methods used in this domain are explained. This thesis is a part of the FITCOIN project. The effort of FITCOIN is to create a brand new cryptocurrency, which should be as simple as possible. The work contributes to the project by proposing a design of transactions, their security, and validation. Part of the thesis is the implementation of proposed transactions, including a simple wallet, which can create new transactions.

FITCOIN: the wallet structure

Author
Lukáš Dang
Year
2020
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Josef Gattermayer, Ph.D.
Summary
This thesis aims to analyze the wallet structure used in the Bitcoin cryptocurrency. The cryptographic methods used in cryptocurrencies are also described. This thesis is part of a project called FITCOIN, whose goal is to create a cryptocurrency, keeping it as simple as possible. This thesis contributes to the project by designing and implementing a new wallet structure, which is practical to use even for a larger number of keys. For this reason, databases available for UNIX systems are analyzed and a discussion about which of them is suitable for this purpose is held.

Extracting VOIP Data from Network Traffic

Author
Filip Šuster
Year
2015
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Viktor Černý
Summary
This Bachelor's Thesis deals with the implementation of an application for monitoring voice communication transferred by IP Protocol (VoIP telephony). The application monitors at the network interface and detects calls signalled by SIP protocol, according to given criteria. As a result, audio packets are extracted to files and metainformation about calls is stored in a database. Audio files are then processed into a sound format, metainformation is accessible to users through a web interface. The conversion of the raw audio data into the sound format and the web interface is beyond the aim of this thesis, however, it makes an aggregate together with theses of my coleagues. The thesis includes the programmer's and user's documentation.

Resolution for First Order Logic

Author
Michal Dvořák
Year
2021
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. RNDr. Dušan Knop, Ph.D.
Summary
Propositional logic is decidable – there exists an algorithm deciding whether any given propositional formula is satisfiable. Predicate logic is not decidable – in general, no algorithm can decide whether any given predicate formula is satisfiable. On the other hand, there are procedures which solve this problem partially. Resolution method is one of them. Extending the resolution method, one can obtain a deduction system called the resolution calculus. We describe the theoretical preliminaries important for the resolution method and we implement it in C++.

FITCOIN: a web based blockchain viewer

Author
Rostislav Kaufman
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Jaroslav Kuchař, Ph.D.
Summary
The thesis deals with the blockchain technology, the ways it can be used to implement a cryptocurrency and the possibilities of browsing through the cryptocurrency's blockchain during its operation. It includes a summary of options and approaches that are useful for the acquisition of data from a blockchain, and then a choice of the most suitable approach to be used with the Fitcoin cryptocurrency that is being developed concurrently. The main output of this thesis is a design of a viable system and its partial implementation in the form of two applications written in Ruby, a web app created using the Rails framework and a plain Ruby app for the communication with the Fitcoin network.

Arbitrage Opportunities in Cryptocurrencies

Author
Kamil Kader Agha
Year
2020
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Daniel Dombek, Ph.D.
Summary
This work examines arbitration opportunities at the cryptocurrency exchange market with regard to the depth of the market and the calculation of basic statistics of arbitration occurrences. The work has a theoretical and technical part. The first part defines the arbitration issue and its attributes, describe cryptocurrencies and analyze three crypto exchange markets. Ways to obtain this data in real-time are identified, as well as a survey of other works that have addressed this topic. The result of the technical part is the design and implementation of software that downloads current data on triangles from the exchange office, saves them, and evaluates and displays them to the user.

VOIP call signalizatin and recording

Author
Matěj Polák
Year
2016
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Jiří Smítka
Summary
VoIP traffic in the network can be monitored, signaled VoIP calls can be captured, and audio streams can be extracted from the the captured packets. Previous works have implemented a network application recording VoIP calls signaled with the SIP protocol. Our purpose is to extend this application to support the proprietary Skinny Client Control Protocol used by Cisco.

implementation of satisfiability verification

Author
Martin Zavadil
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
RNDr. Kateřina Trlifajová, Ph.D.

implementation of a propositional proof parser

Author
Jan Švajcr
Year
2014
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
RNDr. Kateřina Trlifajová, Ph.D.

a blockchain for FITCOIN

Author
Mikuláš Dvořák
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Summary
The aim of this bachelor thesis is to include the blockchain technology into the FITCOIN (trivial cryptocurrency based on Bitcoin). Blockchain is a decentralized append-only database on a P2P network. In the theoretical part of the thesis the blockchain technology in Bitcoin and Ethereum is analyzed. In the next part I am explaining the design behind a blockchain in FITCOIN. In the practical part solution is implemented in programming language C++.

Genetic algorithms for molecule screening

Author
Daniel Šulik
Year
2018
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Summary
The purpose of this work is to extend an existing program, which generates molecules defined by starting parameters and a molecular database provided by the user. The program will be extended by other evolution techniques, which may be spotted in daily life situations. The result is set of UNIX utilities performing different genetic techniques. The contribution of this work is to point out that usage of computing machines in co- operation with evolution algorithms can be used on time demanding problems, known as NP problems.

A wallet for FitCoin

Author
Jiří Havrusevič
Year
2020
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Jiří Buček, Ph.D.
Summary
This thesis analyzes certain parts of cryptocurrencies mainly related to cryptography or efficiency. Then it describes crypto wallet model in general, according to previous analysis. This model was used during implementation of wallet for the Fitcoin currency. This currency is developed as a part of multiple bachelor theses. This project and thesis are mostly inspired by very familiar currency - Bitcoin.

Arbitrage Opportunities in Cryptocurrencies

Author
Čeněk Žid
Year
2020
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Daniel Dombek, Ph.D.
Summary
This thesis deals with the analysis of arbitrage opportunities. The research part focuses on basic principles of Bitcoin, its technologies and history. It also describes the differences among several cryptocurrency exchanges and analyses various types of cryptocurrency arbitrage. The practical part of the thesis follows up with a selection of a suitable cryptocurrency exchange. Exchange data availability, acquisition and processing are addressed in the next part. The analytic part presents the statistics of occurrence and profitability of the triangle arbitrage opportunities. These are presented as tables and charts created from the collected data. The most profitable triangles are isolated and analysed in detail.

Web frontend to a VOIP recorder

Author
Viktor Robejšek
Year
2016
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Viktor Černý
Summary
This bachelor thesis discusses part of a project aimed at capturing and processing audio calls obtained with Internet telephony. Specifically, it deals with the design, implementation and testing of a PostgreSQL database and a PHP web user interface. The opening chapter describes the project as a whole and its individual parts. The design chapter describes the database and interface requirements and the use cases. The implementation chapter describes specific database and interface features and functions, the resulting database schema, and security features. The testing chapter describes compatibility and demonstrates the functionality of the code. The results of this thesis are source codes of the web interface and a script creating the database tables and functions

A distributed infrastructure for virtual molecule screening

Author
Štěpán Sršeň
Year
2017
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Summary
This work is focused on parallel computing for virtual molecular screening. The main goal is to develop software which will cooperate with quantum computational chemistry software and filter molecules with desired material properties. The program has to be portable among Unix-like operating systems. In the first part of this work a literature review is conducted. In the second part acquired knowledge is used to design the software which is then extensively tested at the end of this work.

A miner for FITCOIN

Author
Filip Volf
Year
2019
Type
Bachelor thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Summary
Bitcoin is a digital currency, that tries to solve the failures of the current financial system. Although the original proposal for Bitcoin was simple, this cryptocurrency increasingly grows on complexity. This thesis deals with fundamental ideas of a cryptocurrency and implements a software called miner, which facilitates the decentralization. The thesis is part of the project Fitcoin, which aims to develop a barebones cryptocurrency stripped out of all unnecessary features, which would be portable across different Unix operating systems and a variety of hardware. I implemented the software in the C programming language with the help of LibreSSL library of cryptographic functions. I tested the cryptocurrency Fitcoin with the incorporated miner on different operating systems and a variety of hardware. I also verified the correct function of selected parts of the miner with the help of unit tests.

Master theses

Stock market trading and their database backend

Author
Ondřej Fremunt
Year
2015
Type
Master thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Jiří Chludil
Summary
Capital markets, on which securities are traded, enable businesses to get money to grow and investors to assess their investments. The value of securities is determined by the market; it depends only on bids and asks. Trading securities, one can make a lot of money but one can lose out as well. The aim of this diploma thesis is to design and implement the two key components of a stock exchange - its database schema and a tool calculating the auction price and matching orders.

Stock Exchange Simulator

Author
Jan Jůna
Year
2015
Type
Master thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Jiří Smítka

Detecting and Capturing Conference VOIP Calls

Author
Matěj Polák
Year
2019
Type
Master thesis
Supervisor
Mgr. Jan Starý, Ph.D.
Reviewers
Ing. Alexandru Moucha, Ph.D.
Summary
The purpose of this work is to implement an application in the C language for the detection and recording VoIP calls signalized by Skinny Client Control Protocol by the Cisco company. The main task is to extend and generalize previous work to cover conference calls and to design new architecture with ability to be easily extended by other VoIP protocols.