Metadata-Version: 2.1
Name: steganodf
Version: 0.1.2
Summary: Functions to add steganographic message to a dataframe with row permutation
Author: Sacha Schutz
Author-email: sacha@labsquare.org
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: more-itertools (>=9.1.0,<10.0.0)
Requires-Dist: pandas (>=2.0.2,<3.0.0)
Description-Content-Type: text/markdown


# Steganodf 

Steganodf is a tool to hide a secret message in a pandas dataframe by swapping lines. 
It works with permutation of block of 6 lines (720 combinaisons) to store 1 byte. 

The dataframe is first sorted by the computed hash of each line. You can also use HMAC 
if you give a password. This prevents the attacker from finding the secret message. 
Indexes of each block of 6 lines are used as the source of permutation. A byte is then encoded 
as the n-th permutation. 


# Installation 

```
pip install steganodf
```

# Usage 


```python
import steganodf 

 
df = pd.read_csv("https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv")

# Encode a message
new_df = steganodf.encode_pandas(df, "made by steganodf")

# Decode a message 
message = steganodf.decode_pandas(df)

```

