Skip to content
Snippets Groups Projects
Commit d7dc3fd6 authored by Nouri-Alnahawi's avatar Nouri-Alnahawi
Browse files

remove all content and edit CI

parent 864eb06b
No related branches found
No related tags found
No related merge requests found
Pipeline #83647 passed
Showing
with 2 additions and 314 deletions
...@@ -3,9 +3,6 @@ image: registry.gitlab.com/pages/hugo/hugo_extended ...@@ -3,9 +3,6 @@ image: registry.gitlab.com/pages/hugo/hugo_extended
variables: variables:
GIT_SUBMODULE_STRATEGY: recursive GIT_SUBMODULE_STRATEGY: recursive
MINDMAP_OUT_PATH: ./layouts/shortcodes/mindmap.html
MINDMAP_IN_PATH: ./mindmap_gen/mindmap.md
MINDMAP_SCRIPT_PATH: ./mindmap_gen/mindmap_gen.py
HUGO_ENV: production HUGO_ENV: production
.job_templae: &script .job_templae: &script
...@@ -14,12 +11,8 @@ variables: ...@@ -14,12 +11,8 @@ variables:
- npm update - npm update
- npm install -D --save autoprefixer - npm install -D --save autoprefixer
- npm install -D --save postcss-cli - npm install -D --save postcss-cli
- npm install -D --save markmap-lib
- npm install -D --save markmap-cli
script: script:
- python3 $MINDMAP_SCRIPT_PATH -d $(pwd)/content # Generate the mindmap md file
- npx markmap-cli -o $MINDMAP_OUT_PATH $MINDMAP_IN_PATH # Convert mindmap md file to html
- sed -i 's/100v/60v/g' $(pwd)/layouts/shortcodes/mindmap.html # Replaces the width and hight of mindmap with suitable values
- hugo --minify --gc --environment production - hugo --minify --gc --environment production
test: test:
...@@ -31,4 +24,4 @@ pages: ...@@ -31,4 +24,4 @@ pages:
paths: paths:
- public - public
only: only:
- dev - master
content/background.jpg

457 KiB

---
title: "Contributors"
linktitle: "Contributors"
date: 2021-05-05T22:18:28+02:00
draft: false
type: docs
weight: 10
---
This site was initiated by the research groups [Applied Cyber-Security](https://fbi.h-da.de/forschung/arbeitsgruppen/applied-cyber-security-darmstadt) and [User Centered Security](https://fbi.h-da.de/index.php?id=764) of [Darmstadt University of Applied Sciences](https://h-da.de/), funded by [ATHENE National Research Center for Applied Cybersecurity](https://www.athene-center.de).
A list of the contributors:
| Name | Affiliation | Contribution |
|--------------------------------|-------------|--------------|
|Alexander Wiesmaier|Darmstadt University of Applied Sciences|Original Paper / Community Site|
|Alexander Zeier|MTG AG Darmstadt|Original Paper|
|Andreas Heinemann|Darmstadt University of Applied Sciences|Original Paper|
|Dominik Heinz|Darmstadt University of Applied Sciences|Community Site / Development |
|Julian Geißler|Darmstadt University of Applied Sciences|Original Paper|
|Nouri Alnahawi|Darmstadt University of Applied Sciences|Original Paper / Community Site / Development / Updates |
|Pia Bauspieß|Darmstadt University of Applied Sciences|Original Paper|
|Robin Meunier|Darmstadt University of Applied Sciences|PQC Algorithm Specifications / Protocol Integration|
|Tobias Grasmeyer|Darmstadt University of Applied Sciences|Original Paper / Community Site / Development |
---
title: "Categorization Scheme"
linktitle: "Categorization Scheme"
date: 2021-05-05T22:20:34+02:00
draft: false
type: docs
weight: 2
menu:
main:
weight: 2
---
{{< mindmap >}}
---
title: "Cryptographic Migration & Agility"
linktitle: "Cryptographic Migration & Agility"
date: 2021-05-05T22:20:34+02:00
draft: false
type: docs
---
An open community site for sharing any relevant research, findings, and solutions on PQC migration and cryptographic agility.
---
title: "About Cryptographic Migration & Agility"
linktitle: "About Cryptographic Migration & Agility"
date: 2021-05-05T22:17:54+02:00
draft: false
type: docs
weight: 1
menu:
main:
weight: 1
---
Post-quantum cryptographic schemes have been under development for several years. Very soon there will be standardized post-quantum algorithms replacing the previous standards, which will eventually become obsolete. In order for quantum-resistant cryptographic Measures to be utilized, one needs more than simply developing secure post-quantum algorithms. The migration towards PQC poses great challenges on different levels. Those are not only restricted to the integration into existing protocols, but also include performance issues such as hardware specifications and memory usage, and especially the uncertainty of long term security of the new algorithm families. Moreover, a major challenge lies within finding suitable means of communicating and negotiating new algorithms and protocol parameters between different IT-systems. This leads to the urgent need for establishing the concept of crypto-agility, so as to be prepared for the rapid changes of cryptography, and insure the compatibility in all possible scenarios and settings.
---
title: "State of Agility"
linktitle: "State of Agility"
date: 2021-05-05T22:35:41+02:00
draft: false
type: docs
weight: 5
---
Aspects regarding the notion of cryptographic agility
---
title: "Development Considerations"
linktitle: "Development Considerations"
date: 2021-05-06T00:12:02+02:00
draft: false
type: docs
weight: 2
---
- Research on CA mechanism:
- [On the importance of cryptographic agility for industrial automation](https://www.degruyter.com/document/doi/10.1515/auto-2019-0019/html) This work motivates cryptographic agility by discussing the threat of quantum computers to modern cryptography [[PN19]](../../refs#pn19)
- [Security issues on the CNG cryptography library (Cryptography API: Next Generation)](https://ieeexplore.ieee.org/document/6603762) Next Generation from Microsoft to exchange cryptographic algorithms without any change to the code of the program [[LLP+13]](../../refs#llp13)
- [API Usability of Stateful Signature Schemes](https://link.springer.com/chapter/10.1007/978-3-030-26834-3_13) Easy-to-use API design for stateful signature schemes [[ZWH19]](../../refs#zwh19)
- CA as a design principle:
- [PQFabric: A Permissioned Blockchain Secure from Both Classical and Quantum Attacks](https://arxiv.org/abs/2010.06571) Proposes a redesign of Fabric's credential-management procedures and related specifications in order to incorporate hybrid digital signatures, protecting against both classical and quantum attacks using one classical and one quantum-safe signature [[HPDM20]](../../refs#hpdm20)
- [Public Key Infrastructure and Crypto Agility Concept for Intelligent Transportation Systems](http://www.thinkmind.org/index.php?view=article&articleid=vehicular_2015_1_30_30028) This paper proposes a multi-domain PKI architecture for intelligent transportation systems, which considers the necessities of road infrastructure authorities and vehicle manufacturers, today [[UWK15]](../../refs#uwk15)
- Evaluation of crypto libs:
- [Comparing the Usability of Cryptographic APIs](https://ieeexplore.ieee.org/document/7958576) This paper is the first to examine both how and why the design and resulting usability of different cryptographic libraries affects the security of code written with them [[ABF+17]](../../refs#abf17)
- Evaluation of code examples for crypto libs:
- [Usability and Security Effects of Code Examples on Crypto APIs](https://ieeexplore.ieee.org/document/8514203) Platform for cryptographic code examples that improves the usability and security of created applications by non security experts [[MW18]](../../refs#mw18)
- [Fluid Intelligence Doesn't Matter! Effects of Code Examples on the Usability of Crypto APIs](https://arxiv.org/abs/2004.03973) Researches whether similarity and Gf also have an effect in the context of using cryptographic APIs [[MW20]](../../refs#mw20)
- Evaluation of documentation systems for crypto libs:
- [Zur Benutzbarkeit und Verwendung von API-Dokumentationen](https://dl.gi.de/handle/20.500.12116/33515) Showcases requirements for a good security API [[HZHW20]](../../refs#hzhw20)
---
title: "Frontiers of Cryptography"
linktitle: "Frontiers of Cryptography"
date: 2021-05-06T00:12:24+02:00
draft: false
type: docs
weight: 5
---
- Blockchain:
- [Stateful Hash-based Digital Signature Schemes for Bitcoin Cryptocurrency](https://ieeexplore.ieee.org/document/9043192) This research work presents basic analysis and the background understanding of Stateful Hash-based Signature Schemes, particularly the Lamport One-Time Signature Scheme, Winternitz One-Time Signature Scheme, and the Merkle Signature Scheme. [[NWAO19]](../../refs#nwao19)
- Satellites:
- [Quantum Resistant Authentication Algorithms for Satellite-Based Augmentation Systems](https://web.stanford.edu/group/scpnt/gpslab/pubs/papers/Neish_2018_IONITM_QuantumResistantAuthenticationUpdated.pdf) Introduces the cryptographic primitives necessary to understand the vulnerabilities in modern day cryptography due to quantum computing and investigates the use of TESLA and EC-Schnorr algorithms in broadcast systems. [[NWE19]](../../refs#nwe19)
- Cryptographic primitives:
- [Cryptographic Agility and its Relation to Circular Encryption](https://eprint.iacr.org/2010/117) Researches whether wPRFs (weak-PRFs) are agile and whether every secure (IND-R) encryption scheme is secure when encrypting cycles. [[ABBC10]](../../refs#abbc10)
---
title: "Incentives"
linktitle: "Incentives"
date: 2021-05-06T00:12:16+02:00
draft: false
type: docs
weight: 4
---
- Ranking by best practice as incentive:
- [Biggest Failures in Security](https://drops.dagstuhl.de/opus/volltexte/2020/11981/) Tries to identify the "biggest failures" in security and to get a comprehensive understanding on their overall impact on security. [[AVVY19]](../../refs#avvy19)
- Best practice for agility in protocols:
- [Guidelines for Cryptographic Algorithm Agility and Selecting Mandatory-to-Implement Algorithms](https://tools.ietf.org/html/rfc7696) Provides guidelines to ensure that protocols have the ability to migrate from one mandatory-to-implement algorithm suite to another over time. [[Hou15]](../../refs#hou15)
- Building blocks of crypto-agility:
- [On the importance of cryptographic agility for industrial automation](https://www.degruyter.com/document/doi/10.1515/auto-2019-0019/html) This work motivates cryptographic agility by discussing the threat of quantum computers to moderncryptography. [[PN19]](../../refs#pn19)
---
title: "Modalities"
linktitle: "Modalities"
date: 2021-05-06T00:11:45+02:00
draft: false
type: docs
weight: 1
---
- New agile protocols:
- [Security Agility Solution Independent of the Underlaying Protocol Architecture](https://www.semanticscholar.org/paper/Security-Agility-Solution-Independent-of-the-Vasic-Mikuc/489054a1f28eb26b1baa1a9f0caff2306c821695) The agilecryptographic negotiation protocol (ACNP) proposed in this paper repre-sents a layer-agnostic, robust solution that can be deployed for providingcryptographic agility and greatly improve security. [[VM12]](../../refs#vm12)
- [Stateful Hash-based Digital Signature Schemes for Bitcoin Cryptocurrency](https://ieeexplore.ieee.org/document/9043192) This research work presents basic analysis and the background understanding of Stateful Hash-based Signature Schemes, particularly the Lamport One-Time Signature Scheme, Winternitz One-Time Signature Scheme, and the Merkle Signature Scheme. [[NWAO19]](../../refs#nwao19)
- [Post-Quantum TLS without Handshake Signatures](https://eprint.iacr.org/2020/534.pdf) KEMTLS alternative handshake for TLS 1.3 using KEMs [[SSW20]](../../refs#ssw20)
- Enhance existing protocols for use with PQC:
- [Public Key Cryptography for Initial Authentication in Kerberos (PKINIT) Algorithm Agility](https://tools.ietf.org/html/rfc8636.html) This document updates the Public Key Cryptography for Initial Authentication in Kerberos (PKINIT) standard (RFC 4556) to remove protocol structures tied to specific cryptographic algorithms. [[AZCH19]](../../refs#azch19)
- [The Secure Socket API: TLS as an Operating System Service](https://www.usenix.org/conference/usenixsecurity18/presentation/oneill) We explore the use of the standard POSIX socket API as a vehicle for a simplified TLS API, while also giving administrators the ability to control applications and tailor TLS configuration to their needs. [[OHW+18]](../../refs#ohw18)
- Enhance existing infrastructure for PQC:
- [Algorithm Agility – Discussion on TPM 2.0 ECC Functionalities](https://link.springer.com/chapter/10.1007%2F978-3-319-49100-4_6) In this paper, we review all the TPM 2.0 ECC functionalities, and discuss on whether the existing TPM commands can be used to implement new cryptographic algorithms which have not yet been addressed in the specification. [[CU16]](../../refs#cu16)
- [Fail-Safe-Konzept für Public-Key-Infrastrukturen](https://tuprints.ulb.tu-darmstadt.de/246/) In dieser Dissertation wird ein Fail-Safe-Konzept für Public-Key-Infrastrukturen vorgestellt. [[Mas02]](../../refs#mas02)
- [Public Key Infrastructure and Crypto Agility Concept for Intelligent Transportation Systems](http://www.thinkmind.org/index.php?view=article&articleid=vehicular_2015_1_30_30028) This paper proposes a multi-domain PKI architecture for intelligent transportation systems, which considers the necessities of road infrastructure authorities and vehicle manufacturers, today. [[UWK15]](../../refs#uwk15)
---
title: "Testing"
linktitle: "Testing"
date: 2021-05-06T00:12:09+02:00
draft: false
type: docs
weight: 3
---
- Algorithm relations for better test coverage:
- [Systematic Testing of Post-Quantum Cryptographic Implementations Using Metamorphic Testing](https://ieeexplore.ieee.org/document/8785645) Investigates the effectiveness of a systematic testing approach for discovering bugs in highly complex cryptographic algorithm implementations. [[PRKK19]](../../refs#prkk19)
---
title: "How to Contribute"
linktitle: "How to Contribute"
date: 2021-05-05T22:18:28+02:00
draft: false
type: docs
weight: 9
---
Your contributions are always welcome!
To contribute to this site fork our repository on [Gitlab](https://gitlab.com/pqc-cma/cma) and send a merge request (aka pull request) with your update.
#### How-To
This site uses the Hugo Docsy Documentation theme. All pages are in Markdown and can be edited with any normal text editor. To add new references or any useful material you need to visit the Gitlab repository, fork the project, and then edit the files you wish to update. After that just send a merge request with your commit. You may also create new pages if your contribution doesn't fit into any of the existing pages. Please pay attention to the syntax and formatting. In case you are not sure how to do so, just try, and we can gladly correct any mistakes in your merge request.
#### Guidelines
* Use the development branch.
* Add one link per Pull Request.
* Make sure the PR title is in the format of `Add project-name`.
* Write down the reason why the contribution is suitable.
* Add the link: `* [project-name](http://example.com/) - A short description ends with a period.`
* Keep descriptions concise and **short**.
* Add a section if needed.
* Add the section description.
* Add the section title to Table of Contents.
* Search previous Pull Requests or Issues before making a new one, as yours may be a duplicate.
* Check your spelling and grammar.
* Remove any trailing whitespace.
P.S: Contributions aren't restricted to the members of the faculty at our university!
---
title: "Cryptographic Libraries and Interfaces"
linktitle: "Cryptographic Libraries and Interfaces"
date: 2021-05-06T00:13:06+02:00
draft: false
type: docs
weight: 7
menu:
main:
weight: 4
---
- [liboqs](https://github.com/open-quantum-safe/liboqs):
An open source C library for quantum-safe cryptographic algorithms.
- [PQClean](https://github.com/PQClean/PQClean):
Portable C implementations of post-quantum cryptography.
- [The Legion of the Bouncy Castle](https://www.bouncycastle.org/specifications.html):
Java implementation of cryptographic algorithms containing a light-weight API suitable for use in any environment.
- [NaCL (Salt)](https://nacl.cr.yp.to/):
Software library for network communication, encryption, decryption, signatures, etc.
- [Libsodium](https://libsodium.gitbook.io/doc/):
Portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API software library for encryption, decryption, signatures, password hashing etc.
- [LibHydrogen](https://github.com/jedisct1/libhydrogen):
Lightweight crypto library for constrained environments.
- [WASI Cryptography APIs](https://github.com/WebAssembly/wasi-crypto):
Development of cryptography API proposals for the WASI Subgroup of the [WebAssembly Community Group](https://www.w3.org/community/webassembly/)
- [Botan: Crypto and TLS for Modern C++](https://botan.randombit.net/) A C++ cryptographic library implementing a range of practical systems, such as TLS protocol, X.509 certificates, modern AEAD ciphers, PKCS#11 and TPM hardware support, password hashing, and post quantum crypto schemes. Several other language bindings are available, including Python. Versions of Botan that are approved by the BSI can be found on the [Github repository](https://github.com/Rohde-Schwarz/botan)
- [eUCRITE API](https://cspub.h-da.io/eucrite/):
(Usable Cryptographic Interface) is a crypto API that places special emphasis on usability and security. Developed by the Applied Cyber-Security and User-Centered Security research groups at Darmstadt University of Applied Sciences.
---
title: "State of Migration"
linktitle: "State of Migration"
date: 2021-05-05T22:35:41+02:00
draft: false
type: docs
weight: 4
---
---
title: "PQC Algorithms"
date: 2021-05-05T22:41:49+02:00
draft: false
weight: 1
layout: no_index
---
The current state of PQC is represented by the ongoing [NIST PQC standardization process](https://www.nist.gov/pqcrypto)
- [Report on post-quantum cryptography](https://nvlpubs.nist.gov/nistpubs/ir/2016/nist.ir.8105.pdf) [[CJL+16]](../../refs#cjl16).
- [Status report on the first round](https://nvlpubs.nist.gov/nistpubs/ir/2019/NIST.IR.8240.pdf) [[AASA+19]](../../refs#aasa19).
- [ Status report on the second round](https://nvlpubs.nist.gov/nistpubs/ir/2020/NIST.IR.8309.pdf) [[MAA+20]](../../refs#maa20).
#### **NIST PQC candidate algorithms:**
| Algorithm | Description | Type | NIST Round |
|-------------------------------------|-------------|------|------------|
| [BIKE]({{< ref "/bike" >}} "BIKE") | Bit flipping key-encapsulation based on QC-MDPC (Quasi-Cyclic Moderate Density Parity-Check) [[ABB+20]](../../refs#abb20) | Public-key Encryption and Key-establishment | Round Three Alternative |
| [CRYSTALS-Dilithium]({{< ref "/dilithium" >}} "CRYSTALS-Dilithium") | Digital signature scheme based on the hardness of lattice problems over module lattices [[DKL+21]](../../refs#dkl21) | Digital Signature | Round 3 Finalist |
| [Falcon]({{< ref "/falcon" >}} "Falcon") | Lattice-based signature scheme based on the short integer solution problem (SIS) over NTRU lattices [[FHK+20]](../../refs#fhk20) | Digital Signature | Round 3 Finalist |
| [FrodoKEM]({{< ref "/frodo" >}} "FrodoKEM")| Key-encapsulation from generic lattices [[NAB+21]](../../refs#nab21) | Public-key Encryption and Key-establishment | Round Three Alternative |
| [GeMSS]({{< ref "/gemss" >}} "GeMSS") | Multivariate signature scheme producing small signatures [[CFP+19]](../../refs#cfp19) | Digital Signature | Round Three Alternative |
| [HQC]({{< ref "/hqc" >}} "HQC") | Hamming quasi-cyclic code-based public-key encryption scheme [[MAB+21]](../../refs#mab21) | Public-key Encryption and Key-establishment | Round Three Alternative |
| [CRYSTALS-Kyber]({{< ref "/kyber" >}} "KYBER")| IND-CCA2-secure key-encapsulation mechanism (KEM) based on hard problems over module lattices [[ABD+21]](../../refs#abd21)| Public-key Encryption and Key-establishment | Round 3 Finalist |
| [Classic McEliece]({{< ref "/mceliece" >}} "Classic McEliece") | Code-based public-key cryptosystem based on random binary Goppa codes [[CCU+20]](../../refs#ccu20) | Public-key Encryption and Key-establishment | Round 3 Finalist |
| [NTRU]({{< ref "/ntru" >}} "NTRU") | Public-key cryptosystem based on lattice-based cryptography [[CDH+19]](../../refs#cdh19) | Public-key Encryption and Key-establishment | Round 3 Finalist |
| [NTRU-Prime]({{< ref "/prime" >}} "NTRU-Prime") | Small lattice-based key-encapsulation mechanism (KEM) [[BBC+20]](../../refs#bbc20) | Public-key Encryption and Key-establishment | Round 3 Alternative |
| [Picnic]({{< ref "/picnic" >}} "Picnic") | Digital signature algorithm based on the zero-knowledge proof system and symmetric key primitives [[CDG+17]](../../refs#cdg17) | Digital Signature | Round 3 Alternative |
| [Rainbow]({{< ref "/rainbow" >}} "Rainbow")| Public-key cryptosystem based on the hardness of solving a set of random multivariate quadratic systems [[DS05]](../../refs#ds05) | Digital Signature | Round 3 Finalist |
| [SABER]({{< ref "/saber" >}} "SABER") | IND-CCA2-secure key-encapsulation mechanism (KEM) based on the hardness of the module learning with rounding problem (MLWR) [[DKR+19]](../../refs#dkr19) | Public-key Encryption and Key-establishment | Round 3 Finalist |
| [SIKE]({{< ref "/sike" >}} "SIKE")| Isogeny-based key-encapsulation suite based on pseudo-random walks in supersingular isogeny graphs [[CCH+20]](../../refs#cch20) | Public-key Encryption and Key-establishment | Round 3 Alternative |
| [SPHINCS+]({{< ref "/sphincs" >}} "SPHINCS+") | A stateless hash-based signature scheme [[BHK+19]](../../refs#bhk19) | Digital Signature | Round 3 Alternative |
||
| [NewHope](https://newhopecrypto.org/) | Key-exchange protocol based on the Ring-Learning-with-Errors (Ring-LWE) problem [[ADPS16]](../../refs#adps16) | Public-key Encryption and Key-establishment | Round Two |
| [qTESLA](https://qtesla.org/) | Signature scheme based on the hardness of the decisional ring learning with errors (R-LWE) problem [[ABB+20]](../../refs#abb20) | Digital Signature | Round Two |
---
title: "BIKE"
date: 2021-05-05T22:41:49+02:00
draft: false
type: docs
weight: 1
---
[BIKE](https://bikesuite.org/) is a bit flipping key encapsulation based on QC-MDPC (Quasi-Cyclic Moderate Density Parity-Check).
---
title: "CRYSTALS-Dilithium"
date: 2021-05-05T22:41:49+02:00
draft: false
type: docs
weight: 2
---
[CRYSTALS-Dilithium](https://pq-crystals.org/dilithium/) is a digital signature scheme based on the hardness of the shortest vector (SVP) problem over module lattices.
- Required parameter for definiteness:
- $\tau$: Positive integer
- Non-required parameter for definiteness:
- $q$: Positive integer (always $8380417$)
- $d$: Positive integer (always $13$)
- $\gamma_1$: Positive integer
- $\gamma_2$: Positive float
- $(k,l)$: Positive integer
- $\eta$: Positive integer
---
title: "Falcon"
date: 2021-05-05T22:41:49+02:00
draft: false
type: docs
weight: 3
---
[Falcon](https://falcon-sign.info/) is a lattice-based signature scheme based on the short integer solution problem (SIS) over NTRU lattices.
- Required parameter for definiteness:
- $n$: Positive integer
- Required parameter for definiteness:
- $q$: Positive integer (always $12289$)
- $\sigma$: Positive float
- $\sigma_{min}$: Positive float
- $\sigma_{max}$: Positive float
- $\lfloor \beta^{2} \rfloor$: Positive integer
---
title: "FrodoKEM"
date: 2021-05-05T22:41:49+02:00
draft: false
type: docs
weight: 4
---
[FrodoKEM](https://frodokem.org/) is a key-encapsulation based on generic lattices.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment