====== Research topics at CRoCS ======
~~NOTOC~~
- Primary audience are a) students searching for thesis topic and b) foreign researchers interested in our work
- Add selection of few most relevant publications to 'Selected publications' section [goal: convince external researcher we have serious results]
- Make sure 'Publications' button points to complete list of even loose relevant papers (add the keyword to bibtex as described [[https://crocs.fi.muni.cz/publications/main|here]]) [goal: provide all topic-relevant results quickly]
- Try to be consistent with other topics (convince others to update before overly creative change) [goal: have professional consistent style]
- Add list of involved people and in alphabetical order (goal: avoid subjective ordering based on contributions)
- Update when new publication, tool or contributor happens [goal: keep page up to date]
- Use local section edit instead of whole page edit, check that page is not broken after edits (removed topic, garbage text) [goal: keep page nice and complete]
- Add new topic only when significant work was already done, discuss before [goal: keep page relevant and not overly long]
- Find project you like,
- Contact people involved,
- Have fun while saving the world (of research and open-source)!
** Join us! **
We are always looking for enthusiastic people with passion for problem solving willing to work hard yet having [[:public:openlab:main | good fun]]. Don't be afraid if you don't have previous experience in the project area you like. We are here to help you and we all learn something in the process.
Read the research domains to get a wider picture. Check currently open [[https://www.fi.muni.cz/research/crocs/topics.html.en | topics in IS]], but do not hesitate do discuss different ones with contact person listed below.
===== Security of cryptographic implementations =====
{{ :public:research:cards.png?direct&300|}}
We systematically analyze the security of cryptographic implementations, including the blackbox ones with no access to a source code (e.g., cryptographic smartcards). Typically, a large number of cryptographic operations is executed with observed data and various side-channel information recorded and statistically analyzed. The approach leads to several high-profile discoveries, including the practical factorization of RSA keys from Infineon chips ([[https://roca.crocs.fi.muni.cz/|ROCA attack CVE-2017-15361]]) or EC private key extraction from timing of ECDSA signatures ([[https://minerva.crocs.fi.muni.cz/|Minerva attack CVE-2019-15809]]). The goal is not only to find an attack but also to provide open-source verification tools.
**Last update: 17.01.2024**
**Contact:** Jan Jančár
**More information, projects and resources:**
* [[https://keychest.net/roca|ROCA online Tester]]: A tool for testing RSA keys for the ROCA vulnerability.
* [[https://github.com/crocs-muni/roca|ROCA repository]]: A code repository with the testing tool for the ROCA vulnerability.
* [[https://github.com/crocs-muni/minerva|Minerva repository]]: An artifact repository for the Minerva vulnerability.
* [[https://crocs-muni.github.io/ECTester/|ECTester]]: A tool for testing blackbox elliptic curve cryptography implementations on smartcards and in software libraries.
* [[https://github.com/J08nY/pyecsca|pyecsca]]: **P**ython **E**lliptic **C**urve **C**ryptography **S**ide-**C**hannel **A**nalysis toolkit.
* [[https://github.com/crocs-muni/fooling-primality-tests|Fooling primality tests repository]]: An artifact repository for the "//Fooling primality tests on smartcards//" paper.
* [[https://github.com/crocs-muni/cm_factorization|4p-1 repository]]: An artifact repository for the "//I Want to Break Square-free: The 4p−1 Factorization Method and Its RSA Backdoor Viability//" paper.
**Involved people:**
* [[https://is.muni.cz/auth/osoba/j08ny|Jan Jančár]] 2017-now (security of ECC implementations)
* [[https://is.muni.cz/auth/osoba/325219|Dušan Klinec]] 2015-2021 (RSA certificates, cryptocurrency security)
* [[https://is.muni.cz/auth/osoba/396066|Matúš Nemec]] 2016-2021 (bias in RSA key generation)
* [[https://is.muni.cz/auth/osoba/408178|Vladimír Sedláček]] 2017-now (theory)
* [[https://is.muni.cz/auth/osoba/232886|Marek Sýs]] 2013-now (project concept, results interpretation)
* [[https://is.muni.cz/auth/osoba/4085|Petr Švenda]] 2008-now (project lead, initial implementation)
** Selected publications: **
* [2020] Jančár, J.; Sedláček, V.; Sýs, M.; Švenda, P.: [[https://minerva.crocs.fi.muni.cz/| Minerva: The curse of ECDSA nonces; Systematic analysis of lattice attacks on noisy leakage of bit-length of ECDSA nonces]], In IACR Transactions on Cryptographic Hardware and Embedded Systems (CHES) 2020. **Received Best Paper Award**
* [2020] Klinec D.; Matyas V.: [[:public:papers:monero_ifipsec20| Privacy-Friendly Monero Transaction Signing on a Hardware Wallet]], In IFIP TC 11 International Conference (SEC) 2020.
* [2020] Sedláček, V.; Jančár, J.; Švenda, P.: [[:public:papers:primality_esorics20| Fooling primality tests on smartcards]], In 25th European Symposium on Research in Computer Security (ESORICS) 2020.
* [2020] Janovský, A.; Nemec, M.; Švenda, P.; Sekan, P.; Matyas, V.: [[:public:papers:privrsa_esorics20| Biased RSA private keys: Origin attribution of GCD-factorable keys]], In 25th European Symposium on Research in Computer Security (ESORICS) 2020.
* [2019] Sedláček, V.; Klinec, D.; Sýs, M.; Švenda, P.; Matyáš, V.: [[:public:papers:Secrypt2019| I Want to Break Square-free: The 4p−1 Factorization Method and Its RSA Backdoor Viability]], In Proceedings of the 16th International Joint Conference on e-Business and Telecommunications (ICETE 2019) - Volume 2: SECRYPT
* [2017] Nemec, M.; Sýs, M.; Švenda, P.; Klinec, D.; Matyas, V.: [[:public:papers:rsa_ccs17| The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli]], In Proceedings of ACM CCS 2017, 2017. **Received Real-world Impact Award**
* [2016] Švenda, P.; Nemec M.; Sekan P.; Kvasnovsky R.; Formanek D.; Komarek D.; Matyas V.: [[public:papers:usenix2016 |The Million-Key Question – Investigating the Origins of RSA Public Keys]], In Proceedings of USENIX Security Symposium 2016, Usenix, 2016. **Received Best Paper Award**
===== Usability of cryptographic APIs and tools =====
{{ :public:research:error-usability.png?direct&250|}}
This project focuses on the cryptographic APIs and tools with respect to their developer usability. Such APIs are notoriously complex and prone to usage errors -- our goal is to analyze their (in)correct usage and propose precautions and guidelines to achieve better usability and security.
In the past the research focus was on usable interfaces of cryptographic libraries from the point of developers and administrators lacking detailed security education. We are interested in both programmable and command-line interfaces, with the emphasis placed on X.509-capable libraries, such as OpenSSL, GnuTLS and NSS, paying special attention to the process of certificate creation and validation. The goal is to enable the developers to use security APIs errorlessly and API designers create better interfaces less prone to misuse. We emphasize the necessity of a usable design even for tools targeted at experienced users.
Recently, we also focused on tools for cryptographic developers, such as tools for verification of constant-timeness.
**Last update: 17. 01. 2024**
**Contact:** Vašek Matyáš
* Research project [[research:crypto-api:main|internal wiki pages]]
** Involved people: **
* [[https://crocs.fi.muni.cz/people/mukrop|Martin Ukrop]] 2016-2022
* [[https://is.muni.cz/auth/osoba/445358|Jan Jancar]] 2022-now
* [[https://is.muni.cz/auth/osoba/344|Vašek Matyáš]] 2016-now
* [[https://crocs.fi.muni.cz/people/lkraus|Lydia Kraus]] 2018-now
** Selected publications: **
* [2022] Jancar J., Fourné M., De Almeida Braga D., Sabt M., Schwabe P., Barthe G., Fouque P., Acar Y.: [[public:papers:usablect_sp22|“They’re not that hard to mitigate”: What Cryptographic Library Developers Think About Timing Attacks]], IEEE S&P 2022.
* [2022] Ukrop M., Balážová M., Žáčik P., Valčík E., Matyas V.: [[public:papers:eurousec2022|Assessing Real-World Applicability of Redesigned Developer Documentation for Certificate Validation Errors]], EuroUSEC 2022.
* [2019] Ukrop M., Kraus L., Matyas V. and Wahshehand H.: [[public:papers:acsac2019|Will You Trust This TLS Certificate? Perceptions of People Working in IT]], ACSAC 2019.
* [2018] Ukrop M. and Matyas V.: [[public:papers:rsa2018|Why Johnny the Developer Can't Work with Public Key Certificates]], RSA Conference Crytographers' Track 2018.
/*
{{section>publications:one:2019-acsac-ukrop&noheader&fullpage}}
*/
===== Security of cryptographic hardware (smartcards, TPMs...) =====
{{ :public:research:jcalgtest_logo.png?direct&200|}}
For more than two decades, we analyze the security of cryptographic hardware and interesting uses in security systems as a trusted element. We work mainly with JavaCard based cryptographic smart cards and Trusted Platform Modules (TPMs). We maintain a large collection of JavaCards and use them to assess their performance, quality of truly random number generators, key generation algorithms as well as security improvements over time. While the internal implementation of cryptographic operations is typically proprietary, we had to develop a suite of techniques for black-box analysis of the implementation correctness - with the advantage of assessment also by other users without the need for proprietary knowledge.
We also develop tools and libraries helping open-source developers to create open, faster, and more secure JavaCard applets.
**Last update: 23.10.2024**
**Contact:** Petr Švenda
**More information, projects and resources:**
* **Analysis of cryptographic implementations**
* [[:public:papers:usenix2016| Classification of RSA key origin based on public key only]], accurate popularity of libraries [[:public:papers:acsac2017|for TLS keys]], [[http://crcs.cz/rsapp | online checker]], [[https://github.com/crocs-muni/RSABias|classifier of private keys]]
* ECTester - ECC implementation tester: [[https://github.com/crocs-muni/ECTester | GitHub repo]]
* javus - systematic JavaCard VM vulnerabilities testing: [[https://github.com/quapka/javus | Github repository]]
* **Secure hardware performance and capabilities testing**
* JCAlgTest [[https://github.com/crocs-muni/JCAlgTest | GitHub repository]] - tools for thorough testing of smart card capabilities
* Supported JavaCard algorithms [[http://www.fi.muni.cz/~xsvenda/jcsupport.html | for more then 100 smartcards]]
* TPMAlgTester [[:public:research:tpm_live | project]]- tools for detailed testing of Trusted Platform Modules
* **Smartcard development resources**
* Low-level ECPoint and BigInteger library: [[https://github.com/OpenCryptoProject/JCMathLib | JCMathLib]]
* On-card applet performance profiler: [[https://github.com/lzaoral/JCProfilerNext| JCProfilerNext]]
* Efficient re-implementations of [[http://www.fi.muni.cz/~xsvenda/jcalgs.html | AES & SHA2 & OAEP for JavaCard]], [[https://github.com/petrs/JCSWAlgs/ | GitHub repo]]
* APDUPlay project - [[https://github.com/crocs-muni/APDUPlay/ | PC/SC APDU inspection and manipulation tool]]
* Code Enhancing Security Transformation and Analysis (CesTa) project [[https://github.com/crocs-muni/CesTa | Github repository]] - source code hardening via security transformations
**Involved people:**
* [[https://is.muni.cz/auth/osoba/445281|Antonín Dufka]] 2019-now (MPC on javacards, ECC leakage)
* [[https://is.muni.cz/auth/osoba/492760|Veronika Hanulíková]] 2023-now (ECC leakage)
* [[https://is.muni.cz/auth/osoba/445358|Ján Jančár]] 2017-now (testing of ECC implementations)
* [[https://is.muni.cz/auth/osoba/4085|Petr Švenda]] 2003-now (project lead, initial implementations)
**Former participants:** Matúš Němec (2015-2020) (analysis of software generated RSA keys); Peter Sekan (2015-2019) (analysis of RSA keys, large datasets); Rajesh Kumar Pal (2016-2017) (JavaCard implementation of CAESAR candidates); Rudolf Kvašňovský 2014-2017 (alignment of DPA traces, YAFU); David Komárek 2015-2016 (power analysis of RSA operation); Lukáš Šrom 2014-2015 (support tests); Lenka Kuníková 2013-2014 (performance evaluation of JavaCards) and quite a lot of other people helping us since 2002
** Selected publications: **
* [2024] Svenda, P.; Dufka, A.; Broz, M.; Lacko, R.; Jaros, T.; Zatovic, D.; Pospisil, J.: [[https://crocs.fi.muni.cz/papers/tpm_ches2024|TPMScan: A wide-scale study of security-relevant properties of TPM 2.0 chips]], In IACR Transactions on Cryptographic Hardware and Embedded Systems (CHES) 2024.
* [2024] Jancar, J.; Suchanek, V.; Svenda, P.; Chmielwski, L.: [[https://crocs.fi.muni.cz/papers/tpm_ches2024|pyecsca: Reverse engineering black-box elliptic curve cryptography via side-channel analysis]], In IACR Transactions on Cryptographic Hardware and Embedded Systems (CHES) 2024.
* [2020] Jančár, J.; Sedláček, V.; Sýs, M.; Švenda, P.: [[https://minerva.crocs.fi.muni.cz/|Minerva: The curse of ECDSA nonces; Systematic analysis of lattice attacks on noisy leakage of bit-length of ECDSA nonces]], In IACR Transactions on Cryptographic Hardware and Embedded Systems (CHES) 2020. **Received Best Paper Award**
* [2017] Nemec, M.; Sýs, M.; Švenda, P.; Klinec, D.; Matyas, V.: [[:public:papers:rsa_ccs17|The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli]], In Proceedings of ACM CCS 2017, 2017. **Received Real-world Impact Award**
* [2017] Mavroudis, V.; Cerulli, A.; Švenda, P.; Cvrcek, D.; Klinec, D.; Danezis, G.: [[:public:papers:mpc_ccs17|A Touch of Evil: High-Assurance Cryptographic Hardware from Untrusted Components]], In Proceedings of ACM CCS 2017, 2017.
* [2016] Švenda, P.; Nemec M.; Sekan P.; Kvasnovsky R.; Formanek D.; Komarek D.; Matyas V.: [[public:papers:usenix2016|The Million-Key Question – Investigating the Origins of RSA Public Keys]], In Proceedings of USENIX Security Symposium 2016, Usenix, 2016. **Best paper award**
* [2015] Cvrček, D.; Švenda, P.: [[public:papers:space2015 | Architecture Considerations for Massively Parallel Hardware Security Platform]], In Proceedings of Space 2015, Fifth International Conference on Security, Privacy, and Applied Cryptography Engineering, LNCS 9354, pp 269-288, Springer, 2015.
* [2014] {{:public:crocs:svenda_asa2014.pdf| Švenda, P.: Nuances of the JavaCard API on the
cryptographic smart cards - JCAlgTest project}}, In Proceedings of ASA 2014, 7th International Workshop on Analysis of Security APIs, 2014.
===== Cryptanalysis of elliptic curves and other algebraic methods =====
{{ :public:research:curves.png?nolink&120|}}
Likely the most theoretical and math-heavy research we do, though still with real-world consequences in mind. We approach elliptic curves from many different directions: we study ECC implementations, problems with ECC formulas, ECC key datasets and in general diverse mathematical ideas involving elliptic curves. Sometimes, this requires us to dive into lattice methods as well.
In the past, we were systematically analyzing standardized elliptic curves. Lately, we have been mainly focusing on ECC with respect to side-channel attacks and the involvement of elliptic curves in the Bitcoin protocol.
**Last update: 18. 01. 2024**
**Contact:** Vojtěch Suchánek
**More information, projects and resources:**
* [[https://dissect.crocs.fi.muni.cz/|DiSSECTion of standard curves]]
* [[https://neuromancer.sk/std/|Database of standard curves]]
* [[https://github.com/crocs-muni/minerva|Minerva ECDSA vulnerability repository]]
* [[https://github.com/J08nY/pyecsca|PyECSCA (Python Elliptic Curve cryptography Side-Channel Analysis toolkit)]]
* [[https://github.com/J08nY/ecgen|ecgen (tool for generating Elliptic curve domain parameters)]]
* [[https://crocs-muni.github.io/ECTester/|ECTester (tool for analysis of ECC implementations)]]
* [[https://github.com/crocs-muni/fooling-primality-tests|Fooling primality tests on smartcards repository]]
* [[https://github.com/crocs-muni/cm_factorization|4p-1 factorization method repository]]
**Involved people:**
* [[https://is.muni.cz/auth/osoba/445281|Antonín Dufka]] 2020-now
* [[https://is.muni.cz/auth/osoba/j08ny|Jan Jančár]] 2019-now
* [[https://is.muni.cz/auth/osoba/451866|Vojtěch Suchánek]] 2020-now
* [[https://is.muni.cz/auth/osoba/232886|Marek Sýs]] 2018-now
** Selected publications: **
* [2022] [[https://dissect.crocs.fi.muni.cz/| Sedláček, V.; Suchánek, V.; Dufka A.; Sýs, M.; Matyáš, V.: DiSSECT: Distinguisher of Standard and Simulated Elliptic Curves via Traits]], In Progress in Cryptology - AFRICACRYPT 2022.
* [2021] [[:public:papers:formulas_asiacrypt21| Sedláček, V.; Chi-Domínguez, J.J.; Jančár, J.; Brumley, B.B.: A formula for disaster: a unified approach to elliptic curve special-point-based attacks]], In Advances in Cryptology – ASIACRYPT 2021.
* [2020] [[https://minerva.crocs.fi.muni.cz/| Jančár, J.; Sedláček, V.; Sýs, M.; Švenda, P.: Minerva: The curse of ECDSA nonces; Systematic analysis of lattice attacks on noisy leakage of bit-length of ECDSA nonces]], In IACR Transactions on Cryptographic Hardware and Embedded Systems (CHES) 2020. **Received Best Paper Award**
* [2020] [[:public:papers:primality_esorics20| Sedláček, V.; Jančár, J.; Švenda, P.: Fooling primality tests on smartcards]], In 25th European Symposium on Research in Computer Security (ESORICS) 2020
* [2019] [[:public:papers:Secrypt2019| Sedláček, V.; Klinec, D.; Sýs, M.; Švenda, P.; Matyáš, V.: I Want to Break Square-free: The 4p−1 Factorization Method and Its RSA Backdoor Viability]], In Proceedings of the 16th International Joint Conference on e-Business and Telecommunications (ICETE 2019) - Volume 2: SECRYPT
===== Randomness statistical testing of TRNG and PRNG =====
{{ :public:research:random_serial2.png?direct&200|}}
The robust generation of truly random data or pseudo-random data indistinguishable from the truly random ones is a crucial component for many cryptographic systems. We focus on finding defects in a supposedly random data with the help of automated testing methods included in so-called randomness statistical testing batteries.
While most existing batteries focus on the predefined fixed tests, we automatically generate tests which adapt to the analyzed data - resulting in a stronger bias detection with a less amount of data required and with direct interpretability of the bias found. We also design and develop means for speedup of existing statistical batteries - both with help of more efficient implementations as well as distributed high-speed execution.
We build and continuously extend a large database of real-world cryptographic functions (CryptoStreams project containing block and stream ciphers, hash functions, PRNGs) parametrized by the number of used internal rounds and systematic patterns in their inputs. The resulting output data are then analyzed for the presence of unwanted defects.
**Last update: 23. 10. 2024**
**Contact:** Marek Sýs
**Current projects:**
* BoolTest - efficient and interpretable statistical testing battery: [[https://github.com/ph4r05/polynomial-distinguishers| Github repository]]
* Randomness Testing Tool (RTT, STS NIST, Dieharder, TestU01) - unified interface for different statistical batteries [[https://github.com/crocs-muni/randomness-testing-toolkit | Github repository]]
**Involved people:**
* [[https://is.muni.cz/auth/osoba/168968|Milan Brož]] 2019-now (Randomness Testing Tool)
* [[https://is.muni.cz/auth/osoba/232886|Marek Sýs]] 2013-now (BoolTest - concept and improvements, NIST STS speed up, EACirc - concept, results interpretation)
**Previous projects and resources:**
* Cryptostreams - generator of output data streams from weakened cryptographic functions: [[https://github.com/crocs-muni/eacirc-streams| Github repository]]
* Faster implementation of STS NIST testing battery: [[https://randomness-tests.fi.muni.cz|Online testing service]],[[https://github.com/sysox/NIST-STS-optimised | Github repository]]
* EACirc - statistical battery based on evolutionary algorithms [[https://github.com/crocs-muni/eacirc-core | Github repository]], Research project [[research:eacirc:main| internal wiki pages]][[https://github.com/crocs-muni/EACirc/wiki | EACirc wiki pages]]
**Former participants:** Petr Švenda 2008-2017 (EACirc project lead, initial implementation, Cryptostream), Dušan Klinec 2015-2022(BoolTest - polynomial representation, Cryptostream - large number of cryptoprimitives); Karel Kubíček 2014-2017 (Cryptostream - former main developer, block ciphers, TEA, metaheuristics, generator); Tamas Rozsa 2016-2020 (cryptostreams functions); Radka Cieslarová 2015-2019 (heatmap analysis of function); Michal Hajas 2015- 2019 (bytecode emulator, margins); Martin Ukrop 2012-2017 (framework model, refactoring, SHA-3 candidates testing, supporting tools); Ľubomír Obrátil 2014-2017 (BOINC&EACirc tasks automization); Jiří Novotný 2014-2016 (CUDA programming, EACirc core); Jan Švarc 2014-2015 (CUDA programming); Zdenek Říha 2013-2016 (bytecode emulator); Milan Čermák 2012-2013 (CUDA support); Ondrej Dubovec 2011-2012 (SHA-3 candidates testing); Matěj Prišťák 2011-2012 (object model and refactoring, XML support, eStream candidates testing); Tobiáš Smolka 2011-2012 (BOINC related support);
** Selected publications: **
* [2022] [[https://link.springer.com/article/10.1007/s00145-021-09414-y| Marek Sys, Lubomir Obratil, Vashek Matyas and Dusan Klinec: A Bad Day to Die Hard: Correcting the Dieharder Battery]], Journal of Cryptology, Springer, 2022, 1–20.
* [2019] [[https://link.springer.com/chapter/10.1007/978-3-030-11039-0_7| Sýs M., Klinec D., Švenda P., Kubíček K.: BoolTest: The Fast Randomness Testing Strategy Based on Boolean Functions with Application to DES, 3-DES, MD5, MD6 and SHA-256]], Selected papers of ICETE 2017, 2019.
* [2018] [[https://dl.acm.org/doi/10.1145/3205455.3205518| Mrázek V., Sýs M., Vašíček Z., Švenda P., Sekanina L., Matyáš V.: Evolving Boolean Functions for Fast and Efficient Randomness Testing]], In Proceedings of GECCO 2018, Genetic and Evolutionary Computation Conference, 2018.
* [2017] [[:public:papers:secrypt2017| Sýs M., Klinec D., Švenda P.: The Efficient Randomness Testing using Boolean Functions]], In Proceedings of SECRYPT 2017, 14th International Conference on Security and Cryptography, 2017.
* [2016] [[https://dl.acm.org/doi/10.1145/2988228| Sýs M., Říha Z., Matyáš V.: Algorithm 970: Optimizing the NIST Statistical Test Suite and the Berlekamp-Massey Algorithm]], ACM TOMS Journal, 2016.
* [2015] [[http://www.imt.ro/romjist/Volum18/Number18_1/pdf/02-MSys.pdf| Sýs M., Říha Z., Matyáš V., Márton K., Suciu A.: On the Interpretation of Results from the NIST Statistical Test Suite]], ROMJIST Journal, 2015.
* [2014] {{:public:crocs:sys_space_2014.pdf| Sýs M., Říha Z.: Faster randomness testing with NIST STS}},SPACE 2014, Fourth International Conference on Security, Privacy, and Applied Cryptography Engineering, 2014.
===== Social and behavioral aspects of security =====
Our end-user oriented usable security projects focus on computer security and interactions of systems with end-users. We started in our first significant project in this area in 2014, in cooperation with three industrial partners, Faculty of social studies, and Faculty of law.
The project aimed to identify influences that make users change their risky behavior to more secure one. Four sets of experiments ran in cooperation with commercial companies (ESET, Netsuite and SodatSW). Every experiment targeted a different target group and used a different technique (warning, security dialogue, e-learning, user-friendly password recovery, etc.). This project was unique for the cooperation of three different faculties of MU and three commercial companies, who wanted to understand their users better and increase their products' overall security by improving interfaces and processes used by their end-users.
We also finished a project in cooperation with the Faculty of social studies and AHEAD Itec/Monet+ company. It aimed at user testing of selected authentication methods (NFC token, smart card with card reader, fingerprint and PIN code). Results from this project are available here: https://crocs.fi.muni.cz/public/papers/2020-tacr-report
**Last update: 21. 1. 2021**
**Contact:** Vašek Matyáš , Agáta Kružíková
**Involved people:**
{{:public:crocs:matyas.jpg?50|}} {{:public:crocs:stavova.jpg?50|}} {{:public:crocs:ukrop.jpg?50|}} {{:public:crocs:janca.jpg?50|}} {{:public:crocs:malinka.jpg?50|}}
* [[https://is.muni.cz/auth/osoba/409872|Agáta Kružíková]] 2016-now
* [[https://is.muni.cz/auth/osoba/344|Vašek Matyáš]] 2013-now
**Former participants:** Radim Janča (2014-2016); Lydia Kraus (2018-2020); Kamil Malinka (2013-2016); Vlasta Šťavová (2014-2019); Martin Ukrop (2016-2018); Lenka Knapová (2018-2020)
** Selected publications: **
* [2018] Stavova, V., Dedkova, L., Ukrop, M., and Matyas, V. (in press). A large-scale comparative study of beta testers and standard users. Communications of the ACM. ACM, 2018, 64–71.
* [2017] Stavova, V., Matyas, V., Just M. and Ukrop, M.:Factors Influencing the Purchase of Security Software for Mobile Devices – Case Study, Infocommunications Journal, 2017, 18–23.
* [2016] Stavova, V., Matyas, V. and Just M.: Codes v. People: A Comparative Usability Study of Two Password Recovery Mechanisms, WISTP 2016.
* [2016] Stavova, V., Matyas, V. and Just M.: On the impact of warning interfaces for enabling the detection of Potentially Unwanted Applications, EuroUSEC 2016.
* [2015] {{public:papers:stavova_memics2016.pdf|Stavova, V., Matyas, V. and Malinka K.: The challenge of increasing safe response of antivirus software users, MEMICS 2015.}}
===== Threshold Cryptography with Security-Certified Devices =====
{{ :public:research:smpc_chip.jpg?direct&200|}}
Secure storage of secret key is paramount in cryptographic applications as the knowledge of the key directly corresponds to the ability of signing documents, decrypting messages, or confirming cryptocurrency transactions. To protect the secret keys, specialized cryptographic hardware like smartcards, HSM (hardware security module), or lately cryptocurrency wallets is used. However, due to implementation vulnerabilities, the private key may be still extracted even from the security-certified devices.
With the use of threshold cryptography, the risk of vulnerable implementations can be mitigated. Threshold cryptography allows for splitting of the secret key among multiple devices, which partake in an interactive protocol to perform cryptographic operations. The complete secret key is never reconstructed during this protocol, so if at least one of the devices remains uncorrupted, the secret key is not exposed. Our research focuses on threshold cryptography protocols executed on security-certified devices (smartcards, TPMs, cryptocurrency wallets).
**Last update: 22. 10. 2024**
**Contact:** Antonín Dufka
**More information, projects and resources:**
* Threshold cryptography platform (MeeSign) [[https://meesign.crocs.fi.muni.cz/|Project website]]
* Bridge suite [[https://kristianmika.github.io/bridge-suite/|Project website]]
* Myst backdoor-resistant MPC platform [[https://backdoortolerance.org/|web]], [[https://github.com/OpenCryptoProject/Myst| Github repository]]
* Monero support on Trezor T, [[https://github.com/ph4r05/monero-trezor-doc|Github repository]]
**Involved people:**
* [[https://is.muni.cz/auth/osoba/408788|Jan Kvapil]] 2022-now (multi-party signing policies, verifiable computation)
* [[https://is.muni.cz/auth/osoba/484647|Jiří Gavenda]] 2019-2022 (threshold ECDSA protocols)
* [[https://is.muni.cz/auth/osoba/485298|Kristián Mika]] 2019-2024 (Bridge Suite, MPCOP for Raspberry Pi)
* [[https://is.muni.cz/auth/osoba/514496|Jakub Janků]] 2019-now (threshold Schnorr for smartcards and TPMs, MeeSign client)
* [[https://is.muni.cz/auth/osoba/445281|Antonín Dufka]] 2019-now (threshold cryptography on smartcards, MeeSign platform)
* [[https://is.muni.cz/auth/osoba/325219|Dušan Klinec]] 2018-2022 (Monero on Trezor T)
* [[https://is.muni.cz/auth/osoba/4085|Petr Švenda]] 2018-now (project lead, some initial implementations)
** Selected publications: **
* [2024] [[:public:papers:jcmint_trustbus24|Antonin Dufka, Jakub Janku, Petr Svenda: Trust-minimizing BDHKE-based e-cash mint using secure hardware and distributed computation]], TRUSTBUS 2024.
* [2023] [[:public:papers:jcfrost_ares23| Antonin Dufka, Petr Svenda: Enabling Efficient Threshold Signature Computation via Java Card API]], ARES 2023.
* [2022] [[:public:papers:shine_secrypt22| Antonin Dufka, Vladimir Sedlacek, Petr Svenda: SHINE: Resilience via Practical Interoperability of Multi-party Schnorr Signatures]], SECRYPT 2022.
* [2020] [[:public:papers:monero_ifipsec20| Dusan Klinec, Vashek Matyas: Privacy-Friendly Monero Transaction Signing on a Hardware Wallet]], In IFIPSec 2020.
* [2017] [[:public:papers:mpc_ccs17| Vasilios Mavroudis, Andrea Cerulli, Petr Svenda, Dan Cvrcek, Dusan Klinec and George Danezis: A Touch of Evil: High-Assurance Cryptographic Hardware from Untrusted Components]], ACM CCS 2017.
===== Bitcoin and related technologies =====
{{ :public:research:flow2.png?direct&200|}}
We analyze cryptographic aspects of implementations in Bitcoin and other cryptocurrencies with a focus on hardware wallets, privacy protocols, cryptographic implementations, and their failures. The goal is to make Bitcoin and selected cryptocurrency technologies better, more accessible, more private, and overall less vulnerable.
The work leverages our expertise in the side-channel analysis of cryptographic hardware (especially relevant for the hardware wallets), scrutiny of cryptographic implementations (both builder's and attacker's perspective), and randomness testing (crucial to have non-biased private keys and non-leaking signatures).
**Last update: 22. 10. 2024**
**Contact:** Petr Svenda
**More information, projects and resources:**
* Weak keys detection and analysis
* Extraction of public keys from Bitcoin blockchain, [[https://github.com/crocs-muni/bitcoin-keys-analysis|Github repository]]
* Analysis of weak private keys and related transactions, [[https://is.muni.cz/th/hdpx4/Analysis_of_EC_keys_in_the_wild.pdf
| J. Kubesa thesis]]
* Analysis of weak BIP32 seeds, [[https://is.muni.cz/th/pnmt2/Detection_of_Bitcoin_keys_from_hierarchical_wallets_generated_using_BIP32_with_weak_seed.pdf
|D. Rajnoha thesis]]
* Software and hardware wallets
* Monero support on Trezor T, [[https://github.com/ph4r05/monero-trezor-doc|Github repository]]
* Building blocks of hardware wallets, [[https://is.muni.cz/th/xym2w/Thesis_BCaP_14_.pdf|A. Parak thesis]]
* Usability aspects of Bitcoin wallets, [[https://is.muni.cz/th/as92a/output__31_.pdf|K. Raczova thesis]]
* Self-sovereign Identity Framework, [[https://is.muni.cz/th/or6ct/Bachelors_Thesis.pdf|F. Vass thesis]]
* CoinJoin privacy mixing protocols analysis
* Analysis of CoinJoin protocols (Wasabi 1.0, Whirlpoool), [[https://is.muni.cz/th/kbvx1/Master_Thesis.pdf
|D. Varga thesis]]
* Analysis of CoinJoin protocols (Wasabi 2.0)
**Involved people:**
* [[https://is.muni.cz/auth/osoba/445281|Antonín Dufka]] 2019-now (threshold cryptography)
* [[https://is.muni.cz/auth/osoba/408788|Jan Kvapil]] 2022-now (self sovereign identity)
* [[https://is.muni.cz/auth/osoba/500362|Milan Sorf]] 2022-now (analysis of hardware wallets)
* [[https://is.muni.cz/auth/osoba/492758|David Rajnoha]] 2022-now (weak BIP32 seeds)
* [[https://is.muni.cz/auth/osoba/525330|Stepan Yakimovich]] 2022-now (Bitcoin pub keys extraction)
* [[https://is.muni.cz/auth/osoba/4085|Petr Švenda]] 2019-now (project lead, some initial implementations)
**Former participants:** Dušan Klinec 2017-2022 (Monero on Trezor T, attack on Ledger's Monero); Filip Vass 2021-2022 (EU SSI framework); Denis Varga 2021-2022 (CoinJoin protocols analysis); K. Raczova 2020-2021 (usability of Bitcoin wallets); Adam Parak 2021-2022 (building blocks of hardware wallets); Jan Kubeša 2019-2022 (weak Bitcoin EC keys);
** Selected publications: **
* [2022] [[:public:papers:shine_secrypt22| Antonin Dufka, Vladimir Sedlacek, Petr Svenda: SHINE: Resilience via Practical Interoperability of Multi-party Schnorr Signatures]], In Proceedings of the 19th International Conference on Security and Cryptography (SECRYPT), 2022.
* [2020] [[:public:papers:monero_ifipsec20| Dusan Klinec, Vashek Matyas: Privacy-Friendly Monero Transaction Signing on a Hardware Wallet]], In Proceedings of IFIPSec'20, 2020.
===== Open-source security tools =====
{{ :public:research:cc_wordcloud.png?direct&200|}}
We believe that the open-source security tools are crucial not only for the general accessibility, but also to produce more robust secure software and hardware products and their more transparent security certifications. Not only the dedicated testing laboratories, but also end-users shall be able to replicate majority of the steps carried during the certification like Common Criteria or FIPS140-2.
Existing certification process produces trove of interesting, but hard to automatically process data. We extract, process and analyze these datasets to aid quick identification of potentially vulnerable products, provide ecosystem insight, and reason about the overall state of security. We also map and evaluate the existing open-source security software from several categories including (but not limited to) operating systems, browsers, password managers, and encryption tools. Majority of our other research results are accompanied with open-source tooling.
**Last update: 22. 10. 2024**
**Contact: Petr Švenda **
**More information, projects and resources:**
* [[research:secTools| Internal directory]]
* sec-certs [[https://sec-certs.org | sec-certs]] - analysis of Common Criteria and FIPS140 security certificates
* JCAlgTest [[https://github.com/crocs-muni/JCAlgTest | GitHub repository]] - tools for thorough testing of smart card capabilities
* TPMAlgtest[[https://github.com/crocs-muni/tpm2-algtest | GitHub repository]] - tools for thorough testing of TPM capabilities
**Involved people:**
* [[https://is.muni.cz/auth/osoba/168968|Milan Brož]] 2019-now (disk encryption, TPM analysis)
* [[https://is.muni.cz/auth/osoba/adamjanovsky|Adam Janovský]] 2020-now (security certificates analysis)
* [[https://is.muni.cz/auth/osoba/445358|Ján Jančár]] 2018-now (security certificates analysis)
* [[https://is.muni.cz/auth/osoba/394036|Lukáš Němec]] 2019-now (existing open-source tools)
* [[https://is.muni.cz/auth/osoba/4085|Petr Švenda]] 2019-now (security certificates analysis, continuous certification tools)
** Selected publications: **
* [2024] Svenda, P.; Dufka, A.; Broz, M.; Lacko, R.; Jaros, T.; Zatovic, D.; Pospisil, J.: [[https://crocs.fi.muni.cz/papers/tpm_ches2024|TPMScan: A wide-scale study of security-relevant properties of TPM 2.0 chips]], In IACR Transactions on Cryptographic Hardware and Embedded Systems (CHES) 2024.
* [2022] Petr Svenda, Rudolf Kvasnovsky, Imrich Nagy and Antonin Dufka: [[public:papers:jcalgtest_secrypt22|JCAlgTest: Robust identification metadata for certified smartcards]], In SECRYPT'22
* [2020] Vasilios Mavroudis, Petr Svenda: [[public:papers:cybercert2020|JCMathLib: Wrapper Cryptographic Library for Transparent and Certifiable JavaCard Applets]], In Proceedings of CyberCert'20, IEEE Security&Privacy Workshops, IEEE, 2020.
===== Archived projects =====
Click to see [[:public:research:main_archived | Archived projects]]. Older projects, which are not currently actively pursued further, but may be activated again later (as happened for multiple projects already).