Program executes scalar multiplication on a provided x-coordinate point, P (input) and a provided 256-bit randomly generated private-key, d (input). The program defaults to the point (x=9) which is the base point for curve-25519. Inputs should be in hex (little endian). Program has only been tested on a few points using a variety of private-keys. User generates the user's public-key by Q=dP and provides it the another user. The other user provides their public-key which generates the shared-key, S=dQ. The shared-key is used to encrypt and decrypt messages shared between the two users using an algorithm such as AES (Advanced_Encryption_Standard). This program was not designed for high speed but executes rather quickly none the less. Program uses a Montgomery ladder for the scalar multiplication.
Had fun learning about elliptic curve cryptography. It was quite interesting to learn how point addition and scalar multiplication could be easily done and why the discrete logarithm reverse was so difficult. If anyone has any suggestions please let me know.
引用格式
David Hill (2024). Curve25519 Shared-Key Generation GUI (https://www.mathworks.com/matlabcentral/fileexchange/73314-curve25519-shared-key-generation-gui), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0 |