Cryptography Deniable อธิบายวิธีการเข้ารหัสทำให้สามารถใช้การปฏิเสธข้อความที่มีอยู่ได้ที่มีอยู่ซึ่งหมายความว่าไม่มีวิธีที่จะพิสูจน์การมีอยู่ของข้อมูลในข้อความธรรมดา
ในหลายประเทศทั่วโลก (ตัวอย่างเช่นในสหราชอาณาจักรหรือสหรัฐอเมริกา) คุณอาจถูกจำคุกหรือเผชิญกับปัญหาทางกฎหมายสำหรับการปฏิเสธที่จะให้รหัสผ่านตามที่หน่วยงานบังคับใช้กฎหมายกำหนดแม้ว่าคุณจะไม่สงสัยว่ามีการละเมิดกฎหมายใด ๆ ก็ตาม
ยิ่งไปกว่านั้นหากกลุ่มคนที่ทรงพลัง (รัฐบาลกลุ่มโจร) มีข้อสงสัยว่าคุณเก็บข้อมูลที่จำเป็นเกี่ยวกับแล็ปท็อปของคุณ (เอกสารลับกระเป๋าเงิน bitcoin) มาหาคุณเพื่อค้นหาหรือปล้นและค้นหาไฟล์ที่เข้ารหัส
Fractalcrypt อนุญาตให้มีไฟล์ที่เข้ารหัสด้วยจำนวนคีย์โดยพลการ หากผู้ชายชุดใดขอรหัสผ่านคุณและคุณบอกว่าไม่มีข้อมูลในคอนเทนเนอร์ที่เข้ารหัสหรือคุณลืมรหัสผ่านมันมีโอกาสมากที่พวกเขาจะไม่เชื่อคุณ ในขณะที่การใช้ Fractalcrypt คุณสามารถแจกกุญแจให้กับปริมาณที่ไม่ได้รับการจำแนกประเภทได้อย่างปลอดภัยและไม่มีวิธีที่จะพิสูจน์ได้ว่ามีปริมาณมากกว่าที่คุณเปิดเผย
นอกจากนี้ไฟล์ที่เข้ารหัสในลักษณะที่แตกต่างจากให้เราพูดว่า cryptocontainer บนพื้นที่ขับเคลื่อนที่ไม่ได้ถูกปันส่วนสามารถถ่ายโอนผ่านอินเทอร์เน็ตคัดลอกไปยังแท่ง USB ฯลฯ
ก่อนอื่นมันจะสร้าง cryptocontainer ที่มีขนาดที่ผู้ใช้ระบุซึ่งเต็มไปด้วยอักขระแบบสุ่ม ในการสร้างเล่มแรกโปรแกรมจะเก็บไฟล์ที่ระบุไว้ให้ผู้ใช้ไปยังจุดเริ่มต้นของ cryptocontainer และเข้ารหัสโดยใช้คีย์แรก ดังนั้นเมื่อรู้คีย์แรกคุณสามารถเข้าถึงไฟล์ชั้นแรกและส่วนที่เหลือของ cryptocontainer
ในการสร้างเล่มที่สองโปรแกรมจะเก็บไฟล์ไว้ในส่วนที่เหลือของ cryptocontainer และเข้ารหัสด้วยคีย์ที่สอง ดังนั้นจึงจำเป็นต้องมีคีย์แรกในการสร้างหรือเข้าถึงข้อมูลจากเล่มที่สอง
ความสามารถของการปฏิเสธที่เป็นไปได้คือไฟล์ที่เข้ารหัสนั้นแยกไม่ออกจากเสียงรบกวน ไม่มีวิธีที่คุณสามารถค้นหาปริมาณข้อมูลที่เก็บไว้ใน cryptocontainer
เพื่อให้ได้ไฟล์ N-Layer ผู้ใช้จะต้องป้อนรหัสผ่าน n
ในการเพิ่มเลเยอร์ใหม่ (หรือที่เรียกว่าปริมาตร) โดยไม่มีความเสี่ยง (เช่นเขียนทับเสียง) คุณควรป้อนกุญแจทั้งหมด มิฉะนั้นหากคุณป้อนเพียงส่วนหนึ่งของคีย์เลเยอร์ใหม่จะถูกเขียนลงบนข้อมูลที่เข้ารหัส
ผู้ใช้ยังสามารถลบเลเยอร์ในกรณีนี้มันถูกเขียนทับด้วยเสียงรบกวน เลเยอร์ทั้งหมดจะถูกลบออกเช่นกันดังนั้นชั้นบนสุดเท่านั้นที่สามารถลบออกได้อย่างปลอดภัย
หน้าต่างเริ่มต้น
การสร้างคอนเทนเนอร์ใหม่
หน้าต่างหลัก มีการป้อนรหัสผ่านสองรหัส
หน้าต่างการสร้างที่เก็บถาวร
AES-256 ใช้สำหรับการเข้ารหัสในโหมด XTS argon2id ใช้เพื่อสร้างคีย์ที่มีการวนซ้ำ 4 ค่าใช้จ่ายหน่วยความจำ 128MB และ 1 เธรด
แต่ละชั้นเมื่อถอดรหัสมีส่วนหัวต่อไปนี้:
8 BYTES-ลายเซ็น C-String "Fractal" (Null-Terminated)
8 ไบต์ - ความยาวของคลังเก็บซิปที่ตามมาใน Big Endian ซึ่งสอดคล้องกับ 16 ไบต์
ยินดีต้อนรับ PRS และการมีส่วนร่วม หากคุณมีส่วนร่วมในใจโปรดตรวจสอบคู่มือการบริจาคสำหรับข้อมูลเกี่ยวกับวิธีการทำเช่นนั้น
Fractalcrypt ใช้ Framework QT (การดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการต้องมีการลงทะเบียน), ห้องสมุด OpenSSL สำหรับการเข้ารหัสและไลบรารี Quazip สำหรับการสร้างและประมวลผลคลังเก็บซิป
Quazip เป็น wrapper เหนือแพ็คเกจ minizip ของ Gilles Vollant (ตามข้อกำหนดใบอนุญาตเราแจ้งว่าไฟล์ของไลบรารีเหล่านี้มีการเปลี่ยนแปลงในโครงการของเรา) ซึ่งใช้ไลบรารี Zlib
สำหรับ Windows ZLIB มาพร้อมกับ QT
คุณควรดาวน์โหลดและติดตั้งเฉพาะ OpenSSL เป็นรายบุคคลโดยไปที่ลิงก์
OpenSSL ควรมีให้ที่ C: OpenSSL-WIN64 คุณสามารถเปลี่ยนสิ่งนี้ในไฟล์ fractalcrypt.pro ของคุณ
โดยค่าเริ่มต้น QT จะพยายามเชื่อมโยง OpenSSL แบบไดนามิกในกรณีนี้คุณอาจต้องใช้ไฟล์ C: OpenSSL-WIN64 bin libcrypto-1_1-x64.dll ในไดเรกทอรีที่มีไฟล์ปฏิบัติการ
คุณควรติดตั้งไลบรารี ZLIB และ OPENSSL เป็นรายบุคคลหากไม่รวมอยู่ใน distro ของคุณ
ในระบบที่ใช้ APT สามารถทำได้ด้วยคำสั่งต่อไปนี้:
sudo apt-get install zlib1g-dev libssl-dev
sudo apt-get install qt5-default qt5-qmake qtbase5-dev-tools qtchooser libqt5core5a qtbase-abi-5-12-8
git clone https://github.com/zorggish/FractalCryptGUI.git
cd FractalCryptGUI
qmake -project
qmake FractalCrypt.pro
make
./FractalCrypt