mirror of
https://github.com/msoedov/agentic_security.git
synced 2026-08-08 18:56:03 +02:00
feat(add stenography doc):
This commit is contained in:
@@ -0,0 +1,153 @@
|
|||||||
|
# Stenography Functions
|
||||||
|
|
||||||
|
The stenography module provides various text obfuscation and transformation techniques for security testing. This document explains its architecture and implementation.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The module implements:
|
||||||
|
|
||||||
|
1. Rotation ciphers (ROT13, ROT5)
|
||||||
|
1. Base64 encoding
|
||||||
|
1. Text manipulation functions
|
||||||
|
1. Randomization techniques
|
||||||
|
1. Character substitution methods
|
||||||
|
|
||||||
|
## Core Functions
|
||||||
|
|
||||||
|
### Rotation Ciphers
|
||||||
|
|
||||||
|
```python
|
||||||
|
def rot13(input_text):
|
||||||
|
"""
|
||||||
|
Applies ROT13 cipher to input text
|
||||||
|
- Preserves case of letters
|
||||||
|
- Leaves non-alphabetic characters unchanged
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
|
||||||
|
def rot5(input_text):
|
||||||
|
"""
|
||||||
|
Applies ROT5 cipher to input text
|
||||||
|
- Rotates digits by 5 positions
|
||||||
|
- Leaves non-digit characters unchanged
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Encoding
|
||||||
|
|
||||||
|
```python
|
||||||
|
def base64_encode(data):
|
||||||
|
"""
|
||||||
|
Encodes input data using Base64
|
||||||
|
- Handles both string and bytes input
|
||||||
|
- Returns UTF-8 encoded string
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Text Manipulation
|
||||||
|
|
||||||
|
```python
|
||||||
|
def mirror_words(text):
|
||||||
|
"""
|
||||||
|
Reverses each word in the input text
|
||||||
|
- Preserves word order
|
||||||
|
- Maintains spaces between words
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
|
||||||
|
def scramble_words(text):
|
||||||
|
"""
|
||||||
|
Randomly scrambles middle letters of words
|
||||||
|
- Preserves first and last letters
|
||||||
|
- Handles words shorter than 4 characters
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Randomization
|
||||||
|
|
||||||
|
```python
|
||||||
|
def randomize_letter_case(text):
|
||||||
|
"""
|
||||||
|
Randomly changes case of each character
|
||||||
|
- Independent case changes per character
|
||||||
|
- Preserves non-letter characters
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
|
||||||
|
def insert_noise_characters(text, frequency=0.2):
|
||||||
|
"""
|
||||||
|
Inserts random characters between existing ones
|
||||||
|
- Configurable insertion frequency
|
||||||
|
- Uses alphanumeric characters for noise
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Advanced Transformations
|
||||||
|
|
||||||
|
```python
|
||||||
|
def substitute_with_ascii(text):
|
||||||
|
"""
|
||||||
|
Replaces characters with their ASCII codes
|
||||||
|
- Space-separated numeric values
|
||||||
|
- Preserves original character order
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
|
||||||
|
def remove_vowels(text):
|
||||||
|
"""
|
||||||
|
Removes all vowel characters from text
|
||||||
|
- Handles both lowercase and uppercase vowels
|
||||||
|
- Preserves non-vowel characters
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
|
||||||
|
def zigzag_obfuscation(text):
|
||||||
|
"""
|
||||||
|
Alternates character case in zigzag pattern
|
||||||
|
- Starts with uppercase
|
||||||
|
- Toggles case for each alphabetic character
|
||||||
|
"""
|
||||||
|
# Implementation details...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage Patterns
|
||||||
|
|
||||||
|
1. **Text Obfuscation**:
|
||||||
|
|
||||||
|
```python
|
||||||
|
obfuscated = zigzag_obfuscation(
|
||||||
|
scramble_words(
|
||||||
|
insert_noise_characters(text)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
1. **Encoding**:
|
||||||
|
|
||||||
|
```python
|
||||||
|
encoded = base64_encode(rot13(text))
|
||||||
|
```
|
||||||
|
|
||||||
|
1. **Randomization**:
|
||||||
|
|
||||||
|
```python
|
||||||
|
randomized = randomize_letter_case(
|
||||||
|
remove_vowels(text)
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
- **Noise Frequency**: Configurable in insert_noise_characters()
|
||||||
|
- **Scrambling**: Automatic handling of word lengths
|
||||||
|
- **Case Handling**: Preserved in rotation ciphers
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
|
||||||
|
- Primarily handles ASCII text
|
||||||
|
- Limited to implemented transformation types
|
||||||
|
- Randomization is not cryptographically secure
|
||||||
@@ -24,6 +24,7 @@ nav:
|
|||||||
- CI/CD Integration: ci_cd.md
|
- CI/CD Integration: ci_cd.md
|
||||||
- Bayesian Optimization: optimizer.md
|
- Bayesian Optimization: optimizer.md
|
||||||
- Image Generation: image_generation.md
|
- Image Generation: image_generation.md
|
||||||
|
- Stenography Functions: stenography.md
|
||||||
- Reference:
|
- Reference:
|
||||||
- API Reference: api_reference.md
|
- API Reference: api_reference.md
|
||||||
- Community:
|
- Community:
|
||||||
|
|||||||
Reference in New Issue
Block a user