-
Notifications
You must be signed in to change notification settings - Fork 4
Testing Milestone 2
First, run Fennel Protocol as a dev node:
$ ./scripts/setup.sh
$ ./scripts/build-run.shExtrinsics are available by navigating to Polkadot.js and entering the Developer > Extrinsics menu.
The following represent the features outlined as the deliverables outlined for Milestone 2:
Given key and location, the Key Announcement extrinsic will insert a Storage entry announcing the existence of a Key to the Issued Key's list of keys.
You can announce a new RSA public key to the network by calling the issue_key extrinsic (source) with a key fingerprint and a link to a public key storage location.
Public Key Retrieval is implemented as a storage handler around a StorageDoubleMap, mapping accounts to key fingerprints to storage locations. You can find an example of a Rust function to call against this storage endpoint in fennel-lib.
The changes in this milestone include both a library used to integrate key management and encryption negotiation features into Rust-based applications through a new fennel-lib implementation, and a Fennel Protocol pallet used to announce both Diffie-Hellman public keys and RSA public keys to the network. In the next milestone, we'll complete a client/server pair targeting easy deployment with this library integrated.
Fennel provides support in our integration libraries for AES encryption and the generation of AES keys. A light wrapper around the OpenSSL implementation of AES is used for both key generation and encryption/decryption. An AES key will be generated based on the shared secret for each communication channel established and be used for encrypting the messages exchanged within it.
-
aes_encryptencrypts the given plain text using the given AES Key and a randomly generated IV. It returns the cipher text appended to the randomly generated IV -
aes_decryptdecrypts the given cipher text using the given AES Key and the appended random IV that was generated for it. It returns the original plain text
Fennel provides support in our integration libraries for RSA encryption and the generation of RSA keys. A light wrapper around the RSA
lorem ipsum.