dwgoon / hmg

Hiding secret messages in graph datasets

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hiding Secret Messages in Graph Datasets (HMG)

HMG(Hiding Secret Messages in Graph Datasets) is a Python package that presents a collection of steganography and watermarking algorithms for graph datasets.

Algorithms

  • Real-world graphs

    • BIND
    • BYMOND
  • Synthetic graphs

Installation

python setup.py install

Graph Engine

The default graph engine is based on the functionality of networkx. However, we can also use python-igraph instead of networkx.

from hmg.engine import GraphEngine

ge = GraphEngine('networkx')  # Use networkx for creating GraphEngine object.
ge = GraphEngine('igraph')  # Use python-igraph for creating GraphEngine object.

Experiments

1. Basic Experiments

This repository provides some basic experiments for each algorithm in experiments directory.

  • BIND: bind_omnipath.py
  • BYMOND: bymond_ddi.py
  • BYNIS: bynis_powerlaw.py
  • WU2019: wu2019_paper_examples.py
  • WU2020: wu2020_paper_examples.py

2. Experiments for OGB datasets

2.1. Download OGB datasets

To perform the experiments for OGB datasets, we need to install the following packages.

The reason for installing the PyTorch packages is that ogb package depends on these packages. After installing the above packages, install ogb package.

pip install ogb

Now, we can download the datasets using experiments/download_ogb.py. The default download directory is data/ogb.

cd experiments
python download_ogb.py

2.2. Perform Experiments

In experiments directory, execute python (algorithm)_ogb_payload.py. These scripts perform the encoding simulation experiments for all datasets of OGB.

  • BIND: bind_ogb_pyaload.py
  • BYMOND: bymond_ogb_pyaload.py

Citation

About

Hiding secret messages in graph datasets

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 100.0%