PYTHON MODEL OF SECRET KEY AGREEMENT IN THE GROUP OF ARBITRARY NUMBER OF PARTICIPANTS
-
Published:2024-05-12
Issue:1
Volume:4
Page:93-101
-
ISSN:2786-4553
-
Container-title:Information and communication technologies, electronic engineering
-
language:
-
Short-container-title:ICTEE
Author:
, Mankovskyy S.ORCID, Matiieshyn Yu.ORCID
Abstract
The article is devoted to the problem of common secret key agreement in a group of an arbitrary number of participants. Data is exchanged between participants through open data channels. The problem of sharing a secret key over open data channels arose due to the need for a secure exchange of information between two or more parties that may be remote from each other and do not have a common confidential communication channel. Reliable methods of secret key exchange, such as transferring the key in person or using a secure channel, are not practical in remote or scalable scenarios. In the process of developing and modelling cryptographic systems, in which there is a need of cryptographic keys agreement in a group of two or more participants, it is very convenient to have a model that implements these algorithms. The agreement protocol is based on the Diffie-Hellman protocol on elliptic curves (ECDH). The paper contains theoretical justifications, a flow chart of the algorithm, and a Python implementation of the algorithm that performs the secret key agreement in a group of an arbitrary number of participants. To implement cryptographic operations on elliptic curves, the Python library Cryptography is used, in particular, the X25519 algorithms that use the elliptic curve Curve25519. The results of the work are shown on an example for a group of four participants, which demonstrate the correct operation of the model and the same secret key obtained as a result of agreement process. The paper also contains the link to a GitHub repository with the full program. The multi_participant_ecdh.py file contains a secret key agreement program for N participants written in Python. The file two_participant_ecdh.py demonstrates a typical two-participant Diffie-Hellman protocol. Both programs use the X25519 algorithm implemented in the Cryptography Python library. Thus, this work makes it possible to better understand the principles of secret key exchange algorithms between two and an arbitrary number of participants, to compare the results with other implementations, to apply the developed model for educational and demonstration purposes, and may be useful for a number of other scientific and engineering tasks.
Publisher
Lviv Polytechnic National University
Reference19 articles.
1. [1]. W. Diffie and M. Hellman, "New directions in cryptography," in IEEE Transactions on Information Theory, November 1976, vol. 22, no. 6, pp. 644-654, available at: https://www-ee.stanford.edu/~hellman/publications/24.pdf (Accessed 24 February 2024), doi: 10.1109/TIT.1976.1055638. 2. [2]. Burmester, M. (2011), "Group Key Agreement," in Encyclopedia of Cryptography and Security, Springer, Boston, MA, pp. 520-526, available at: https://doi.org/10.1007/978-1-4419-5906-5_320 (Accessed 24 February 2024), doi: 10.1007/978-1-4419-5906-5_320. 3. [3]. Wu, Q., Mu, Y., Susilo, W., Qin, B. and Domingo-Ferrer, J. (2009), "Asymmetric Group Key Agreement," in Advances in Cryptology - EUROCRYPT 2009, Lecture Notes in Computer Science, Springer, Berlin, Heidelberg, vol. 5479, pp. 153-170, available at: https://doi.org/10.1007/978-3-642-01001-9_9 (Accessed 24 February 2024), doi: 10.1007/978-3-642-01001-9_9. 4. [4]. K. Shen, L. Zhang, R. Zhang and Q. Fang, "Asymmetric Group Key Agreement Protocol from Short Signatures," in 2022 IEEE 8th International Conference on Computer and Communications (ICCC), Chengdu, China, 2022, pp. 1229-1233, available at: https://ieeexplore.ieee.org/document/10065683 (Accessed 24 February 2024), doi: 10.1109/ICCC56324.2022.10065683. 5. [5]. Alwen, J., Coretti, S., Jost, D. and Mularczyk, M. (2020), "Continuous Group Key Agreement with Active Security," in Theory of Cryptography, TCC 2020, Lecture Notes in Computer Science, Springer, Cham, vol. 12551, pp. 261-290, available at: https://doi.org/10.1007/978-3-030-64378-2_10 (Accessed 24 February 2024), doi: 10.1007/978-3-030-64378-2_10.
|
|