{"id":27106065,"url":"https://github.com/abhrankan-chakrabarti/diffsquare","last_synced_at":"2025-04-09T21:20:36.241Z","repository":{"id":286404679,"uuid":"961306644","full_name":"Abhrankan-Chakrabarti/diffsquare","owner":"Abhrankan-Chakrabarti","description":"This project is authored by Abhrankan Chakrabarti and demonstrates an efficient implementation of Fermat’s Difference of Squares method for factoring large integers. The implementation is written in Rust and utilizes the malachite crate for arbitrary-precision arithmetic.","archived":false,"fork":false,"pushed_at":"2025-04-06T08:35:25.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T09:25:47.637Z","etag":null,"topics":["biginteger","cryptography","fermat","numbertheory","opensource","rustlang"],"latest_commit_sha":null,"homepage":"https://abhrankan-chakrabarti.github.io/diffsquare/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abhrankan-Chakrabarti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-06T08:22:12.000Z","updated_at":"2025-04-06T08:41:50.000Z","dependencies_parsed_at":"2025-04-06T09:36:02.274Z","dependency_job_id":null,"html_url":"https://github.com/Abhrankan-Chakrabarti/diffsquare","commit_stats":null,"previous_names":["abhrankan-chakrabarti/diffsquare"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhrankan-Chakrabarti%2Fdiffsquare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhrankan-Chakrabarti%2Fdiffsquare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhrankan-Chakrabarti%2Fdiffsquare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhrankan-Chakrabarti%2Fdiffsquare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abhrankan-Chakrabarti","download_url":"https://codeload.github.com/Abhrankan-Chakrabarti/diffsquare/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248112356,"owners_count":21049645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["biginteger","cryptography","fermat","numbertheory","opensource","rustlang"],"created_at":"2025-04-06T19:23:02.061Z","updated_at":"2025-04-09T21:20:36.222Z","avatar_url":"https://github.com/Abhrankan-Chakrabarti.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"## From the Author\n\nThis project is authored by [Abhrankan Chakrabarti](https://github.com/Abhrankan-Chakrabarti) and demonstrates an efficient implementation of Fermat’s Difference of Squares method for factoring large integers. The implementation is written in Rust and utilizes the [`malachite`](https://docs.rs/malachite/) crate for arbitrary-precision arithmetic.\n\nKey features include:\n\n- Support for both decimal and hexadecimal inputs.\n- Command-line interface with support for optional precision and iteration control.\n- Verbose scientific notation output for better readability of large numbers.\n\nGitHub Repository: [Abhrankan-Chakrabarti/diffsquare](https://github.com/Abhrankan-Chakrabarti/diffsquare)\n\n---\n\n**Latest Commit:**\n\nAdd difference of squares implementation with CLI and malachite support\n\n---\n\n**Tags:**\n\n`#RustLang` `#NumberTheory` `#OpenSource` `#BigInteger` `#Cryptography` `#Fermat` `#AbhrankanChakrabarti` `#Malachite`\n\n---\n\n## Build Instructions\n\nMake sure you have Rust installed. Then clone the repo and build the project:\n\n```bash\ngit clone https://github.com/Abhrankan-Chakrabarti/diffsquare.git\ncd diffsquare\ncargo build --release\n```\n\n---\n\n## Usage Examples\n\nRun the binary using default values or provide custom arguments:\n\n```bash\n# Using the default modulus\ncargo run --release\n\n# Using a specific modulus (in decimal)\ncargo run --release -- -n 179769313486231590772930519078902473361797697894230657273430081157732675805505620686985379449212982959585501387537164015710139858647833778606925583497541085196591615128057575940752635007475935288710823649949940771895617054361149474865046711015101563940680527540071584560878577663743040086340742855278549092581\n\n# Using a specific modulus (in hexadecimal)\ncargo run --release -- -n 0xDEADBEEF1234567890\n\n# Starting from a specific iteration\ncargo run --release -- -i 1000000\n\n# With custom precision for verbose scientific notation output\ncargo run --release -- -p 30\n\n# Combine all options\ncargo run --release -- -n 0xC0FFEE123456789 -i 1000 -p 25\n```\n\nYou can mix and match the flags:\n\n| Short Flag | Long Flag   | Description                                             |\n|------------|-------------|---------------------------------------------------------|\n| `-n`       | `--mod`     | The modulus `n` to factor.                              |\n| `-i`       | `--iter`    | Starting iteration point for the factorization.         |\n| `-p`       | `--prec`    | Precision for verbose scientific notation output.       |\n| `-h`       | `--help`    | Show the help message and exit.                         |\n| `-v`       | `--version` | Show the version number and exit.                       |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhrankan-chakrabarti%2Fdiffsquare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhrankan-chakrabarti%2Fdiffsquare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhrankan-chakrabarti%2Fdiffsquare/lists"}