# Fractus
Fractus is a cryptographic attack library written in rust. It is also available through python
## Run
### Rust
`cargo add fractus`
```rust
use fractus::sha2_256;
let m = b"abc";
let h = sha2_256::compute(&m);
let e = b"cde";
let mut c = m.to_vec();
c.extend(sha2_256::padding(m.len()));
c.extend(e);
let e = sha2_256::extend(&h, m.len(), e);
assert_eq!(e, sha2_256::compute(c));
```
### Python
`pip install fractus`
```python
from fractus import sha2_256
m = b'secret' + b'abc'
h = sha2_256.compute(m)
e = b'test'
assert sha2_256.extend(h, len(m), e) == sha2_256.compute(m + sha2_256.padding(len(m)) + e)
```
## Features
### Length Extension Attack
- [x] MD4
- [x] MD5
- [x] SHA0
- [x] SHA1
- [x] SHA2_256
- [x] SHA2_512
- [x] Ripemd128
- [x] Ripemd160
- [x] Ripemd256
- [x] Ripemd320
- [x] Whirlpool
Raw data
{
"_id": null,
"home_page": null,
"name": "fractus",
"maintainer": null,
"docs_url": null,
"requires_python": "",
"maintainer_email": null,
"keywords": "crypto,attack",
"author": "GlacierSG <iamglaciersg@gmail.com>",
"author_email": "GlacierSG <iamglaciersg@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/5d/ae/d0433a5752923c0f76238c668a8d7f697fe3d63f065256abab2e4e372c94/fractus-0.1.7.tar.gz",
"platform": null,
"description": "\n# Fractus\nFractus is a cryptographic attack library written in rust. It is also available through python\n\n## Run\n### Rust\n`cargo add fractus`\n\n```rust\nuse fractus::sha2_256;\n\nlet m = b\"abc\";\nlet h = sha2_256::compute(&m);\nlet e = b\"cde\";\nlet mut c = m.to_vec();\nc.extend(sha2_256::padding(m.len()));\nc.extend(e);\nlet e = sha2_256::extend(&h, m.len(), e);\nassert_eq!(e, sha2_256::compute(c));\n```\n\n### Python\n`pip install fractus`\n\n```python\nfrom fractus import sha2_256\n\nm = b'secret' + b'abc'\nh = sha2_256.compute(m)\ne = b'test'\nassert sha2_256.extend(h, len(m), e) == sha2_256.compute(m + sha2_256.padding(len(m)) + e)\n```\n\n## Features\n### Length Extension Attack\n- [x] MD4\n- [x] MD5\n- [x] SHA0\n- [x] SHA1\n- [x] SHA2_256\n- [x] SHA2_512\n- [x] Ripemd128\n- [x] Ripemd160\n- [x] Ripemd256\n- [x] Ripemd320\n- [x] Whirlpool\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Cryptographic attack library for Rust and Python",
"version": "0.1.7",
"project_urls": {
"Source Code": "https://github.com/GlacierSG/fractus"
},
"split_keywords": [
"crypto",
"attack"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ed3100f233df05c18a567990ba12d7bef07e0ac9be7d09016989bdcd7847023c",
"md5": "e643bb5d89fe63696ca2e223c91cb1de",
"sha256": "3368fadd92c31084afa8ae3ce2a23c1588b88f3f4809f615f417f097813d4920"
},
"downloads": -1,
"filename": "fractus-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e643bb5d89fe63696ca2e223c91cb1de",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 244091,
"upload_time": "2024-02-24T21:01:43",
"upload_time_iso_8601": "2024-02-24T21:01:43.367648Z",
"url": "https://files.pythonhosted.org/packages/ed/31/00f233df05c18a567990ba12d7bef07e0ac9be7d09016989bdcd7847023c/fractus-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5daed0433a5752923c0f76238c668a8d7f697fe3d63f065256abab2e4e372c94",
"md5": "3a383a3f357c706a142ab47a1fc1ce2a",
"sha256": "438c766bbb3c5ac568123a67b008f6ed19eb5b169f295912e47826093252215e"
},
"downloads": -1,
"filename": "fractus-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "3a383a3f357c706a142ab47a1fc1ce2a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31362,
"upload_time": "2024-02-24T21:01:45",
"upload_time_iso_8601": "2024-02-24T21:01:45.582135Z",
"url": "https://files.pythonhosted.org/packages/5d/ae/d0433a5752923c0f76238c668a8d7f697fe3d63f065256abab2e4e372c94/fractus-0.1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-24 21:01:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "GlacierSG",
"github_project": "fractus",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "fractus"
}