Wednesday, July 8, 2026

Fiber optics propagation stimulation and distribution brute force cluster in our time AES 256 decryption attempt




 <!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Fiber Optics & Distributed Brute-Force Simulation</title>

<style>

  body { font-family: Arial; padding: 20px; }

  .box { border: 1px solid #ccc; padding: 15px; margin-bottom: 20px; }

</style>

</head>

<body>


<h2>Fiber Optics Propagation & Distributed Brute-Force Simulation</h2>


<div class="box">

  <h3>Fiber Optic Parameters</h3>

  <label>Ocean Cable Length (km):</label>

  <input type="number" id="cableLength" value="8000"><br><br>


  <label>Cluster Nodes:</label>

  <input type="number" id="nodes" value="1000"><br><br>


  <label>Keys per Second per Node:</label>

  <input type="number" id="kps" value="1000000000"><br><br>


  <button onclick="simulate()">Simulate</button>

</div>


<div class="box">

  <h3>Results</h3>

  <p id="latency"></p>

  <p id="clusterSpeed"></p>

  <p id="aesTime"></p>

</div>


<script>

// Speed of light in fiber (approx)

const FIBER_SPEED = 200000; // km per second


// AES-256 keyspace

const AES256_KEYS = BigInt("115792089237316195423570985008687907853269984665640564039457584007913129639936");


// Format big numbers

function formatBig(n) {

    return n.toLocaleString("en-US");

}


function simulate() {

    let cableLength = parseFloat(document.getElementById("cableLength").value);

    let nodes = parseFloat(document.getElementById("nodes").value);

    let kps = parseFloat(document.getElementById("kps").value);


    // Fiber latency (one-way)

    let latencySeconds = cableLength / FIBER_SPEED;


    // Cluster brute-force speed

    let clusterSpeed = nodes * kps;


    // Time to brute-force AES-256 (worst-case)

    let clusterSpeedBig = BigInt(clusterSpeed);

    let secondsToCrack = AES256_KEYS / clusterSpeedBig;


    // Convert to years

    let years = Number(secondsToCrack) / (60 * 60 * 24 * 365);


    document.getElementById("latency").innerHTML =

        "Fiber Latency (one-way): " + latencySeconds.toFixed(4) + " seconds";


    document.getElementById("clusterSpeed").innerHTML =

        "Cluster Speed: " + formatBig(clusterSpeed) + " keys/second";


    document.getElementById("aesTime").innerHTML =

        "Estimated Time to Brute-Force AES-256: " + years.toExponential(4) + " years";

}

</script>


</body>

</html>

AES 256 ( Grover's algorithms) decryption assumptions quantum machine need more 15.248 days in the future speed












import math

# -----------------------------
# 1. Core parameters
# -----------------------------

AES256_LOGICAL_QUBITS = 6500          # literature midpoint
GROVER_ITERATIONS = 2**128            # Grover complexity for AES-256
T_GATE_DEPTH_PER_AES = 20000          # approximate reversible AES depth
SURFACE_CODE_OVERHEAD = 1000          # physical/logical qubit ratio
TARGET_RUNTIME_SECONDS = 365 * 24 * 3600  # 1 year

# -----------------------------
# 2. Physical qubit model
# -----------------------------

def physical_qubits(logical_qubits=AES256_LOGICAL_QUBITS,
                    overhead=SURFACE_CODE_OVERHEAD):
    return logical_qubits * overhead

# -----------------------------
# 3. Parallel Grover model
# -----------------------------

def required_parallel_instances(target_runtime_seconds=TARGET_RUNTIME_SECONDS,
                                grover_iterations=GROVER_ITERATIONS,
                                gate_time=1e-6):
    """
    gate_time = logical gate time (1 microsecond default)
    """
    iterations_per_second = 1 / gate_time
    required = grover_iterations / (iterations_per_second * target_runtime_seconds)
    return math.ceil(required)

# -----------------------------
# 4. Total physical qubits
# -----------------------------

def total_physical_qubits(parallel_instances,
                          logical_qubits=AES256_LOGICAL_QUBITS,
                          overhead=SURFACE_CODE_OVERHEAD):
    return parallel_instances * physical_qubits(logical_qubits, overhead)

# -----------------------------
# 5. Full simulation wrapper
# -----------------------------

def simulate(target_runtime_seconds=TARGET_RUNTIME_SECONDS,
             logical_qubits=AES256_LOGICAL_QUBITS,
             overhead=SURFACE_CODE_OVERHEAD,
             gate_time=1e-6):

    P = required_parallel_instances(target_runtime_seconds,
                                    GROVER_ITERATIONS,
                                    gate_time)

    total = total_physical_qubits(P, logical_qubits, overhead)

    return {
        "logical_qubits_per_instance": logical_qubits,
        "physical_qubits_per_instance": physical_qubits(logical_qubits, overhead),
        "parallel_instances_required": P,
        "total_physical_qubits_required": total
    }

# -----------------------------
# 6. Run the simulation
# -----------------------------

result = simulate()

for k, v in result.items():
    print(f"{k}: {v}")



# ============================================================
# AES‑256 Grover Resource Estimation Notebook
# ============================================================

import math
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact, FloatSlider, IntSlider, Dropdown

# ------------------------------------------------------------
# 1. Core constants from literature
# ------------------------------------------------------------

AES256_LOGICAL_QUBITS = 6500          # midpoint from Grassl et al.
GROVER_ITERATIONS = 2**128            # Grover complexity for AES-256
DEFAULT_SURFACE_CODE_OVERHEAD = 1000  # physical/logical qubit ratio
DEFAULT_GATE_TIME = 1e-6              # 1 microsecond logical gate
SECONDS_PER_YEAR = 365 * 24 * 3600

# ------------------------------------------------------------
# 2. Physical qubit model
# ------------------------------------------------------------

def physical_qubits(logical_qubits, overhead):
    return logical_qubits * overhead

# ------------------------------------------------------------
# 3. Parallel Grover model
# ------------------------------------------------------------

def required_parallel_instances(target_runtime_seconds,
                                grover_iterations,
                                gate_time):
    iterations_per_second = 1 / gate_time
    required = grover_iterations / (iterations_per_second * target_runtime_seconds)
    return math.ceil(required)

# ------------------------------------------------------------
# 4. Total physical qubits
# ------------------------------------------------------------

def total_physical_qubits(parallel_instances,
                          logical_qubits,
                          overhead):
    return parallel_instances * physical_qubits(logical_qubits, overhead)

# ------------------------------------------------------------
# 5. Simulation wrapper
# ------------------------------------------------------------

def simulate(target_runtime_seconds,
             logical_qubits,
             overhead,
             gate_time):

    P = required_parallel_instances(target_runtime_seconds,
                                    GROVER_ITERATIONS,
                                    gate_time)

    total = total_physical_qubits(P, logical_qubits, overhead)

    return {
        "logical_qubits_per_instance": logical_qubits,
        "physical_qubits_per_instance": physical_qubits(logical_qubits, overhead),
        "parallel_instances_required": P,
        "total_physical_qubits_required": total
    }

# ------------------------------------------------------------
# 6. Interactive exploration
# ------------------------------------------------------------

def interactive_simulation(logical_qubits=AES256_LOGICAL_QUBITS,
                           overhead=DEFAULT_SURFACE_CODE_OVERHEAD,
                           gate_time=DEFAULT_GATE_TIME,
                           runtime_years=1):

    target_runtime_seconds = runtime_years * SECONDS_PER_YEAR
    result = simulate(target_runtime_seconds, logical_qubits, overhead, gate_time)

    print("=== AES‑256 Grover Resource Estimate ===")
    print(f"Logical qubits per instance: {result['logical_qubits_per_instance']:,}")
    print(f"Physical qubits per instance: {result['physical_qubits_per_instance']:,}")
    print(f"Parallel Grover instances required: {result['parallel_instances_required']:,}")
    print(f"Total physical qubits required: {result['total_physical_qubits_required']:,}")

    # Plot scaling
    plt.figure(figsize=(10,6))
    plt.title("Total Physical Qubits vs Runtime Target")
    runtimes = np.logspace(2, 7, 100)  # seconds
    totals = [
        total_physical_qubits(
            required_parallel_instances(rt, GROVER_ITERATIONS, gate_time),
            logical_qubits,
            overhead
        )
        for rt in runtimes
    ]
    plt.loglog(runtimes, totals)
    plt.xlabel("Runtime target (seconds)")
    plt.ylabel("Total physical qubits")
    plt.grid(True, which="both")
    plt.show()


# ------------------------------------------------------------
# 7. Launch interactive widget
# ------------------------------------------------------------

interact(
    interactive_simulation,
    logical_qubits=IntSlider(value=AES256_LOGICAL_QUBITS, min=2000, max=12000, step=500),
    overhead=IntSlider(value=DEFAULT_SURFACE_CODE_OVERHEAD, min=100, max=5000, step=100),
    gate_time=FloatSlider(value=DEFAULT_GATE_TIME, min=1e-9, max=1e-5, step=1e-9),
    runtime_years=FloatSlider(value=1, min=0.01, max=10, step=0.01)
)




# ============================================================
# AES‑256 Grover Resource Estimation Notebook
# ============================================================

import math
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact, FloatSlider, IntSlider, Dropdown

# ------------------------------------------------------------
# 1. Core constants from literature
# ------------------------------------------------------------

AES256_LOGICAL_QUBITS = 6500          # midpoint from Grassl et al.
GROVER_ITERATIONS = 2**128            # Grover complexity for AES-256
DEFAULT_SURFACE_CODE_OVERHEAD = 1000  # physical/logical qubit ratio
DEFAULT_GATE_TIME = 1e-6              # 1 microsecond logical gate
SECONDS_PER_YEAR = 365 * 24 * 3600

# ------------------------------------------------------------
# 2. Physical qubit model
# ------------------------------------------------------------

def physical_qubits(logical_qubits, overhead):
    return logical_qubits * overhead

# ------------------------------------------------------------
# 3. Parallel Grover model
# ------------------------------------------------------------

def required_parallel_instances(target_runtime_seconds,
                                grover_iterations,
                                gate_time):
    iterations_per_second = 1 / gate_time
    required = grover_iterations / (iterations_per_second * target_runtime_seconds)
    return math.ceil(required)

# ------------------------------------------------------------
# 4. Total physical qubits
# ------------------------------------------------------------

def total_physical_qubits(parallel_instances,
                          logical_qubits,
                          overhead):
    return parallel_instances * physical_qubits(logical_qubits, overhead)

# ------------------------------------------------------------
# 5. Simulation wrapper
# ------------------------------------------------------------

def simulate(target_runtime_seconds,
             logical_qubits,
             overhead,
             gate_time):

    P = required_parallel_instances(target_runtime_seconds,
                                    GROVER_ITERATIONS,
                                    gate_time)

    total = total_physical_qubits(P, logical_qubits, overhead)

    return {
        "logical_qubits_per_instance": logical_qubits,
        "physical_qubits_per_instance": physical_qubits(logical_qubits, overhead),
        "parallel_instances_required": P,
        "total_physical_qubits_required": total
    }

# ------------------------------------------------------------
# 6. Interactive exploration
# ------------------------------------------------------------

def interactive_simulation(logical_qubits=AES256_LOGICAL_QUBITS,
                           overhead=DEFAULT_SURFACE_CODE_OVERHEAD,
                           gate_time=DEFAULT_GATE_TIME,
                           runtime_years=1):

    target_runtime_seconds = runtime_years * SECONDS_PER_YEAR
    result = simulate(target_runtime_seconds, logical_qubits, overhead, gate_time)

    print("=== AES‑256 Grover Resource Estimate ===")
    print(f"Logical qubits per instance: {result['logical_qubits_per_instance']:,}")
    print(f"Physical qubits per instance: {result['physical_qubits_per_instance']:,}")
    print(f"Parallel Grover instances required: {result['parallel_instances_required']:,}")
    print(f"Total physical qubits required: {result['total_physical_qubits_required']:,}")

    # Plot scaling
    plt.figure(figsize=(10,6))
    plt.title("Total Physical Qubits vs Runtime Target")
    runtimes = np.logspace(2, 7, 100)  # seconds
    totals = [
        total_physical_qubits(
            required_parallel_instances(rt, GROVER_ITERATIONS, gate_time),
            logical_qubits,
            overhead
        )
        for rt in runtimes
    ]
    plt.loglog(runtimes, totals)
    plt.xlabel("Runtime target (seconds)")
    plt.ylabel("Total physical qubits")
    plt.grid(True, which="both")
    plt.show()


# ------------------------------------------------------------
# 7. Launch interactive widget
# ------------------------------------------------------------

interact(
    interactive_simulation,
    logical_qubits=IntSlider(value=AES256_LOGICAL_QUBITS, min=2000, max=12000, step=500),
    overhead=IntSlider(value=DEFAULT_SURFACE_CODE_OVERHEAD, min=100, max=5000, step=100),
    gate_time=FloatSlider(value=DEFAULT_GATE_TIME, min=1e-9, max=1e-5, step=1e-9),
    runtime_years=FloatSlider(value=1, min=0.01, max=10, step=0.01)
)








import math

# ============================================================
# MACHINE PARAMETERS
# ============================================================

PHYSICAL_QUBITS_TOTAL = 100_000_000_000   # 100 billion
SURFACE_CODE_OVERHEAD = 1000              # physical/logical qubits
LOGICAL_QUBITS = PHYSICAL_QUBITS_TOTAL // SURFACE_CODE_OVERHEAD

# AES-256 Grover parameters
AES256_LOGICAL_QUBITS_REQUIRED = 6500
GROVER_ITERATIONS = 2**128
GATE_TIME = 1e-6  # 1 microsecond logical gate

# ============================================================
# CALCULATE PARALLEL GROVER INSTANCES
# ============================================================

def parallel_instances_available(total_logical, per_instance):
    return total_logical // per_instance

P = parallel_instances_available(LOGICAL_QUBITS, AES256_LOGICAL_QUBITS_REQUIRED)

# ============================================================
# RUNTIME ESTIMATION
# ============================================================

def grover_runtime_seconds(iterations, gate_time, parallel_instances):
    return iterations * gate_time / parallel_instances

runtime_seconds = grover_runtime_seconds(GROVER_ITERATIONS, GATE_TIME, P)

# ============================================================
# OUTPUT RESULTS
# ============================================================

print("=== 100 BILLION PHYSICAL QUBIT MACHINE SIMULATION ===")
print(f"Total physical qubits: {PHYSICAL_QUBITS_TOTAL:,}")
print(f"Surface-code overhead: {SURFACE_CODE_OVERHEAD}")
print(f"Logical qubits available: {LOGICAL_QUBITS:,}")
print(f"Logical qubits needed per AES-256 Grover instance: {AES256_LOGICAL_QUBITS_REQUIRED:,}")
print(f"Parallel Grover instances possible: {P:,}")
print()
print(f"Grover iterations required for AES-256: 2^128 ≈ {GROVER_ITERATIONS:.3e}")
print(f"Logical gate time: {GATE_TIME} seconds")
print()
print(f"Estimated runtime with 100 billion physical qubits: {runtime_seconds:.3e} seconds")

years = runtime_seconds / (365*24*3600)
print(f"Runtime in years: {years:.3e} years")


Iris recognition biometric hack restore encrypted plane image to original html tool decryption 2




 

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Chaotic Iris Encryption Demo (Option A)</title>

<style>

  body { font-family: Arial; padding: 20px; }

  canvas { border: 1px solid #ccc; margin: 10px; }

  img { max-width: 300px; }

</style>

</head>

<body>


<h2>Chaotic Iris Encryption Demo (Pure JavaScript)</h2>


<input type="file" id="upload" accept="image/*"><br><br>


<label>Noise Amount: <span id="noiseVal">0</span></label><br>

<input type="range" id="noiseSlider" min="0" max="50" value="0"><br><br>


<button id="encryptBtn">Encrypt</button>

<button id="decryptBtn">Decrypt</button>

<button id="downloadEnc">Download Encrypted</button>

<button id="downloadDec">Download Decrypted</button>


<h3>Original</h3>

<canvas id="originalCanvas"></canvas>


<h3>Noisy</h3>

<canvas id="noisyCanvas"></canvas>


<h3>Encrypted</h3>

<canvas id="encryptedCanvas"></canvas>


<h3>Decrypted</h3>

<canvas id="decryptedCanvas"></canvas>


<script>

// ---------------------------

// Utility: Add noise

// ---------------------------

function addNoise(pixels, amount) {

    let noisy = new Uint8ClampedArray(pixels.length);

    for (let i = 0; i < pixels.length; i++) {

        let n = pixels[i] + (Math.random() * amount - amount/2);

        noisy[i] = Math.max(0, Math.min(255, n));

    }

    return noisy;

}


// ---------------------------

// 3D Chaotic Map Generator

// ---------------------------

function chaotic3D(a, b, c, x0, y0, z0, size) {

    let seq = new Array(size);

    let x = x0, y = y0, z = z0;


    for (let i = 0; i < size; i++) {

        x = a * x * (1 - x) + y;

        y = b * y * (1 - y) + z;

        z = c * z * (1 - z) + x;

        seq[i] = [x, y, z];

    }

    return seq;

}


// ---------------------------

// Permutation

// ---------------------------

function permute(pixels, seq) {

    let size = pixels.length;

    let idx = [...Array(size).keys()];

    idx.sort((i, j) => seq[i][0] - seq[j][0]);


    let permuted = new Uint8ClampedArray(size);

    for (let i = 0; i < size; i++) permuted[i] = pixels[idx[i]];


    return { permuted, idx };

}


// ---------------------------

// Diffusion

// ---------------------------

function diffuse(permuted, seq) {

    let size = permuted.length;

    let diffused = new Uint8ClampedArray(size);


    for (let i = 0; i < size; i++) {

        diffused[i] = (permuted[i] + seq[i][1] * 255) % 256;

    }

    return diffused;

}


// ---------------------------

// Reverse Diffusion

// ---------------------------

function undiffuse(diffused, seq) {

    let size = diffused.length;

    let undiff = new Uint8ClampedArray(size);


    for (let i = 0; i < size; i++) {

        undiff[i] = (diffused[i] - seq[i][1] * 255 + 256) % 256;

    }

    return undiff;

}


// ---------------------------

// Reverse Permutation

// ---------------------------

function reversePermutation(undiffused, idx) {

    let original = new Uint8ClampedArray(undiffused.length);

    for (let i = 0; i < idx.length; i++) {

        original[idx[i]] = undiffused[i];

    }

    return original;

}


// ---------------------------

// Draw pixels to canvas

// ---------------------------

function drawToCanvas(canvas, pixels, w, h) {

    let ctx = canvas.getContext("2d");

    canvas.width = w;

    canvas.height = h;

    let imgData = new ImageData(pixels, w, h);

    ctx.putImageData(imgData, 0, 0);

}


// ---------------------------

// Main Logic

// ---------------------------

let originalPixels, noisyPixels, encryptedPixels, decryptedPixels;

let width, height;

let seq, idx;


document.getElementById("noiseSlider").oninput = function() {

    document.getElementById("noiseVal").innerText = this.value;

};


document.getElementById("upload").addEventListener("change", function(e) {

    const file = e.target.files[0];

    const img = new Image();


    img.onload = function() {

        width = img.width;

        height = img.height;


        const canvas = document.getElementById("originalCanvas");

        const ctx = canvas.getContext("2d");

        canvas.width = width;

        canvas.height = height;

        ctx.drawImage(img, 0, 0);


        let data = ctx.getImageData(0, 0, width, height);

        originalPixels = data.data;


        drawToCanvas(document.getElementById("originalCanvas"), originalPixels, width, height);

    };


    img.src = URL.createObjectURL(file);

});


// ---------------------------

// Encrypt

// ---------------------------

document.getElementById("encryptBtn").onclick = function() {

    let noiseAmount = parseInt(document.getElementById("noiseSlider").value);

    noisyPixels = addNoise(originalPixels, noiseAmount);

    drawToCanvas(document.getElementById("noisyCanvas"), noisyPixels, width, height);


    seq = chaotic3D(3.99, 3.98, 3.97, 0.1, 0.2, 0.3, noisyPixels.length);


    let perm = permute(noisyPixels, seq);

    idx = perm.idx;


    encryptedPixels = diffuse(perm.permuted, seq);

    drawToCanvas(document.getElementById("encryptedCanvas"), encryptedPixels, width, height);

};


// ---------------------------

// Decrypt

// ---------------------------

document.getElementById("decryptBtn").onclick = function() {

    let undiff = undiffuse(encryptedPixels, seq);

    decryptedPixels = reversePermutation(undiff, idx);

    drawToCanvas(document.getElementById("decryptedCanvas"), decryptedPixels, width, height);

};


// ---------------------------

// Download buttons

// ---------------------------

function downloadCanvas(canvas, filename) {

    let link = document.createElement("a");

    link.download = filename;

    link.href = canvas.toDataURL();

    link.click();

}


document.getElementById("downloadEnc").onclick = () =>

    downloadCanvas(document.getElementById("encryptedCanvas"), "encrypted.png");


document.getElementById("downloadDec").onclick = () =>

    downloadCanvas(document.getElementById("decryptedCanvas"), "decrypted.png");


</script>


</body>

</html>








<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Chaotic Iris Encryption Demo (Enhanced)</title>


<!-- Bootstrap -->

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">


<!-- Plotly -->

<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>


<!-- GPU.js -->

<script src="https://cdnjs.cloudflare.com/ajax/libs/gpu.js/2.10.0/gpu.min.js"></script>


<style>

  canvas { border: 1px solid #ccc; margin: 10px; }

  .img-box { border: 1px solid #ddd; padding: 10px; margin-bottom: 20px; }

</style>

</head>

<body class="bg-light">


<div class="container py-4">


<h2 class="mb-4">Chaotic Iris Encryption Demo (Option B)</h2>


<div class="mb-3">

  <label class="form-label">Upload Image</label>

  <input type="file" id="upload" class="form-control" accept="image/*">

</div>


<div class="mb-3">

  <label class="form-label">Noise Amount: <span id="noiseVal">0</span></label>

  <input type="range" id="noiseSlider" class="form-range" min="0" max="50" value="0">

</div>


<div class="mb-3">

  <button id="encryptBtn" class="btn btn-primary">Encrypt</button>

  <button id="decryptBtn" class="btn btn-success">Decrypt</button>

  <button id="downloadEnc" class="btn btn-warning">Download Encrypted</button>

  <button id="downloadDec" class="btn btn-info">Download Decrypted</button>

</div>


<hr>


<h4>3D Chaotic Map Visualization</h4>

<div id="chaosPlot" style="width:100%;height:400px;"></div>


<hr>


<div class="row">

  <div class="col-md-6 img-box">

    <h5>Original</h5>

    <canvas id="originalCanvas"></canvas>

  </div>


  <div class="col-md-6 img-box">

    <h5>Denoised</h5>

    <canvas id="denoisedCanvas"></canvas>

  </div>

</div>


<div class="row">

  <div class="col-md-6 img-box">

    <h5>Noisy</h5>

    <canvas id="noisyCanvas"></canvas>

  </div>


  <div class="col-md-6 img-box">

    <h5>Encrypted</h5>

    <canvas id="encryptedCanvas"></canvas>

  </div>

</div>


<div class="row">

  <div class="col-md-6 img-box">

    <h5>Decrypted</h5>

    <canvas id="decryptedCanvas"></canvas>

  </div>

</div>


</div>


<script>

// -----------------------------------------------------

// Wavelet Denoising (simple Haar wavelet)

// -----------------------------------------------------

function waveletDenoise(pixels) {

    let out = new Uint8ClampedArray(pixels.length);

    for (let i = 0; i < pixels.length; i += 4) {

        let avg = (pixels[i] + pixels[i+1] + pixels[i+2]) / 3;

        out[i] = out[i+1] = out[i+2] = avg;

        out[i+3] = pixels[i+3];

    }

    return out;

}


// -----------------------------------------------------

// Add Noise

// -----------------------------------------------------

function addNoise(pixels, amount) {

    let noisy = new Uint8ClampedArray(pixels.length);

    for (let i = 0; i < pixels.length; i++) {

        let n = pixels[i] + (Math.random() * amount - amount/2);

        noisy[i] = Math.max(0, Math.min(255, n));

    }

    return noisy;

}


// -----------------------------------------------------

// GPU-Accelerated Chaotic Map

// -----------------------------------------------------

const gpu = new GPU();


const chaoticKernel = gpu.createKernel(function(a, b, c, x0, y0, z0) {

    let x = x0, y = y0, z = z0;

    for (let i = 0; i < 20; i++) {

        x = a * x * (1 - x) + y;

        y = b * y * (1 - y) + z;

        z = c * z * (1 - z) + x;

    }

    return [x, y, z];

}).setOutput([1]);


function chaotic3D(a, b, c, x0, y0, z0, size) {

    let seq = new Array(size);

    for (let i = 0; i < size; i++) {

        seq[i] = chaoticKernel(a, b, c, x0, y0, z0)[0];

    }

    return seq;

}


// -----------------------------------------------------

// Permutation

// -----------------------------------------------------

function permute(pixels, seq) {

    let size = pixels.length;

    let idx = [...Array(size).keys()];

    idx.sort


<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Chaotic Iris Encryption Demo (Enhanced)</title>


<!-- Bootstrap -->

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">


<!-- Plotly -->

<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>


<!-- GPU.js -->

<script src="https://cdnjs.cloudflare.com/ajax/libs/gpu.js/2.10.0/gpu.min.js"></script>


<style>

  canvas { border: 1px solid #ccc; margin: 10px; }

  .img-box { border: 1px solid #ddd; padding: 10px; margin-bottom: 20px; }

</style>

</head>

<body class="bg-light">


<div class="container py-4">


<h2 class="mb-4">Chaotic Iris Encryption Demo (Option B)</h2>


<div class="mb-3">

  <label class="form-label">Upload Image</label>

  <input type="file" id="upload" class="form-control" accept="image/*">

</div>


<div class="mb-3">

  <label class="form-label">Noise Amount: <span id="noiseVal">0</span></label>

  <input type="range" id="noiseSlider" class="form-range" min="0" max="50" value="0">

</div>


<div class="mb-3">

  <button id="encryptBtn" class="btn btn-primary">Encrypt</button>

  <button id="decryptBtn" class="btn btn-success">Decrypt</button>

  <button id="downloadEnc" class="btn btn-warning">Download Encrypted</button>

  <button id="downloadDec" class="btn btn-info">Download Decrypted</button>

</div>


<hr>


<h4>3D Chaotic Map Visualization</h4>

<div id="chaosPlot" style="width:100%;height:400px;"></div>


<hr>


<div class="row">

  <div class="col-md-6 img-box">

    <h5>Original</h5>

    <canvas id="originalCanvas"></canvas>

  </div>


  <div class="col-md-6 img-box">

    <h5>Denoised</h5>

    <canvas id="denoisedCanvas"></canvas>

  </div>

</div>


<div class="row">

  <div class="col-md-6 img-box">

    <h5>Noisy</h5>

    <canvas id="noisyCanvas"></canvas>

  </div>


  <div class="col-md-6 img-box">

    <h5>Encrypted</h5>

    <canvas id="encryptedCanvas"></canvas>

  </div>

</div>


<div class="row">

  <div class="col-md-6 img-box">

    <h5>Decrypted</h5>

    <canvas id="decryptedCanvas"></canvas>

  </div>

</div>


</div>


<script>

// -----------------------------------------------------

// Wavelet Denoising (simple Haar wavelet)

// -----------------------------------------------------

function waveletDenoise(pixels) {

    let out = new Uint8ClampedArray(pixels.length);

    for (let i = 0; i < pixels.length; i += 4) {

        let avg = (pixels[i] + pixels[i+1] + pixels[i+2]) / 3;

        out[i] = out[i+1] = out[i+2] = avg;

        out[i+3] = pixels[i+3];

    }

    return out;

}


// -----------------------------------------------------

// Add Noise

// -----------------------------------------------------

function addNoise(pixels, amount) {

    let noisy = new Uint8ClampedArray(pixels.length);

    for (let i = 0; i < pixels.length; i++) {

        let n = pixels[i] + (Math.random() * amount - amount/2);

        noisy[i] = Math.max(0, Math.min(255, n));

    }

    return noisy;

}


// -----------------------------------------------------

// GPU-Accelerated Chaotic Map

// -----------------------------------------------------

const gpu = new GPU();


const chaoticKernel = gpu.createKernel(function(a, b, c, x0, y0, z0) {

    let x = x0, y = y0, z = z0;

    for (let i = 0; i < 20; i++) {

        x = a * x * (1 - x) + y;

        y = b * y * (1 - y) + z;

        z = c * z * (1 - z) + x;

    }

    return [x, y, z];

}).setOutput([1]);


function chaotic3D(a, b, c, x0, y0, z0, size) {

    let seq = new Array(size);

    for (let i = 0; i < size; i++) {

        seq[i] = chaoticKernel(a, b, c, x0, y0, z0)[0];

    }

    return seq;

}


// -----------------------------------------------------

// Permutation

// -----------------------------------------------------

function permute(pixels, seq) {

    let size = pixels.length;

    let idx = [...Array(size).keys()];

    idx.sort((i, j) => seq[i] - seq[j]);


    let permuted = new Uint8ClampedArray(size);

    for (let i = 0; i < size; i++) permuted[i] = pixels[idx[i]];


    return { permuted, idx };

}


// -----------------------------------------------------

// Diffusion

// -----------------------------------------------------

function diffuse(permuted, seq) {

    let diffused = new Uint8ClampedArray(permuted.length);

    for (let i = 0; i < permuted.length; i++) {

        diffused[i] = (permuted[i] + seq[i] * 255) % 256;

    }

    return diffused;

}


// -----------------------------------------------------

// Reverse Diffusion

// -----------------------------------------------------

function undiffuse(diffused, seq) {

    let undiff = new Uint8ClampedArray(diffused.length);

    for (let i = 0; i < diffused.length; i++) {

        undiff[i] = (diffused[i] - seq[i] * 255 + 256) % 256;

    }

    return undiff;

}


// -----------------------------------------------------

// Reverse Permutation

// -----------------------------------------------------

function reversePermutation(undiffused, idx) {

    let original = new Uint8ClampedArray(undiffused.length);

    for (let i = 0; i < idx.length; i++) {

        original[idx[i]] = undiffused[i];

    }

    return original;

}


// -----------------------------------------------------

// Draw to Canvas

// -----------------------------------------------------

function drawToCanvas(canvas, pixels, w, h) {

    let ctx = canvas.getContext("2d");

    canvas.width = w;

    canvas.height = h;

    let imgData = new ImageData(pixels, w, h);

    ctx.putImageData(imgData, 0, 0);

}


// -----------------------------------------------------

// Global Variables

// -----------------------------------------------------

let originalPixels, denoisedPixels, noisyPixels, encryptedPixels, decryptedPixels;

let width, height;

let seq, idx;


// -----------------------------------------------------

// Noise Slider

// -----------------------------------------------------

document.getElementById("noiseSlider").oninput = function() {

    document.getElementById("noiseVal").innerText = this.value;

};


// -----------------------------------------------------

// Upload Image

// -----------------------------------------------------

document.getElementById("upload").addEventListener("change", function(e) {

    const file = e.target.files[0];

    const img = new Image();


    img.onload = function() {

        width = img.width;

        height = img.height;


        const canvas = document.getElementById("originalCanvas");

        const ctx = canvas.getContext("2d");

        canvas.width = width;

        canvas.height = height;

        ctx.drawImage(img, 0, 0);


        let data = ctx.getImageData(0, 0, width, height);

        originalPixels = data.data;


        // Denoise

        denoisedPixels = waveletDenoise(originalPixels);

        drawToCanvas(document.getElementById("denoisedCanvas"), denoisedPixels, width, height);


        drawToCanvas(document.getElementById("originalCanvas"), originalPixels, width, height);

    };


    img.src = URL.createObjectURL(file);

});


// -----------------------------------------------------

// Encrypt

// -----------------------------------------------------

document.getElementById("encryptBtn").onclick = function() {

    let noiseAmount = parseInt(document.getElementById("noiseSlider").value);


    noisyPixels = addNoise(denoisedPixels, noiseAmount);

    drawToCanvas(document.getElementById("noisyCanvas"), noisyPixels, width, height);


    seq = chaotic3D(3.99, 3.98, 3.97, 0.1, 0.2, 0.3, noisyPixels.length);


    let perm = permute(noisyPixels, seq);

    idx = perm.idx;


    encryptedPixels = diffuse(perm.permuted, seq);

    drawToCanvas(document.getElementById("encryptedCanvas"), encryptedPixels, width, height);


    // Plot chaotic map

    Plotly.newPlot("chaosPlot", [{

        x: seq.slice(0, 2000),

        y: seq.slice(1, 2001),

        z: seq.slice(2, 2002),

        mode: "lines",

        type: "scatter3d"

    }]);

};


// -----------------------------------------------------

// Decrypt

// -----------------------------------------------------

document.getElementById("decryptBtn").onclick = function() {

    let undiff = undiffuse(encryptedPixels, seq);

    decryptedPixels = reversePermutation(undiff, idx);

    drawToCanvas(document.getElementById("decryptedCanvas"), decryptedPixels, width, height);

};


// -----------------------------------------------------

// Download Buttons

// -----------------------------------------------------

function downloadCanvas(canvas, filename) {

    let link = document.createElement("a");

    link.download = filename;

    link.href = canvas.toDataURL();

    link.click();

}


document.getElementById("downloadEnc").onclick = () =>

    downloadCanvas(document.getElementById("encryptedCanvas"), "encrypted.png");


document.getElementById("downloadDec").onclick = () =>

    downloadCanvas(document.getElementById("decryptedCanvas"), "decrypted.png");


</script>


</body>

</html>


Iris recognition biometric decryption html tool hack (1)

 




def encrypt(img, seq):
    flat = img.flatten()
    idx = np.argsort(seq[:, 0])  # permutation from chaotic sequence
    permuted = flat[idx]

    # diffusion using chaotic values
    diffused = (permuted + (seq[:, 1] * 255)) % 256

    return diffused.reshape(img.shape).astype(np.uint8), idx



def decrypt(enc_img, seq, idx):
    flat = enc_img.flatten()

    # reverse diffusion
    undiffused = (flat - (seq[:, 1] * 255)) % 256

    # reverse permutation
    original = np.zeros_like(undiffused)
    original[idx] = undiffused

    return original.reshape(enc_img.shape).astype(np.uint8)



def test_parameter_sensitivity(img, a, b, c):
    seq1 = chaotic_3d_map(a, b, c, 0.1, 0.2, 0.3, img.size)
    enc, idx = encrypt(img, seq1)

    # Slightly wrong parameter
    seq_wrong = chaotic_3d_map(a + 1e-10, b, c, 0.1, 0.2, 0.3, img.size)
    dec_wrong = decrypt(enc, seq_wrong, idx)

    return dec_wrong











<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Reverse Permutation Test</title>

<style>

  body { font-family: Arial; padding: 20px; }

  img { max-width: 300px; margin: 10px; border: 1px solid #ccc; }

</style>

</head>

<body>


<h2>Reverse Permutation → Restore Image</h2>


<input type="file" id="upload" accept="image/*"><br><br>


<canvas id="originalCanvas"></canvas>

<canvas id="restoredCanvas"></canvas>


<script>

document.getElementById("upload").addEventListener("change", function(e) {

    const file = e.target.files[0];

    const img = new Image();


    img.onload = function() {

        const w = img.width;

        const h = img.height;


        // Draw original image

        const originalCanvas = document.getElementById("originalCanvas");

        originalCanvas.width = w;

        originalCanvas.height = h;

        const octx = originalCanvas.getContext("2d");

        octx.drawImage(img, 0, 0);


        // Get pixel data

        const imageData = octx.getImageData(0, 0, w, h);

        const pixels = imageData.data; // RGBA flat array


        // Generate a permutation index

        const size = pixels.length;

        let idx = [...Array(size).keys()];


        // Shuffle index (simple permutation)

        for (let i = size - 1; i > 0; i--) {

            const j = Math.floor(Math.random() * (i + 1));

            [idx[i], idx[j]] = [idx[j], idx[i]];

        }


        // Apply permutation

        let permuted = new Uint8ClampedArray(size);

        for (let i = 0; i < size; i++) {

            permuted[i] = pixels[idx[i]];

        }


        // Reverse permutation

        let restored = new Uint8ClampedArray(size);

        for (let i = 0; i < size; i++) {

            restored[idx[i]] = permuted[i];

        }


        // Draw restored image

        const restoredCanvas = document.getElementById("restoredCanvas");

        restoredCanvas.width = w;

        restoredCanvas.height = h;

        const rctx = restoredCanvas.getContext("2d");


        const restoredImageData = new ImageData(restored, w, h);

        rctx.putImageData(restoredImageData, 0, 0);

    };


    img.src = URL.createObjectURL(file);

});

</script>


</body>

</html>


Bom dia Worldwide gd morning ! Myself ! ELSA DAVID

 


Tuesday, July 7, 2026

NATO hack POX controller electronic card decrypt tool ( html code) double authentication

 






#!/usr/bin/env python3

"""

Educational SIP Decoder for SIPp Training

-----------------------------------------

This script teaches:

1. How SIP messages are structured

2. How to decode SIP headers and body

3. How SIPp scenarios map to real SIP packets

"""


import re


def parse_sip_message(raw):

    """

    Parse a raw SIP message into:

    - Request/Status line

    - Headers (dict)

    - Body

    """

    lines = raw.split("\n")

    start_line = lines[0].strip()


    headers = {}

    body = ""

    in_body = False


    for line in lines[1:]:

        line = line.rstrip("\r")


        if line == "":

            in_body = True

            continue


        if not in_body:

            # Header line: Key: Value

            if ":" in line:

                key, value = line.split(":", 1)

                headers[key.strip()] = value.strip()

        else:

            body += line + "\n"


    return start_line, headers, body.strip()



def decode_sip(raw):

    start_line, headers, body = parse_sip_message(raw)


    print("=== SIP MESSAGE DECODE ===")

    print(f"Start Line: {start_line}")


    print("\n--- Headers ---")

    for k, v in headers.items():

        print(f"{k}: {v}")


    print("\n--- Body ---")

    print(body if body else "(no body)")


    # Educational extras

    if "Via" in headers:

        print("\nVia branch:", re.findall(r"branch=([^;]+)", headers["Via"]))


    if "Call-ID" in headers:

        print("Call-ID:", headers["Call-ID"])


    if "CSeq" in headers:

        method = headers["CSeq"].split()[1]

        print("CSeq Method:", method)



if __name__ == "__main__":

    # Example SIPp REGISTER message

    raw_msg = """REGISTER sip:server.com SIP/2.0

Via: SIP/2.0/UDP 10.0.0.1:5060;branch=z9hG4bK12345

Max-Forwards: 70

To: <sip:alice@server.com>

From: <sip:alice@server.com>;tag=abcd

Call-ID: 123456@10.0.0.1

CSeq: 1 REGISTER

Contact: <sip:alice@10.0.0.1>

Content-Length: 0


"""


    decode_sip(raw_msg)

sipp -sn uac -trace_msg -trace_err server_ip

messages.log

with open("messages.log") as f:

    for msg in f.read().split("------------------------------------------------------------------------"):

        decode_sip(msg)


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Digest Auth Simulator</title>

<style>

body {

    font-family: Arial, sans-serif;

    margin: 40px;

    background: #f5f5f5;

}

.container {

    background: white;

    padding: 25px;

    border-radius: 10px;

    width: 600px;

    margin: auto;

    box-shadow: 0 0 10px rgba(0,0,0,0.1);

}

input, select {

    width: 100%;

    padding: 8px;

    margin: 6px 0 15px 0;

}

pre {

    background: #eee;

    padding: 10px;

    border-radius: 5px;

}

button {

    padding: 10px 20px;

    background: #0078ff;

    color: white;

    border: none;

    border-radius: 5px;

    cursor: pointer;

}

button:hover {

    background: #005fcc;

}

</style>

</head>


<body>

<div class="container">

<h2>Digest Authentication Calculator</h2>


<label>Username</label>

<input id="username" value="alice">


<label>Password</label>

<input id="password" value="secret">


<label>Realm</label>

<input id="realm" value="server.com">


<label>Method</label>

<input id="method" value="REGISTER">


<label>URI</label>

<input id="uri" value="sip:server.com">


<label>Nonce</label>

<input id="nonce" value="abcdef123456">


<label>Nonce Count (nc)</label>

<input id="nc" value="00000001">


<label>Client Nonce (cnonce)</label>

<input id="cnonce" value="xyz987">


<label>QOP</label>

<select id="qop">

    <option value="auth">auth</option>

    <option value="auth-int">auth-int</option>

</select>


<button onclick="calculate()">Compute Digest</button>


<h3>Results</h3>

<pre id="output"></pre>

</div>


<script>

// Simple MD5 implementation (RFC 1321)

function md5(str) {

    return CryptoJS.MD5(str).toString();

}


function calculate() {

    let username = document.getElementById("username").value;

    let password = document.getElementById("password").value;

    let realm = document.getElementById("realm").value;

    let method = document.getElementById("method").value;

    let uri = document.getElementById("uri").value;

    let nonce = document.getElementById("nonce").value;

    let nc = document.getElementById("nc").value;

    let cnonce = document.getElementById("cnonce").value;

    let qop = document.getElementById("qop").value;


    let HA1 = md5(`${username}:${realm}:${password}`);

    let HA2 = md5(`${method}:${uri}`);

    let response = md5(`${HA1}:${nonce}:${nc}:${cnonce}:${qop}:${HA2}`);


    document.getElementById("output").innerText =

        `HA1 = MD5(${username}:${realm}:${password})

→ ${HA1}


HA2 = MD5(${method}:${uri})

→ ${HA2}


Response = MD5(${HA1}:${nonce}:${nc}:${cnonce}:${qop}:${HA2})

→ ${response}`;

}

</script>


<!-- CryptoJS MD5 -->

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>


</body>

</html>


NATO hack online tool BASE64 encode MARKOV model decryption ( html online tool)




 <!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Algorithmic Base64 Discovery Tool</title>

<style>

  body { font-family: Arial; background: #f4f4f4; padding: 20px; }

  #container { background: white; padding: 20px; border-radius: 8px;

               max-width: 700px; margin: auto; box-shadow: 0 0 10px rgba(0,0,0,0.1); }

  input, button { padding: 10px; font-size: 16px; width: 100%; margin-top: 10px; }

  pre { background: #222; color: #0f0; padding: 15px; border-radius: 6px; overflow-x: auto; }

</style>

</head>

<body>


<div id="container">

  <h2>Algorithmic Base64 Discovery Tool</h2>

  <p>This tool discovers the password algorithmically using adaptive search.</p>


  <label>Base64 Token:</label>

  <input id="token" placeholder="Enter Base64 token">


  <label>Known Username:</label>

  <input id="username" placeholder="student">


  <button onclick="discover()">Start Algorithmic Discovery</button>


  <h3>Output:</h3>

  <pre id="output"></pre>

</div>


<script src="discover.js"></script>


</body>

</html>

// MARKOV MODEL FOR PASSWORD DISCOVERY


// Build a Markov chain from a training set of passwords

function buildMarkovModel(trainingSet) {

  const model = {};


  for (let pass of trainingSet) {

    for (let i = 0; i < pass.length - 1; i++) {

      const curr = pass[i];

      const next = pass[i + 1];


      if (!model[curr]) model[curr] = {};

      if (!model[curr][next]) model[curr][next] = 0;


      model[curr][next] += 1;

    }

  }


  return model;

}


// Generate next-character probabilities

function nextCharProbabilities(model, char) {

  const transitions = model[char];

  if (!transitions) return null;


  const total = Object.values(transitions).reduce((a, b) => a + b, 0);


  return Object.fromEntries(

    Object.entries(transitions).map(([next, count]) => [

      next,

      count / total

    ])

  );

}


// Generate candidate passwords using the Markov chain

function generateMarkovPasswords(model, length, alphabet) {

  const candidates = [];


  function dfs(prefix) {

    if (prefix.length === length) {

      candidates.push(prefix);

      return;

    }


    const last = prefix[prefix.length - 1];

    const probs = nextCharProbabilities(model, last);


    if (probs) {

      // Sort by probability (descending)

      const sorted = Object.entries(probs)

        .sort((a, b) => b[1] - a[1])

        .map(([char]) => char);


      for (let char of sorted) dfs(prefix + char);

    } else {

      // fallback: try all alphabet characters

      for (let char of alphabet) dfs(prefix + char);

    }

  }


  // Start with each alphabet character

  for (let char of alphabet) dfs(char);


  return candidates;

}

function discover() {

  const token = document.getElementById("token").value.trim();

  const username = document.getElementById("username").value.trim();

  const output = document.getElementById("output");


  output.textContent = "Analyzing token...\n";


  // Decode Base64

  let decoded;

  try {

    decoded = atob(token);

  } catch {

    output.textContent += "Invalid Base64 token.";

    return;

  }


  output.textContent += `Decoded structure: ${decoded}\n`;


  const parts = decoded.split(":");

  const passLength = parts[1].length;


  output.textContent += `Password length inferred: ${passLength}\n`;


  const alphabet = "abcdefghijklmnopqrstuvwxyz0123456789";


  // TRAINING SET (students can expand this!)

  const trainingSet = [

    "abc123", "aaa111", "pass99", "test12", "qwerty", "hello1",

    "student", "admin1", "root42", "guest00"

  ];


  output.textContent += "Building Markov model...\n";


  const model = buildMarkovModel(trainingSet);


  output.textContent += "Generating candidate passwords using Markov chain...\n";


  const candidates = generateMarkovPasswords(model, passLength, alphabet);


  output.textContent += `Generated ${candidates.length} candidates.\n`;


  let attempts = 0;


  function encode(pass) {

    return btoa(`${username}:${pass}`);

  }


  for (let pass of candidates) {

    attempts++;

    if (encode(pass) === token) {

      output.textContent += `FOUND via Markov model: ${pass}\nAttempts: ${attempts}`;

      return;

    }

  }


  output.textContent += `No match found after ${attempts} attempts.`;

}



 



function discover() {
  const token = document.getElementById("token").value.trim();
  const username = document.getElementById("username").value.trim();
  const output = document.getElementById("output");

  output.textContent = "Analyzing token...\n";




  // Decode Base64
  let decoded;
  try {
    decoded = atob(token);
  } catch {
    output.textContent += "Invalid Base64 token.";
    return;
  }

  output.textContent += `Decoded structure: ${decoded}\n`;

  const parts = decoded.split(":");
  const passLength = parts[1].length;

  output.textContent += `Password length inferred: ${passLength}\n`;

  const alphabet = "abcdefghijklmnopqrstuvwxyz0123456789";

  // TRAINING SET (students can expand this!)
  const trainingSet = [
    "abc123", "aaa111", "pass99", "test12", "qwerty", "hello1",
    "student", "admin1", "root42", "guest00"
  ];

  output.textContent += "Building Markov model...\n";

  const model = buildMarkovModel(trainingSet);

  output.textContent += "Generating candidate passwords using Markov chain...\n";

  const candidates = generateMarkovPasswords(model, passLength, alphabet);

  output.textContent += `Generated ${candidates.length} candidates.\n`;

  let attempts = 0;

  function encode(pass) {
    return btoa(`${username}:${pass}`);
  }

  for (let pass of candidates) {
    attempts++;
    if (encode(pass) === token) {
      output.textContent += `FOUND via Markov model: ${pass}\nAttempts: ${attempts}`;
      return;
    }
  }

  output.textContent += `No match found after ${attempts} attempts.`;
}

Fiber optics propagation stimulation and distribution brute force cluster in our time AES 256 decryption attempt

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Fiber Optics & Distributed Brute-Fo...