Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Ed25519 Key Exchange (Shared Secret)Demonstrates how to create an Ed25519 shared secret for use in key exchange. Note: This example requires Chilkat v9.5.0.83 or greater.
Use ChilkatAx-win32.pkg Procedure Test String sAlicePrivKey String sBobPubKey Variant vPrivKey Handle hoPrivKey Boolean iSuccess Variant vPubKey Handle hoPubKey Handle hoEddsa String sSharedSecret String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Alice's private key, a: // 77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a // Alice's public key, X25519(a, 9): // 8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a // Bob's private key, b: // 5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb // Bob's public key, X25519(b, 9): // de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f // Their shared secret, K: // 4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742 Move "77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a" To sAlicePrivKey Move "de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f" To sBobPubKey Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey If (Not(IsComObjectCreated(hoPrivKey))) Begin Send CreateComObject of hoPrivKey End // This example shows only one way of loading an Ed25519 private key. // Chilkat can load other formats (JWK, PEM, ASN.1 DER, etc.) // You may do so by calling LoadAnyFormat or LoadAnyFormatFile. Get ComLoadEd25519 Of hoPrivKey sAlicePrivKey "" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey If (Not(IsComObjectCreated(hoPubKey))) Begin Send CreateComObject of hoPubKey End Get ComLoadEd25519 Of hoPubKey sBobPubKey To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoPubKey To sTemp1 Showln sTemp1 Procedure_Return End // Create the shared secret: Get Create (RefClass(cComChilkatEdDSA)) To hoEddsa If (Not(IsComObjectCreated(hoEddsa))) Begin Send CreateComObject of hoEddsa End Get pvComObject of hoPrivKey to vPrivKey Get pvComObject of hoPubKey to vPubKey Get ComSharedSecretENC Of hoEddsa vPrivKey vPubKey "hexlower" To sSharedSecret Get ComLastMethodSuccess Of hoEddsa To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoEddsa To sTemp1 Showln sTemp1 Procedure_Return End Showln "Computed: " sSharedSecret Showln "Expected: 4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742" End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.