https://github.com/anonputraid/zetcipher
Lightweight and secure text encryption tool built for developers and security enthusiasts.
https://github.com/anonputraid/zetcipher
cryptography data-encryption encryption security
Last synced: 3 months ago
JSON representation
Lightweight and secure text encryption tool built for developers and security enthusiasts.
- Host: GitHub
- URL: https://github.com/anonputraid/zetcipher
- Owner: anonputraid
- License: apache-2.0
- Created: 2025-10-31T07:38:29.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-10-31T07:50:49.000Z (5 months ago)
- Last Synced: 2025-10-31T09:30:17.924Z (5 months ago)
- Topics: cryptography, data-encryption, encryption, security
- Language: PHP
- Homepage: https://zetcipher.getbitlab.com
- Size: 2.49 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README
# ZETCIPHER — Paradigma Baru Kriptografi Dinamis
> **Cryptography for Secure Token and Verification**
**📧 Author:** anonputraid
**Created:** 14/10/2025
**Version:** v1.0
---

ZetCipher adalah **framework keamanan open‑source** yang memperkenalkan paradigma baru dalam dunia kriptografi: **Dynamic Per‑User Algorithm Cryptography**, yaitu kriptografi di mana **setiap user dan setiap project memiliki algoritma unik** yang tidak dapat diterapkan pada sistem lain.
Berbeda dengan kriptografi tradisional (AES, RSA, SHA) yang bersifat **statis dan universal**, ZetCipher menempatkan keamanan pada **variabilitas**, **keunikan**, dan **konteks mental pengguna**, sehingga dua sistem bahkan dengan input yang sama dapat menghasilkan token yang sama sekali berbeda.
## 👉 **Try it online:** [https://zetcipher.getbitlab.com](https://zetcipher.getbitlab.com)
# 🔭 1. Pendahuluan: Masalah Kriptografi Statis
Selama puluhan tahun, kriptografi modern dibangun di atas prinsip:
> *Algoritma harus bersifat publik dan universal, sementara hanya kunci yang disembunyikan.*
Model ini sangat kuat di era komputer klasik, tetapi memiliki **masalah mendasar**:
1. **Algoritma bersifat tetap** ❌
2. **Semua project di dunia memakai algoritma yang sama** ❌
3. **Jika quantum‑computer matang, algoritma universal runtuh secara serentak** ❌
4. **Hash deterministik selalu menghasilkan output yang sama** ❌
Konsekuensinya:
* Jika database berisi 1 juta hash password dicuri, penyerang bisa melakukan serangan di komputer lain menggunakan algoritma yang sama.
* Jika suatu hari quantum cracking menjadi stabil, seluruh dunia runtuh sekaligus.
ZetCipher diciptakan untuk menjawab masalah fundamental ini.
---
# 🌌 2. Paradigma Baru — Dynamic Per‑User Algorithm
ZetCipher tidak bekerja seperti AES/RSA/SHA.
**Perbedaan utama:**
| Konsep | Kriptografi Klasik | ZetCipher |
| ------------------------ | ------------------------------ | ---------------------------------------------- |
| Algoritma | Statis, universal | Berubah per user & per project |
| Determinisme | Input sama → output sama | Input sama → output berbeda tergantung konteks |
| Keamanan | Pada kunci | Pada struktur + identitas pengguna |
| Ketahanan serangan massa | Rentan | Tidak rentan (tiap project unik) |
| Relasi antar sistem | Hash bisa diuji di sistem lain | Tidak bisa ditest silang |
ZetCipher memecahkan masalah determinisme dengan menciptakan **Secret Universe**, yakni dunia matematika unik yang terbentuk dari:
* **planet** (template algoritma)
* **coordinate** (arah rotasi cipher)
* **passport** (urutan ekspansi algoritma)
* **passphrase** (kunci manual user)
Hasil akhirnya adalah **algoritma unik**, tidak pernah sama antara user A dan user B.
> *“Jika kriptografi klasik adalah gembok pabrik, ZetCipher adalah gembok buatan tangan yang hanya pembuatnya yang paham mekanismenya.”*
---
# 🧠 3. Filosofi: Security Derived From the Mind
ZetCipher muncul dari prinsip sederhana:
> *Angka 100 tidak pernah netral — maknanya tergantung bagaimana ia dibuat: 50+50, 200-100, 10×10, dll.*
Jika proses pembentukannya tidak diketahui, angka itu tidak bermakna.
ZetCipher mengadopsi ide ini dan menerapkannya pada kriptografi.
Yang aman bukan hanya hasil akhirnya (token), melainkan **proses mental dan kontekstual** yang melahirkan token tersebut.
---
# 🧩 4. Secret Universe Architecture
Setiap encoding adalah hasil dari beberapa lapisan:
* Rotasi alfabet berdasarkan planet
* Perpindahan indeks berdasarkan coordinate
* Permutasi kompleks berdasarkan passport
* Penguncian manual memakai passphrase
* Penyesuaian angka berdasarkan konfigurasi environment
Itu sebabnya:
* Hash dari project A **tidak berlaku** di project B.
* Hash dari user X **tidak bisa digunakan** untuk user Y.
* Bahkan jika `.env` bocor, cipher internal pengguna tetap tidak dapat direkonstruksi.
Dengan demikian, **ZetCipher kebal terhadap serangan mass‑bruteforce**.
---
## 🔐 **5. The Silent Void: Mengapa Quantum Attack Menemui Jalan Buntu**
Quantum-computer (seperti Algoritma Grover) bekerja dengan cara memperbesar probabilitas jawaban yang *benar* melalui fungsi Oracle `f(x) = 1`.
Namun, **ZetCipher** memperkenalkan konsep pertahanan **"The Missing Oracle"** atau *Ketiadaan Verifikasi*.
### **1. Jalan Tanpa Arah (Lack of Verifiability)**
Serangan Brute Force (Klasik maupun Quantum) bergantung pada feedback: **Benar** atau **Salah**.
Pada ZetCipher, karena struktur algoritma terikat konteks unik (**Planet & Passport**) yang tidak diketahui penyerang, maka:
- Jika penyerang mencoba mendekripsi token `88273...` dengan tebakan Planet A, hasilnya adalah angka acak `5521....`
- Penyerang **tidak memiliki cara untuk memverifikasi** apakah `5521...` adalah data asli atau hanya sampah matematika.
- Tidak ada sinyal **"True"** atau **"False"**.
### **2. Kebuntuan Kuantum (Quantum Deadlock)**
Untuk memecahkan kode, komputer kuantum membutuhkan target fungsi yang jelas.
Karena ZetCipher menghasilkan output numerik yang *tampak valid* dalam segala kondisi dekripsi (meski isinya salah), komputer kuantum akan:
➡️ **Terjebak dalam superposisi tanpa akhir.**
> *"ZetCipher membuat jalan tanpa arah, buntu, dan tanpa ujung.
> Penyerang tidak bisa melakukan trial true/false karena mereka tidak tahu apa yang sedang mereka cari."*
ZetCipher menjadi **Information Theoretic Secure** dalam konteks tertutup,
di mana **entropi ketidakpastian tetap maksimal** bagi pihak luar.
---
# 🧬 ZetCipher: Context-Bound Security & Quantum-Resistant by Design
ZetCipher bukanlah algoritma matematika rumit.
Strukturnya bahkan tampak sederhana — seperti matematika anak SD.
Namun kekuatannya tidak berada pada angka, melainkan pada **konteks**.
Di dunia kriptografi modern:
> **Konteks yang tidak dapat direplikasi jauh lebih kuat daripada angka yang tidak dapat dihitung.**
Dokumentasi ini menjelaskan fondasi unik ZetCipher yang membuatnya:
- Tidak bisa di-crack menggunakan brute force klasik
- Tidak bisa diserang oleh komputer kuantum (Grover Deadlock)
- Tidak bisa dibawa pulang untuk di-crack offline
- Tidak bergantung pada oracle benar/salah
- Tidak dapat dipahami tanpa environment aplikasi
---
## 🔐 The Missing Oracle: Mengapa Quantum Attack Tidak Mampu Menemukan “True State”
Quantum computer (seperti Algoritma Grover) membutuhkan sebuah **oracle**:
> Fungsi yang memberi jawaban:
> **Benar (1)** atau **Salah (0)**.
Namun ZetCipher memperkenalkan pertahanan baru:
> **The Missing Oracle**
> Tidak ada sinyal *True/False* untuk penyerang.
Tanpa oracle, quantum attack masuk ke kondisi **Quantum Deadlock**:
- Tidak ada arah
- Tidak ada probabilitas yang bisa diperbesar
- Tidak ada jawaban “yang benar”
Superposisi hanya berputar tanpa konvergensi.
---
# Analogi Daun Abu-Abu (Filosofi Makna Tersembunyi)
Semua orang tahu daun itu warna hijau.
Tapi bayangkan saya menggambar daun **abu-abu**.
Orang lain bertanya:
> “Kenapa daunmu warna abu-abu?”
Saya mungkin menjawab:
- karena kenangan pribadi,
- karena emosi tertentu,
- atau karena pengalaman yang hanya saya yang tahu.
Bahkan jika Anda mengambil otak saya,
**makna daun abu-abu itu tetap hanya saya yang mengerti.**
Hasilnya terlihat.
Warnanya terlihat.
Tetapi maknanya tersembunyi.
ZetCipher menghasilkan angka.
Angka itu terlihat.
Namun maknanya:
- tidak terlihat,
- tidak universal,
- tidak dapat ditebak,
- tidak dapat dipecahkan dari luar.
Karena:
> ZetCipher tidak membuat angka yang sulit.
> ZetCipher membuat **konteks** yang sulit.
---
# 🛠 Instalasi dan Setup
```bash
composer require zetcipher/zetcipher
```
### 🔑 Initialize Setup
```bash
php artisan zetcipher:key
```
### ⚙️ Configure `.env`
```php
ZETCIPHER_CIPHER=ZET/IJK
ZETCIPHER_ACCESS_KEY_ID=50454574382075219881774744823615123462103932128744
ZETCIPHER_ACCESS_KEY=ZET/88867456/zFkSyIzsaLFFi095l85xSfNmiGwwprAmWwV/7Ih0scM=
ZETCIPHER_SIGNING_SECRET=2636727
ZETCIPHER_TOKEN_LIFETIME=3600
```
### 🧠 Encode a Token
```php
$expires = now()->addMinutes(15)->getTimestamp();
$hash = ZetCipher::encode(data: $data, expires: $expires);
```
**Example Output:**
```php
8269924689234252895754188963109595788351614743579034711872120201135421543216429311624454
```
**Decode Example:**
```php
"Hello world, welcome to ZetCipher"
```
---
# 🧬 6. Keunggulan Teknis
### **1. Output Numeric‑Only**
Mudah disimpan, dikirim via URL, atau dipakai dalam sistem IoT rendah bandwidth.
### **2. Algoritma Berbasis User**
Jika user A terkena kebocoran, user B tidak terdampak.
### **3. Tidak Ada Single Point of Failure**
Tidak seperti JWT atau API keys, 1 kebocoran tidak meruntuhkan sistem.
### **4. Resistansi Terhadap Rainbow Table**
Tidak mungkin membuat rainbow table karena algoritma setiap user berbeda.
### **5. Context‑Bound Token**
Token tidak akan valid pada project lain.
---
# 🧾 7. Contoh Pemakaian
### Passphrase Encryption
```php
$token = ZetCipher::encode(
data: $request->input('data'),
expires: $expires,
passphrase: $request->input('passphrase'),
);
```
### Passphrase Decoding
```php
$decoded = ZetCipher::decode(
token: $request->input('data'),
passphrase: $request->input('passphrase'),
);
```
### End-to-End Secure Parameters
Define your own **planet**, **coordinates**, and **passport** for additional uniqueness:
```php
$token = ZetCipher::decode(
token: $request->input('data'),
passphrase: $request->input('passphrase'),
planet: $request->input('planet'),
coordinates: $request->input('coordinate'),
passport: $request->input('passport'),
);
```
---
## 🪐 Planet Codes
```php
$security_codes = [
"ZET/ACS","ZET/DEF","ZET/GHI","ZET/JKL","ZET/MNO","ZET/PQR",
"ZET/STU","ZET/VWX","ZET/YZZ","ZET/YZA","ZET/BCD","ZET/EFG",
"ZET/HIJ","ZET/KLM","ZET/NOP","ZET/QRS","ZET/TUV","ZET/WXY",
"ZET/ZAB","ZET/CDE","ZET/FGH","ZET/IJK","ZET/LMN","ZET/OPQ",
"ZET/RST","ZET/UVW","ZET/XYZ","ZET/GHJ","ZET/ZAA","ZET/QRT",
"ZET/STV","ZET/WXZ","ZET/YZB","ZET/BDE","ZET/FGI","ZET/HJL",
"ZET/KMO","ZET/NPQ","ZET/RSU","ZET/TVW","ZET/WYa","ZET/YAB",
"ZET/CDF","ZET/EGH","ZET/HIK","ZET/JLM","ZET/NPR","ZET/QST",
"ZET/UVX","ZET/WYZ","ZET/ZAC","ZET/BCE","ZET/DFG","ZET/GIJ",
"ZET/HKL","ZET/JMN","ZET/LNP","ZET/PQS","ZET/RTU","ZET/SVW",
"ZET/UXY","ZET/ZAD","ZET/BEF","ZET/CGH","ZET/DIJ","ZET/EKL",
"ZET/FMN","ZET/GOP","ZET/HQR","ZET/IST","ZET/JUV","ZET/KWX",
"ZET/LYZ","ZET/MZA","ZET/NBC","ZET/ODE","ZET/PFG","ZET/QGH",
"ZET/RHI","ZET/SIJ","ZET/TKL"
];
```
---
## ✍️ Signing and Verification
### Token Sign
```php
$token = ZetCipher::sign(); // user-only token
$token = ZetCipher::sign(passphrase: $request->input("pin"));
```
### Handshake Between Users
```php
$token = ZetCipher::handshake(id: $request->input("user_id"));
$token = ZetCipher::handshake(id: $request->input("user_id"), data: $request->input("message"));
```
### Verification
```php
$token = ZetCipher::verifyHandshake(token: $request->input("token"));
$token = ZetCipher::verifySign($request->token);
```
---
## ✅ Input Validation Example
```php
$rules = [
'data' => ['required','string','regex:/^[A-Za-z0-9\-]+$/'],
'coordinate' => ['required','regex:/^\d+$/','integer','min:1'],
'passport' => ['required','integer','min:1','max:3628800'],
'passphrase' => ['nullable','string'],
'planet' => ['nullable','string'],
];
$messages = [
'data.required' => 'Data field is required.',
'data.regex' => 'Data can only contain letters, numbers, and dashes.',
'coordinate.required' => 'Coordinates are required.',
'coordinate.regex' => 'Coordinates must be numeric.',
'passport.required' => 'Passport field is required.',
'passport.integer' => 'Passport must be an integer.',
'passport.max' => 'Passport cannot exceed 3,628,800.',
];
```
---
# 🧪 8. Undangan Pengujian Keamanan
ZetCipher terbuka untuk diuji dan dikembangkan komunitas demi memperkuat fondasi keamanan.
Format pelaporan:
```
Subject: [ZETCIPHER][VULN]
1) Summary of the finding
2) Steps to reproduce
3) Severity
4) Proof of concept
5) Suggested mitigation (optional)
```
---
# 🧠 9. Penutup: Kriptografi Sebagai Ekspresi Pikiran
> *“Sebuah goresan di batu mungkin tak bermakna bagi dunia, tetapi hanya penciptanya yang memahami kosmos di baliknya.”*
ZetCipher mengembalikan kriptografi ke hakikat awalnya: **seni menyembunyikan makna**, bukan sekadar kekuatan brute‑force.
Ini adalah langkah menuju masa depan di mana keamanan bukan lagi statis, tetapi **unik seperti sidik jari penciptanya**.
---
**📌 License:** Apache-2.0
**📧 Author:** anonputraid