---
name: entropy_shannon
kind: function
lang: py
domain: cybersecurity
version: "1.0.0"
purity: pure
signature: "def entropy_shannon(data: bytes) -> float"
description: "Calcula la entropia de Shannon de datos binarios (0-8 bits por byte). Util para detectar datos cifrados o comprimidos."
tags: [entropy, shannon, analysis, crypto, python]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: [math, collections]
params:
  - name: data
    desc: "bytes cuya entropia de Shannon se desea calcular"
output: "valor float de entropia entre 0 y 8 bits por byte"
tested: false
tests: []
test_file_path: ""
file_path: "python/functions/cybersecurity/cybersecurity.py"
---

## Ejemplo

```python
# Datos aleatorios (alta entropia)
entropy_shannon(bytes(range(256)))
# ~8.0

# Datos repetitivos (baja entropia)
entropy_shannon(b"aaaaaaaaaa")
# 0.0

# Texto normal
entropy_shannon(b"hello world")
# ~2.84
```

## Notas

Entropia alta (>7.5) sugiere datos cifrados o comprimidos. Entropia baja (<3) sugiere datos estructurados o repetitivos. Retorna 0.0 para datos vacios.
