Spaces:
Sleeping
Sleeping
File size: 7,037 Bytes
5822b43 80a5537 5822b43 6ba5005 5822b43 80a5537 5822b43 80a5537 6ba5005 5822b43 80a5537 6ba5005 2f3f31c 6ba5005 2f3f31c 6ba5005 80a5537 2f3f31c 6ba5005 2f3f31c 6ba5005 80a5537 2f3f31c 6ba5005 2f3f31c 6ba5005 80a5537 2f3f31c 6ba5005 80a5537 2f3f31c 6ba5005 2f3f31c 6ba5005 2f3f31c 6ba5005 2f3f31c 6ba5005 2f3f31c 6ba5005 2f3f31c 6ba5005 80a5537 5822b43 b26c878 80a5537 5822b43 80a5537 6ba5005 5822b43 6ba5005 80a5537 5822b43 80a5537 5822b43 80a5537 5822b43 80a5537 b26c878 5822b43 80a5537 5822b43 6ba5005 5822b43 80a5537 2f3f31c 6ba5005 80a5537 22f2ea2 5822b43 6ba5005 22f2ea2 5822b43 6ba5005 5822b43 6ba5005 5822b43 6ba5005 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | import os
import gradio as gr
import numpy as np
import hashlib
from fpdf import FPDF
from datetime import datetime
# --- 1. SETUP THUẬT TOÁN (Giữ nguyên) ---
SECRET_CODE = os.getenv("ES")
exec_context = {}
encrypt_fn = decrypt_fn = None
if SECRET_CODE:
try:
exec(SECRET_CODE, exec_context)
encrypt_fn, decrypt_fn = exec_context.get('transform_byte'), exec_context.get('untransform_byte')
except Exception as e: print(f"Error: {e}")
def get_file_sha256(file_path):
h = hashlib.sha256()
with open(file_path, 'rb') as f:
while chunk := f.read(8192): h.update(chunk)
return h.hexdigest()
# --- 2. HÀM THIẾT KẾ CHỨNG CHỈ SIÊU CẤP ---
class T4S_PDF(FPDF):
def header(self):
# Vẽ một thanh header màu xanh đậm
self.set_fill_color(44, 62, 80)
self.rect(0, 0, 297, 30, 'F')
self.set_text_color(255, 255, 255)
self.set_font("Helvetica", "B", 20)
self.cell(0, 10, "TITANIUM4S - QUANTUM SECURE PROTOCOL", ln=True, align="C")
self.set_font("Helvetica", "", 10)
self.cell(0, 5, "Official Security Audit & Ownership Certificate", ln=True, align="C")
def footer(self):
self.set_y(-20)
self.set_font("Helvetica", "I", 8)
self.set_text_color(150, 150, 150)
self.cell(0, 10, f"Issued by Titanium4S Zero-Trust Engine | Record ID: {hashlib.md5(str(datetime.now()).encode()).hexdigest()[:10].upper()}", align="C")
def create_detailed_pdf(file_name, sha_hash, password, output_path):
pdf = T4S_PDF(orientation="L", unit="mm", format="A4")
pdf.add_page()
# 1. PHẦN THÔNG TIN FILE (Bố cục cột)
pdf.ln(10)
pdf.set_text_color(0, 0, 0)
pdf.set_font("Helvetica", "B", 16)
pdf.cell(0, 10, "1. PROTECTED ASSET IDENTITY", ln=True)
pdf.set_line_width(0.5); pdf.set_draw_color(44, 62, 80); pdf.line(10, pdf.get_y(), 287, pdf.get_y())
pdf.ln(5)
pdf.set_font("Helvetica", "", 12)
pdf.cell(40, 10, "Filename:", 0); pdf.set_font("Helvetica", "B", 12); pdf.cell(0, 10, file_name, ln=True)
pdf.set_font("Helvetica", "", 12)
pdf.cell(40, 10, "SHA-256 Fingerprint:", 0); pdf.set_font("Courier", "B", 10); pdf.cell(0, 10, sha_hash, ln=True)
# 2. PHẦN CÔNG NGHỆ (Technology Overview)
pdf.ln(10)
pdf.set_font("Helvetica", "B", 16)
pdf.cell(0, 10, "2. TECHNOLOGY SPECIFICATION", ln=True)
pdf.set_line_width(0.5); pdf.line(10, pdf.get_y(), 287, pdf.get_y())
pdf.ln(5)
pdf.set_font("Helvetica", "", 11)
tech_info = (
"- Key Stretching: SHA-512 (10,000 Iterations) - Immunity against ASIC/GPU brute-force.\n"
"- Cipher Core: Vectorized Non-linear Transformation (Proprietary ES Logic).\n"
"- Protocol: Zero-Knowledge Proof (The system never stores your secret key)."
)
pdf.multi_cell(0, 7, tech_info)
# 3. PHẦN MẬT KHẨU & CẢNH BÁO (Làm nổi bật)
pdf.ln(10)
pdf.set_fill_color(254, 249, 231) # Màu vàng nhạt cho vùng password
pdf.rect(10, pdf.get_y(), 277, 25, 'F')
pdf.set_y(pdf.get_y() + 5)
pdf.set_font("Helvetica", "B", 14); pdf.set_text_color(192, 57, 43)
pdf.cell(0, 5, "CRITICAL: YOUR SECRET KEY RECORD", ln=True, align="C")
pdf.set_font("Courier", "B", 18)
pdf.cell(0, 12, password, ln=True, align="C")
# 4. LỜI NHẮC CỦA TITANIUM4S
pdf.ln(15)
pdf.set_text_color(44, 62, 80)
pdf.set_font("Helvetica", "B", 12)
pdf.cell(0, 10, "SECURITY COMPLIANCE & WARNINGS:", ln=True)
pdf.set_font("Helvetica", "", 10)
pdf.multi_cell(0, 6, (
"1. This PDF is the only proof of ownership. If deleted, there is no backup on any server.\n"
"2. The file .impossible is mathematically locked. Brute-forcing would take centuries with current hardware.\n"
"3. Please store this certificate in a secure vault or an offline encrypted drive."
))
# Đóng dấu "TOP SECRET" giả lập
pdf.set_font("Helvetica", "B", 50)
pdf.set_text_color(231, 76, 60)
pdf.rotate(25, 200, 150)
pdf.text(180, 180, "TOP SECRET")
pdf.rotate(0)
pdf.output(output_path)
return output_path
# --- 3. LOGIC XỬ LÝ CHÍNH ---
def stretch_key(password):
key = password.encode() + b"MinhDuc_Zero_Trust_Protocol"
for _ in range(10000): key = hashlib.sha512(key).digest()
return key[:32]
def process_file(file, password, mode, progress=gr.Progress()):
if not encrypt_fn: return None, "❌ Secret ES Error!"
master_key = np.frombuffer(stretch_key(password), dtype=np.uint8)
input_path = file.name
original_name = os.path.basename(input_path)
is_encrypt = (mode == "Mã hóa")
output_name = original_name + ".impossible" if is_encrypt else (original_name.replace(".impossible", "") if original_name.endswith(".impossible") else "rebuilt_" + original_name)
output_path = os.path.join(os.path.dirname(input_path), output_name)
file_size = os.path.getsize(input_path)
chunk_size = 4 * 1024 * 1024
bytes_processed = 0
fn = encrypt_fn if is_encrypt else decrypt_fn
try:
file_hash = get_file_sha256(input_path) if is_encrypt else "N/A"
with open(input_path, 'rb') as f_in, open(output_path, 'wb') as f_out:
while True:
chunk = f_in.read(chunk_size)
if not chunk: break
data_arr = np.frombuffer(chunk, dtype=np.uint8)
indices = np.arange(bytes_processed, bytes_processed + len(data_arr), dtype=np.uint64)
key_chunk = master_key[indices % 32]
f_out.write(fn(data_arr, key_chunk, indices).astype(np.uint8).tobytes())
bytes_processed += len(chunk)
progress(bytes_processed / file_size, desc=f"Processing {mode}...")
if is_encrypt:
pdf_path = os.path.join(os.path.dirname(input_path), f"Audit_{original_name}.pdf")
create_detailed_pdf(original_name, file_hash, password, pdf_path)
return [output_path, pdf_path], "✅ Đã mã hóa & Xuất hồ sơ bảo mật!"
return [output_path], "✅ Giải mã thành công!"
except Exception as e: return None, f"❌ Lỗi: {str(e)}"
# --- 4. GIAO DIỆN ---
with gr.Blocks(theme=gr.themes.Monochrome(), title="Titanium4S Vault") as demo:
gr.Markdown("# 🛡️ Titanium4S - Ultimate Audit Edition")
with gr.Row():
with gr.Column():
inp_file = gr.File(label="Target File")
inp_pass = gr.Textbox(label="Secret Key", type="password")
inp_mode = gr.Radio(["Mã hóa", "Giải mã"], label="Mode", value="Mã hóa")
btn = gr.Button("INITIALIZE PROTOCOL", variant="primary")
with gr.Column():
out_files = gr.File(label="Output Assets", file_count="multiple")
status = gr.Textbox(label="System Status", interactive=False)
btn.click(process_file, [inp_file, inp_pass, inp_mode], [out_files, status])
demo.queue(1).launch(ssr_mode=False)
|