-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Add Playfair #514
base: master
Are you sure you want to change the base?
WIP: Add Playfair #514
Conversation
7e78cd8
to
7452fd3
Compare
Replaced the C++ implementation with a Python one. It seems a bit slower as expected though the decryption function still appears to be churning through ~8K rounds a second. Known Issues
|
Hey we're changing from MIT to GPLv3 because some of our projects are licensed with that, do you approve? If you do not approve we will be forced to delete your code and rewrite it 😢 By approving of this change, you are agreeing to re-license the code you wrote under GPLv3. |
Hi! Yes, I approve of this code being re-licensed under GPLv3. If possible I will try to finish this contribution based off of the last MIT version of Ciphey, so that anyone may use it under those terms as well. And then I will write patches so it can be merged to master. 😄 |
2dfff45
to
fa96de5
Compare
fa96de5
to
45f5165
Compare
Did this end up working or no? I thought that it wasn't complete but I can't remember. |
No, it is not working currently. I can't get the algorithm to converge on the right key. The optimization algorithm as it is now finds a "good" solution to the cost function. However the cost function never has the key on a local-minima (or maxima) so it is never found. Please let me know if you think of anything that could make this work. I'm stumped. |
Try using a regular hill climbing algorithm instead of a threshold acceptance algorithm as it's simpler. I'm guessing you messed something up with the implementation. |
Close but not quite cracking yet. Think the issue lies around plaintext scoring.
Ended up using a Threshold Acceptance algorithm in this implementation (random-restart hill-climbing did not seem very effective as the search space is so huge.)
C++ code for the cracker so far is here. At least the C++ is running quickly (>100K attempts in 5 seconds.)