The FES DLL API
Contents
API Setup Instantiate FES Object
Fractal Hashing Generate a fractal hash
Fractal Encryption & Extraction Transform a String Payload
Fractal Encryption & Extraction for Byte Arrays Encrypt binary data (e.g., files, streams, images)
Silo & Key Configuration Specify the Silo and Key to be used
Advanced Options Advanced Fractal Transform options
Miscellaneous API Functions DLL Status Functions

FES DLL API

FES DLL API allows developers to integrate Fractal Encryption Standard (FES) into any Windows 32-bit compatible application. It provides quantum-proof encryption, hashing, and transformation functions through a DCOM-based, standalone DLL with no external dependencies.

Supports:

Fractal Encryption & Extraction (String, Byte Array, Base64)

Fractal Hashing

Silo Management & Key Configuration

Multiple Encryption Overwrite Modes (XOR, ADD, SPLIT)

Multi-Pass Fractal Transformations & Custom Dimensionality


🔹 API Setup

When you have completed FES Framework installation the FES DLL will be a registered COM object ready to instantiate in your project.

Link to the Portalz FES reference, search for 'Portalz Fractal Encryption Standard (FES) V2', and Declare an FES object:

vbPublic FES As FES_V2.clsFES

Debug.Print FES.strDLLVersion

1️⃣ Fractal Hashing

Generate a fractal hash from an input image (text) using a selected Silo and hash size.

vbDim strSilo As String
Enum e_CipherFormat
    cfRaw = -1
    cfBase64 = 0
    cfHex = 1
End Enum

Dim strImage As String
Dim lngHashSize As Long
Dim strHash As String
dim cfCipherFormat As e_CipherFormat


strHash = FES.FractalHash(strSilo, strImage, lngHashSize)
  • strSilo: Name of the Silo used for hashing.
  • strImage: The input text to be hashed.
  • lngHashSize: Hash size in bits (e.g., 256, 512, 1024, etc.).
  • Returns: A unique fractal hash as a Base64 string.

2️⃣ Fractal Encryption & Extraction

Fractal Encrypt/Decrypt with a key and optional Fractal OTP.

Fractal OTP navigates from the primary user-key (strKey) fractal portal to a secondary OTP fractal portal that guarantees Shannon OTP conditions are met when session IDs or file path meta-data are input.

All transformation options must be set on the FES object before a transform or extract function is called.


Transform a String Payload

Encrypt a text string using Fractal Transformation.

vb
Enum e_CipherFormat
    cfRaw = -1
    cfBase64 = 0 '' Use options blnURLSafe and blnPadding
    cfHex = 1    '' Use option blnUppercase
End Enum

Dim FES as clsFES
Dim cfCipherFormat As e_CipherFormat
Dim strCipher As String
Dim strPassword As String
Dim strPayload As String

strPassword = "Secret99"
strPayload = "Secured Text"
cfCipherFormat = cfBase64

Set FES = New clsFES
With FES
    '' Optional Settings. All combinations supported. All must match to decrypt.
    '' Input Options
    .strFOTP = strFOTP '' Fractal OTP (Session id, unique id, file name etc)
    .strSiloName = "Management" '' The name of a default or custom Silo
    '' Fractal Stream Options
    .lngPasses = 2     '' Fractal Stream size = length of payload x lngPasses
    .lngDimensions = 8 '' Each dimension adds 112 bits to the key-space
    '' Transformation Options
    .blnADD = True     '' Add Fractal Stream on transform, subtract on extract
    .blnBITWARP = True '' Apply bit warping using Fractal Stream values
    .blnFBLIT = True   '' Fractal Stream primes based bit region swaps
    .blnScramble = True'' Re-order bytes using Fractal Stream Values
    .blnSPLIT = True   '' Split bytes with Fractal Stream selected bit positions 
    .blnSUB = True     '' Substitute bytes with Fractal Stream selected byte array
    .blnXOR = True     '' Apply XOR function from the Fractal Stream
    
    '' Perform FES Transform
    strCipher = .strFractalTransform(strPassword, strPayload, cfCipherFormat, blnURLSafe, blnPadding, blnUppercase)
End With
  • strPayload: The plaintext message to encrypt.
  • Returns: Encrypted cipher text.

Extract a String Payload

Decrypt a previously encrypted text string.

vb
Enum e_CipherFormat
    cfRaw = -1
    cfBase64 = 0 '' Use options blnURLSafe and blnPadding
    cfHex = 1    '' Use option blnUppercase
End Enum

Dim FES as clsFES
Dim cfCipherFormat As e_CipherFormat
Dim strCipher As String
Dim strPassword As String
Dim strPayload As String

strPassword = "Secret99"
strCipher = "..." '' FES Cipher
cfCipherFormat = cfBase64

Set FES = New clsFES
With FES
    '' Optional Settings. All combinations supported. All must match to decrypt.
    '' Input Options
    .strFOTP = strFOTP '' Fractal OTP (Session id, unique id, file name etc)
    .strSiloName = "Management" '' The name of a default or custom Silo
    '' Fractal Stream Options
    .lngPasses = 2     '' Fractal Stream size = length of payload x lngPasses
    .lngDimensions = 8 '' Each dimension adds 112 bits to the key-space
    '' Transformation Options
    .blnADD = True     '' Add Fractal Stream on transform, subtract on extract
    .blnBITWARP = True '' Apply bit warping using Fractal Stream values
    .blnFBLIT = True   '' Fractal Stream primes based bit region swaps
    .blnScramble = True'' Re-order bytes using Fractal Stream Values
    .blnSPLIT = True   '' Split bytes with Fractal Stream selected bit positions 
    .blnSUB = True     '' Substitute bytes with Fractal Stream selected byte array
    .blnXOR = True     '' Apply XOR function from the Fractal Stream
    
    '' Perform FES Extract
    strPayload = .strFractalExtract(strPassword, strCipher, cfCipherFormat)
End With
  • strCipher: The encrypted message.
  • Returns: The original plaintext message.

3️⃣ Fractal Encryption & Extraction for Byte Arrays

Transform Byte Array

Encrypt binary data (e.g., files, streams, images).

vb
Dim FES as clsFES
Dim bCipher() As Byte
Dim bPayload() As Byte

strPassword = "Secret99"
bPayload = ReadBinaryData(strPath) '' Use a binary source

Set FES = New clsFES
With FES
    '' Optional Settings. All combinations supported. All must match to decrypt.
    '' Input Options
    .strFOTP = strFOTP '' Fractal OTP (Session id, unique id, file name etc)
    .strSiloName = "Management" '' The name of a default or custom Silo
    '' Fractal Stream Options
    .lngPasses = 2     '' Fractal Stream size = length of payload x lngPasses
    .lngDimensions = 8 '' Each dimension adds 112 bits to the key-space
    '' Transformation Options
    .blnADD = True     '' Add Fractal Stream on transform, subtract on extract
    .blnBITWARP = True '' Apply bit warping using Fractal Stream values
    .blnFBLIT = True   '' Fractal Stream primes based bit region swaps
    .blnScramble = True'' Re-order bytes using Fractal Stream Values
    .blnSPLIT = True   '' Split bytes with Fractal Stream selected bit positions 
    .blnSUB = True     '' Substitute bytes with Fractal Stream selected byte array
    .blnXOR = True     '' Apply XOR function from the Fractal Stream
    
    '' Perform FES Transform
    bCipher = .byteFractalTransform(strPassword, bPayload)
End With
  • bPayload: Input byte array to encrypt.
  • Returns: Encrypted byte array.

Extract Byte Array

Decrypt binary data.

vb
Dim FES as clsFES
Dim bCipher() As Byte
Dim bPayload() As Byte

strPassword = "Secret99"
bCipher = ReadBinaryData(strPath) '' Read binary cipher

Set FES = New clsFES
With FES
    '' Optional Settings. All combinations supported. All must match to decrypt.
    '' Input Options
    .strFOTP = strFOTP '' Fractal OTP (Session id, unique id, file name etc)
    .strSiloName = "Management" '' The name of a default or custom Silo
    '' Fractal Stream Options
    .lngPasses = 2     '' Fractal Stream size = length of payload x lngPasses
    .lngDimensions = 8 '' Each dimension adds 112 bits to the key-space
    '' Transformation Options
    .blnADD = True     '' Add Fractal Stream on transform, subtract on extract
    .blnBITWARP = True '' Apply bit warping using Fractal Stream values
    .blnFBLIT = True   '' Fractal Stream primes based bit region swaps
    .blnScramble = True'' Re-order bytes using Fractal Stream Values
    .blnSPLIT = True   '' Split bytes with Fractal Stream selected bit positions 
    .blnSUB = True     '' Substitute bytes with Fractal Stream selected byte array
    .blnXOR = True     '' Apply XOR function from the Fractal Stream
    
    '' Perform FES Extract
    bPayload = .byteFractalExtract(strPassword, bCipher)
End With
  • bCipher: The encrypted byte array.
  • Returns: The original byte array.

5️⃣ Silo & Key Configuration

Set Silo Name

Specify the Silo to be used for encryption/hashing.

vbFES.strSiloName = "Management"
  • strSiloName: Name of the selected Silo.

An FES Silo is a unique cryptographic domain that fundamentally changes how the FES transformation behaves:

  • Each silo contains 65,536 unique fractal regions that serve as the basis for selecting fractal portals and path navigation during encryption.
  • These regions are completely distinct from one silo to another. That means a given password combined with one silo will NOT map to the same fractal portal as the same password with another silo.
  • Silos deliver Encryption Level Compartmentalization, a new security level.

See the Silo Help Page.


6️⃣ Advanced Fractal Transform Options

Set Number of Fractal Dimensions

Each dimension adds 112 bits to the key-space.

vbFES.lngDimensions = 8
  • The minimum number of fractal dimensions is 8.
  • You must set an even number of fractal dimensions.
  • Each dimension adds 112 bits to the fractal key-space.
  • Each dimension increases encryption complexity dramatically as it introduces a new fractal plane. Each fractal plane has an infinite number of fractal portals.

Set the number of dimensions to match your desired key-space. Dimensions and key-space are maintained after fractal portal discovery and the user-key is discarded, fractal stream generation proceeds with all configured dimensions and key-space.


Set Number of Passes

Specify how many times the transformation should be applied.

vbFES.lngPasses = 2
  • Each pass matches the payload size.
  • Each pass increases fractal depth and encryption complexity.
  • The fractal stream continues unique infinitely complex iteration for every pass.
  • All other selected transformation options are re-applied for every pass.

Due to the quality of FES fractal streams a single pass is impenetrable as it is unknown, unpredictable and matches the whole payload size (meets OTP requirements).

The transformation speed is reduced and processing time increased (single pass x number of passes). This has a greater impact if bitwise overwrites are used.

The cumulative effect of multiple passes with multiple transform options has significant impact on fractal depth, complexity and security.


Enable Scrambling

Reorders cipher using raw complex values at each pass level.

vbFES.blnScramble = True
  • Raw fractal values are accumulated during fractal stream generation that re-order (scramble) the byte order of the payload.
  • A new order is generated each pass, further scrambling the cipher and the order in which the fractal stream is applied.

As Scrambling is applied per-pass, be mindful of processing and performance, especially with large payloads.


Activate Overwrite Modes

Select which Overwrite Functions to apply.

vbFES.blnFBLIT = True  ' Bit-wise Scramble
FES.blnXOR = True ' Default XOR transformation
FES.blnSUB = True ' Fractal Value Substitution
FES.blnADD = True  ' Byte-wise modulo addition/subtraction
FES.blnSPLIT = True ' Byte splitting at Fractal Value
FES.blnBITWARP = True ' Fractal bit structure warping

Byte-wise Functions

  1. SUB: Applies fractal stream shuffled substitution array
  2. XOR: Applies fractal stream value XOR function (default)
  3. ADD: Applies fractal stream value modulo addition/subtraction
  4. SPLIT: Applies fractal stream selected bit-split

Bit-wise Functions

  1. FBLIT: Applies fractal value driven bit chunk swaps
  2. BITWARP: Applies fractal value driven bit warping

Bit-wise transformations should always be used in conjunction with one or more Byte-wise functions.

Bit-wise transformations deliver extreme levels of security, but they are processor intensive compared to the Byte-wise functions. The SPLIT function is an excellent compromise.

The numbers indicate the order in which the overwrite functions are applied.


7️⃣ Miscellaneous API Functions

Get Last Error Report

Retrieve the latest error message.

vbDim strError As String
strError = FES.strErrorReport

Get DLL Path

Retrieve the installation path of the FES DLL.

vbDim strPath As String
strPath = FES.strDLLPath

Get DLL Version

Retrieve the current version of the FES DLL.

vbDim strVersion As String
strVersion = FES.strDLLVersion

Key Benefits of the FES API

DCOM-Based Security – Windows-native security and networked object access.

Standalone, No Dependencies – No external libraries required.

Supports All Windows Versions – Fully compatible with all Windows, Windows Server etc versions.

Supports 32-bit Applications – Fully compatible with .NET C#,F#, Visual Basic, C++, Delphi, Java, Rust, VB6, TwinBASIC, etc. (via COM).

Cross-Platform Expansion64-bit and multi-platform versions available for commercial licensees.

Quantum-Proof Fractal EncryptionNo fixed structure for quantum attacks to exploit.

Silo-Based Key CompartmentalizationDifferent Silos create entirely unique ciphers, preventing key reuse risks.

scroll to top of page