fix: JavaDoc improvements
Some checks failed
Release / release (push) Failing after 1m48s

This commit is contained in:
2025-08-04 23:43:23 +02:00
parent 55b0153f56
commit 2e6664551e
3 changed files with 124 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
/**
* Copyright (C) 2025, Leo Galambos
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. All advertising materials mentioning features or use of this software must
* display the following acknowledgement:
* This product includes software developed by the Egothor project.
*
* 4. Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/**
* <h2>ZeroEcho Command-Line Tools</h2>
*
* <p>
* This package contains a suite of command-line utilities that act as a
* user-facing interface to the underlying <code>zeroecho</code> library module.
* These tools are designed to support secure file encryption, key management,
* certificate authority operations, and advanced cryptographic workflows from
* the terminal.
* </p>
*
* <h3>Capabilities</h3>
*
* <p>
* The command-line utilities included in this package demonstrate the
* versatility of the ZeroEcho library in real-world scenarios, including:
* </p>
*
* <ul>
* <li><b>Asymmetric Key and Certificate Management:</b> Manage key pairs, X.509
* certificates, and Certificate Authority (CA) operations via
* <code>AsymetricKeysManagement</code> and <code>ZeroEcho</code>.</li>
*
* <li><b>Authenticated Encryption:</b> Use AES-GCM and related modes with
* password- or key-based mechanisms through <code>PasswordBasedAes</code>,
* <code>KEMAes</code>, and <code>MultiRecipientAes</code>.</li>
*
* <li><b>Key Encapsulation:</b> Perform AES encryption using encapsulated keys
* with hybrid cryptography patterns via <code>KEMAes</code>.</li>
*
* <li><b>Multi-Recipient Encryption:</b> Securely encrypt files for multiple
* recipients using independent public keys with
* <code>MultiRecipientAes</code>.</li>
*
* <li><b>KeyStore Interaction:</b> Load, inspect, and manage local keystore
* files with <code>KeyStoreManagement</code>.</li>
* </ul>
*
* <p>
* These tools are intended for developers, security analysts, and system
* administrators who need to integrate cryptographically secure operations into
* shell scripts, pipelines, or operational workflows without writing Java code.
* </p>
*/
package zeroecho;

View File

@@ -13,4 +13,5 @@ dependencies {
javadoc { javadoc {
options.links("https://www.egothor.org/javadoc/conflux") options.links("https://www.egothor.org/javadoc/conflux")
options.overview = file("src/main/javadoc/overview.html")
} }

View File

@@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ZeroEcho API Library</title>
</head>
<body>
<p>
The ZeroEcho library provides a cohesive and extensible toolkit for secure data processing, cryptographic transformation,
and covert communication. Its architecture is centered around composability: data flows through builder-defined pipelines,
enabling dynamic combinations of encoding, encryption, formatting, and output strategies.
</p>
<p>
ZeroEcho is particularly suited for applications that require secure transmission or obfuscation of binary data in
constrained or adversarial environments - including command-line payload delivery, steganographic embedding,
and post-quantum cryptographic operations.
</p>
<h1>Design Principles</h1>
<ul>
<li><b>Modularity:</b> Each package targets a specific concern (e.g., encryption, data formatting, covert encoding) and is designed for minimal dependencies and high interoperability.</li>
<li><b>Security:</b> Cryptographic operations leverage trusted providers (notably Bouncy Castle) and emphasize secure defaults, authenticated encryption, and entropy-aware key handling.</li>
<li><b>Builder-Driven APIs:</b> Pipeline construction is managed through fluent builders that abstract away complexity while preserving control.</li>
<li><b>Covert &amp; Controlled Output:</b> Support for covert encoding into media formats (like JPEG) and output to script-ready formats (e.g., Base64 in shell wrappers) makes it ideal for discreet or cross-platform delivery.</li>
</ul>
<h1>Key Capabilities</h1>
<p>
The library includes:
</p>
<ul>
<li>Construction and chaining of content transformations via the <code>builder</code> module</li>
<li>Data hiding mechanisms in binary and JPEG images through the <code>covert</code> packages</li>
<li>Robust support for AES and asymmetric encryption, password-based key derivation, and post-quantum cryptography via <code>util.aes</code>, <code>util.asymmetric</code>, and <code>util.bc</code></li>
<li>Flexible data output in raw, Base64, or platform-specific shell-script forms via <code>data.output</code></li>
</ul>
<p>
ZeroEcho aims to bridge high-assurance cryptographic practices with practical concerns around portability,
concealment, and controlled delivery - whether in a CLI toolchain, embedded device, or secure messaging layer.
</p>
</body>
</html>