An open API service indexing awesome lists of open source software.

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.

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

---

![Banner Zet-cipher](src/images/zet-cipher.png "Banner Zet-cipher")

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