Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🔮 MindCipher: Chinese Remainder Theorem Visualizer

MindCipher is a graphical application that demonstrates the power of the Chinese Remainder Theorem (CRT) through an interactive "mind-reading" game.

The application works by collecting modular remainders from the user without them realizing they are solving a system of congruences.

🧮 The Mathematics Behind It

The core logic is based on solving a system of simultaneous congruences for a number $x$ (where $0 \le x < 105$):

$$ \begin{align*} x &\equiv a \pmod{3} \\ x &\equiv b \pmod{5} \\ x &\equiv c \pmod{7} \end{align*} $$

Using the constructive method of the Chinese Remainder Theorem, the application calculates the exact number using the formula:

$$x = (70a + 21b + 15c) \pmod{105}$$

Where:

  • 70: Multiplicative inverse mapped for mod 3 ($70 \equiv 1 \pmod 3$)
  • 21: Multiplicative inverse mapped for mod 5 ($21 \equiv 1 \pmod 5$)
  • 15: Multiplicative inverse mapped for mod 7 ($15 \equiv 1 \pmod 7$)

🚀 Features

  • Clean UI: Built with customtkinter for a modern, dark-themed aesthetic.
  • Algorithm Visualization: Turns abstract modular arithmetic into a visual selection process.
  • Optimized UX: Simple grid selection system instead of manual input.

🛠️ Installation & Usage

MindCipher is cross-platform and works on Windows, macOS, and Linux.

🪟 For Windows Users

  1. Go to the Releases page on the right sidebar.
  2. Download the latest MindCipher.exe.
  3. Double-click to run. (No Python installation needed).

🍎 🐧 For macOS & Linux Users

Since this is a Python application, you can run it directly from the source code.

Prerequisites:

  • Python 3.10 or higher installed.

Steps:

  1. Clone the repository:
    git clone https://github.com/Gorkem-Taha/MindCipher.git
    cd MindCipher

📜 License

This project is licensed under the MIT License.
Developed by Görkem Taha

Releases

Packages

Contributors

Languages