Giter Site home page Giter Site logo

hadipourh / autoguess Goto Github PK

View Code? Open in Web Editor NEW
27.0 2.0 4.0 24.72 MB

An easy-to-use, general and open-source tool to search for guess-and-determine attacks and key bridges

Home Page: https://hadipourh.github.io/autoguess

License: MIT License

Python 99.08% Dockerfile 0.92%
blockcipher guess-and-determine sat-solver-application cryptanalysis cryptography constraint-programming groebner-basis key-bridging stream-ciphers python3

autoguess's Introduction


autoguess's People

Contributors

hadipourh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

autoguess's Issues

Implication definition not clear

Hi I am using your tool to determine a calculation flow.

my input has some algebraic relations.

The output I get shows the determination flows in the following format.

X1, X25 in implication relation [X1, X25 => TGOX118] are known: X1, X25 ===> TGOX118

Now I don't understand what this implication relation is? does this mean TGOX118 = X1*X25?

what about the flow

X13, X21, X29, X37 in implication relation [X13, X21, X29, X37 => TGOX5142231] are known: X13, X21, X29, X37 ===> TGOX5142231?

also I need only the output file and not the graph. so how to stop the program after generating the output file only?

Executing problem with SMT, MILP and SAT

Dear Author,

I have installed the tools using method 3, while executing the SMT, MILP and SAT command i am getting errors. I tried without sudo command

python3 autoguess.py --inputfile ciphers/Example1/relationfile.txt --solver smt --maxguess 2 --maxsteps 5

/home/.local/lib/python3.10/site-packages/pysmt/smtlib/parser/init.py:83: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
import imp
Traceback (most recent call last):
File "/home/tools/autoguess/autoguess.py", line 211, in
main()
File "/home/tools/autoguess/autoguess.py", line 208, in main
startsearch(params)
File "/home/tools/autoguess/autoguess.py", line 28, in startsearch
search.search_using_smt(tool_parameters)
File "/home/tools/autoguess/core/search.py", line 98, in search_using_smt
from core.gdsmt import ReduceGDtoSMT
File "/home/tools/autoguess/core/gdsmt.py", line 12, in
from pysmt.shortcuts import TRUE, Symbol, BVAdd, BVAnd, BVOr, BVMul, BVULE, BVZExt, Solver, types, BV, Equals, write_smtlib
File "/home/kavya/.local/lib/python3.10/site-packages/pysmt/shortcuts.py", line 38, in
import pysmt.smtlib.parser
File "/home/kavya/.local/lib/python3.10/site-packages/pysmt/smtlib/parser/init.py", line 91, in
so_path = pyximport.build_module(name, path,
AttributeError: module 'pyximport' has no attribute 'build_module'
/home/.local/lib/python3.10/site-packages/pysmt/smtlib/parser/init.py:83: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
import imp
Traceback (most recent call last):
File "/home/tools/autoguess/autoguess.py", line 211, in
main()
File "/home/tools/autoguess/autoguess.py", line 208, in main
startsearch(params)
File "/home/tools/autoguess/autoguess.py", line 28, in startsearch
search.search_using_smt(tool_parameters)
File "/home/tools/autoguess/core/search.py", line 98, in search_using_smt
from core.gdsmt import ReduceGDtoSMT
File "/home/tools/autoguess/core/gdsmt.py", line 12, in
from pysmt.shortcuts import TRUE, Symbol, BVAdd, BVAnd, BVOr, BVMul, BVULE, BVZExt, Solver, types, BV, Equals, write_smtlib
File "/home/kavya/.local/lib/python3.10/site-packages/pysmt/shortcuts.py", line 38, in
import pysmt.smtlib.parser
File "/home/kavya/.local/lib/python3.10/site-packages/pysmt/smtlib/parser/init.py", line 91, in
so_path = pyximport.build_module(name, path,
AttributeError: module 'pyximport' has no attribute 'build_module

with sudo command

sudo python3 autoguess.py --inputfile ciphers/Example1/relationfile.txt --solver smt --maxguess 2 --maxsteps 5
Traceback (most recent call last):
File "/home/tools/autoguess/autoguess.py", line 211, in
main()
File "/home/tools/autoguess/autoguess.py", line 208, in main
startsearch(params)
File "/home/tools/autoguess/autoguess.py", line 28, in startsearch
search.search_using_smt(tool_parameters)
File "/home/tools/autoguess/core/search.py", line 98, in search_using_smt
from core.gdsmt import ReduceGDtoSMT
File "/home/tools/autoguess/core/gdsmt.py", line 12, in
from pysmt.shortcuts import TRUE, Symbol, BVAdd, BVAnd, BVOr, BVMul, BVULE, BVZExt, Solver, types, BV, Equals, write_smtlib
ModuleNotFoundError: No module named 'pysmt'

autoguess-tool install problem

Dear author.
I don't know if it's my problem.
I followed the instructions you gave to install the program. But two commands from your tool are not executed. I have attached the results of running these commands for you.
error.txt

Best wishes to you!

Unspecified output

Hello Mr. Hadipour,
The output of some commands does not match your README.md file.
For example 4, which uses algebraic relations, when I execute the commands, the output is not the same as your output. For example, I have attached the output of the command for you.
algeb_relation.txt

Thank you in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.