
# [TII CL Rust POC](./)

[Rust Cryptograpy Lib Proof-of-Concept](./) following **UCF model** (Unified Cryptographic Framework) Proof-of-Concept including existing C libraries with source code not delivered

<img style="margin: 1em 0em;border: 0" width="400" alt="TII CL Rust POC main" src="images/tii_cl_rust_pres_main.png?sanitize=true">

> [!NOTE]
> [TII CL Rust POC](./) Design, Develop and Deploy all interfaces 

<div><img alt="TII CL Rust UCF Defs" width="500" src="images/tii_cl_rust_pres_definition.png"></div>

> [!CAUTION]
> Code not published here as it belongs to TII CRC

 ## Features

<img style="margin: 1em 0em;border: 0" width="300" alt="TII CL Rust POC" src="images/ce_in_rust.svg?sanitize=true">

[TII CL Rust POC](./) a friendly Ecosystem for a Rust Cryptographic library

- **Layout** Implementation based in UCF model,  layer:Core, Higherorder, Api, Distribution.  It  works for basic POC with cryptographic implemented elements: SHA2 (from C lipsodium ), SHA3, Elliptic Curves: P256 and P384
- **Cryptographic Algorithms** has been implemented with  Tests and Benchmark options. Code documentation connected with DocServer
- Using existing <u>libsodium</u> as C library to prototype best **FFI integration** as best <u>unsafe</u> interchange between C and Rust
- Generators allow to use implemented items as templates for new ones by creating a whole structure in all Library Layers on the fly for fast prototype, migration and evaluation (make UCF easy to use)
- **Static distribution library** builder  works for basic POC, some automation for build and distribution in a multi-platform context for development and production, depends on infrastructure and platform
- A planned builder interface with options to create and sign deliveries for evaluation and production, by **cargo features** and **platform selection** for a custom  product without too much dev, code or infrastructure knowledge
- **Adapters** as basic use cases implementation for some programming languages: C, Rust, Python and Go.  In Rust a CLI app was build for testing purposes
- **Documentation** graphic part, UI and index content, publishing or local build (original **Rust mdbook** fixed for absolute links and officially reported), several plugins has been used for better UI experience and infrastructure automation developed for CDCI in a production/development platforms
- [DocServer](/jesus/docserver) a <u>Rust web server for mdbooks</u> created with authentication and authorizations (permissions based on roles), developed to control access for static content like documentation (books and code) with a lot of options for settings
- **Documentations access control and log info** for users and groups of them by separating content for development, distribution or future versions, etc Under one instance server. Can be implemented in a local or public infrastructure with automations CDCI
- **Infrastructure** easy to use and secure/consistent life-cycle process, options, testing, scenarios or contexts, based on private resources
- **Self-hosted repository as a SST** (single source of truth) by <u>gitea</u> project
- **Crates and Library modules** availability: local, private access, mixed. Dependencies control and Sync. Architecture model created for fully private and self hosted use case
- **Documentation and guides** architecture for [DocServer](/jesus/docserver) and building process via repo actions
- **Targets availability via CD/CI** [provision architecture](https://rlung.librecloud.online/jesus/provisioning)</a> for build and distribution

<img style="margin: 1em 0em;border: 0" width="400" alt="TII CL Rust POC" src="images/tii_cl_logo_dev_book.svg?sanitize=true">

## UCF model (Unified Cryptographic Framework)

<div><img alt="TII CL Rust UCF" width="500" src="images/ucf_dist_box.png"></div>

Views:

<div><img alt="TII CL Rust UCF views" width="500" src="images/tii_cl_rust_pres_ecosystem_model.png"></div>

### Standing on the shoulders of giants

[TII CL Rust POC](./) was made [Standing on the shoulders of giants](https://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants)

<div><img alt="TII CL Rust UCF Tools" width="500" src="images/tii_cl_rust_pres_standing.png"></div>
