Diffie-Hellman Key Exchange, The protocol allows two users to exchange a secret key over an insecure medium without any prior secrets,The Setup Suppose we have two people wishing to communicate: Alice and BobThey do not want Eve (eavesdropper) to know their message.Alice and Bob agree upon and make public two numbers g and p, where p is a prime and g is a primitive root mod p

Instead of directly asking for donations, I'm thrilled to offer you all **nine of my books for just $9 on leanpub By grabbing this bundle ** you not only help cover my coffee, beer, and Amazon bills but also play a crucial role in advancing and refining this project. Your contribution is indispensable, and I'm genuinely grateful for your involvement in this journey!

*Any private key value that you enter or we generate is not stored on this site, this tool is provided via an HTTPS URL to ensure that private keys cannot be stolen, for extra security run this software on your network, no cloud dependency*

Source https://security.stackexchange.com/questions/45963/diffie-hellman-key-exchange-in-plain-english

Diffie-Hellman is an algorithm used to establish a shared secret between two parties. It is primarily used as a method of exchanging cryptography keys for use in symmetric encryption algorithms like AES.

The algorithm in itself is very simple. Let’s assume that Alice wants to establish a shared secret with Bob.

Alice and Bob agree on a prime number, p, and a base, g, in advance. For our example, let’s assume that p=23 and g=5.

Alice chooses a secret integer a whose value is 6 and computes A = g^a mod p. In this example, A has the value of 8.

Bob chooses a secret integer b whose value is 15 and computes B = g^b mod p. In this example, B has the value of 19.

Alice sends A to Bob and Bob sends B to Alice.

To obtain the shared secret, Alice computes s = B^a mod p. In this example, Alice obtains the value of s=2

To obtain the shared secret, Bob computes s = A^b mod p. In this example, Bob obtains the value of s=2.

The algorithm is secure because the values of a and b, which are required to derive s are not transmitted across the wire at all.

- Transfer files securely
- URL Shortner
- Generate Message Digest(Text)
- Generate Message Digest(File)
- Generate HMAC
- Encryption/Decryption
- Encryption/Decryption (File)
- Fernet Encryption/Decryption
- RSA Encryption/Decryption
- RSA Signature/Verification
- Lattice Cryptography Encryption
- DSA Keygen,Sign File,Verify Sig
- Elliptic Curve Encryption/Decryption
- Elliptic Curve Sign/Verify Message
- ELGAMAL Encryption/Decryption
- PBKDF2 Derivekey
- PBE (PBKDF) Encryption/Decryption
- BCrypt Password Hash
- SCrypt Password Hash
- .htpasswd Generator
- Diffie-Hellman Key Exchange
- PEMReader Decode Certificate
- Extract Public key from Private Key
- Extract Certs from URL
- PKCS#8 PKCS#1 RSA,DSA,EC Converter
- Encrypted PEM password finder
- Strong Random Passwd Generator
- UUID/GUID Generator
- Generate Self Sign Certificate
- Generate rootCA/InterCA/Certs
- Verify private key against csr,x509
- OCSP Query
- Sign CSR
- SSH-Keygen
- Easy Keystore/trustore viewer
- SAML Sign Message
- SAML Verify Sign / Others
- JSON Web Key (JWK) Generate
- JSON Web Key (JWK) to PEM Convert
- JWS Parser
- JWS Generate Key Sign Data
- JWS Sign Data with custom key
- JWS Signature Verification
- Nacl xsalsa20 Encryption & Decryption
- Nacl AEAD Encryption & Decryption
- Nacl Box Encryption & Decryption
- Nacl SealBox Encryption & Decryption

- Merge PDF Files
- Add WaterMark into PDF
- URL Shortner
- QR Code Generate
- Online Hexdump Generate
- Compare text differences
- URL Encoders/Decoders
- Hex To String Conversion
- String To Hex Conversion
- Base64 To Hex (ViceVersa)
- Base64 Encode/Decode
- Base64 Image Converter(data:image/png)
- Various String Functions
- JSON-2-YAML/XML
- YAML-2-JSON/XML
- XML-2-JSON/YAML
- Random Number Generator
- Feature Request