init repo

This commit is contained in:
Jesús Pérez 2024-08-15 10:47:52 +01:00
commit 1e37c2acdc
No known key found for this signature in database
7 changed files with 59 additions and 0 deletions

13
.gitignore vendored Normal file
View File

@ -0,0 +1,13 @@
/sitehome
/config
target
Cargo.lock
.DS_Store
.idea
workspace.code-workspace
shunit2
._.DS_Store
.VSCodeCounter
wrks
tmp
local_bin

44
README.md Normal file
View File

@ -0,0 +1,44 @@
# [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="500" alt="TII CL Rust POC" src="images/tii_tls_logs_tests.svg?sanitize=true">
> [!NOTE]
> [TII CL Rust POC](./) Design, Develop and Deploy all interfaces
> [!CAUTION]
> Code not published here as it belongs to TII CRC
## Features
[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](/jesus/provisioning)</a> for build and distribution
## UCF model (Unified Cryptographic Framework)
<div><img alt="TII CL Rust UCF" width="400" src="images/ucf_dist_box.png"></div>
### Development view
<div><img alt="TII CL Rust UCF Dev" width="400" src="images/ucf_dist_prog_langs.png"></div>
### Distribution view
<div><img alt="TII CL Rust UCF Dev" width="400" src="images/ucf_prog_langs.png"></div>

1
images/ce_in_rust.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

BIN
images/ucf_dist_box.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 KiB

BIN
images/ucf_prog_langs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 KiB