Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
tird — स्टेग्नोग्राफिक भंडारण और फ़ाइल एन्क्रिप्शन उपकरण | Kitploit
उपकरण/GitHubGitHub/hakavlad/tird
एन्क्रिप्शन/डिक्रिप्शन उपकरणफोरेंसिकस्टेग्नोग्राफीडेटा रिकवरीक्रिप्टोग्राफीगोपनीयता
GitHubhakavlad/tird

tird

स्टेग्नोग्राफिक भंडारण और फ़ाइल एन्क्रिप्शन उपकरण

रिपॉजिटरी देखें
222473 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

🏠 होम    📑 विनिर्देश    📜 मैन पेज    📄 इनपुट विकल्प    📖 ट्यूटोरियल    ❓ सामान्य प्रश्न    📥 स्थापित करें


Logo: random data visualization

tird & tirdFS

Releases PyPI

tird /tɪrd/ (यह "यह यादृच्छिक डेटा है" का संक्षिप्त रूप है) एक फ़ाइल एन्क्रिप्शन उपकरण है जो मेटाडेटा को न्यूनतम करता है और एन्क्रिप्टेड डेटा को छिपाता है।

tird के साथ, आप यह कर सकते हैं:

  1. कंटेनर या कुंजी फ़ाइलों के रूप में उपयोग करने के लिए यादृच्छिक डेटा से भरी फ़ाइलें बनाएं।
  2. कंटेनर तैयार करने या अवशिष्ट डेटा को नष्ट करने के लिए ब्लॉक उपकरणों और सामान्य फ़ाइलों की सामग्री को यादृच्छिक डेटा से अधिलेखित करें।
  3. फ़ाइल सामग्री और टिप्पणियों को कुंजी फ़ाइलों और पासफ़्रेज़ के साथ एन्क्रिप्ट करें। एन्क्रिप्टेड डेटा प्रारूप (क्रिप्टोब्लॉब) एक पैडेड यूनिफ़ॉर्म रैंडम ब्लॉब (PURB) है: यह यादृच्छिक डेटा जैसा दिखता है और इसका आकार यादृच्छिक होता है। इससे फ़ाइल प्रारूप और लंबाई से मेटाडेटा रिसाव कम होता है और क्रिप्टोब्लॉब को यादृच्छिक डेटा के बीच छिपाने की अनुमति मिलती है।
  4. कंटेनर फ़ाइलों और ब्लॉक उपकरणों के अंदर स्टेग्नोग्राफ़िक (छिपे, अज्ञात) उपयोगकर्ता-संचालित फ़ाइलसिस्टम (tirdFS) बनाएं। VeraCrypt और Shufflecake के विपरीत, tirdFS कंटेनरों में हेडर नहीं होते हैं; उपयोगकर्ता कंटेनर के अंदर डेटा स्थान निर्दिष्ट करता है और उन स्थानों को अलग रखने के लिए जिम्मेदार है। फ़ाइल या ब्लॉक डिवाइस का कोई भी यादृच्छिक दिखने वाला क्षेत्र कंटेनर के रूप में उपयोग किया जा सकता है।
  5. टाइम-लॉक एन्क्रिप्शन का उपयोग करके डिक्रिप्टेड डेटा तक त्वरित पहुंच को रोकें।

tird बिल्ट-इन प्रशंसनीय अस्वीकार्यता प्रदान करता है, भले ही एन्क्रिप्टेड फ़ाइलें कंटेनरों के बाहर संग्रहीत हों। यह जबरदस्ती कुंजी-प्रकटीकरण हमलों (रबर-होज़ क्रिप्टैनालिसिस, xkcd 538) का प्रतिरोध करने में भी मदद करता है।

[!WARNING] tird का उपयोग करने से पहले, कृपया "चेतावनियाँ" अनुभाग पढ़ें। सुरक्षा केवल उपकरण पर नहीं बल्कि आपके कार्यों पर निर्भर करती है: सुरक्षित कुंजी भंडारण, सुरक्षित वातावरण में काम करना, और वास्तविक डेटा के साथ डीबग मोड से बचना।

प्रारूप स्थिरीकरण और एक औपचारिक विनिर्देश v1.0.0 के लिए योजनाबद्ध हैं।

Goals

  1. फ़ाइल सुरक्षा: व्यक्तिगत फ़ाइलों की सुरक्षा सुनिश्चित करें, जिसमें शामिल हैं:
    • प्रमाणित सममित एन्क्रिप्शन का उपयोग करके गोपनीयता और अखंडता।
    • मेटाडेटा रिसाव को कम करना, जिसमें एन्क्रिप्टेड डेटा की उपस्थिति को छिपाना शामिल है।
    • जबरदस्ती हमलों को रोकना या उनका प्रतिरोध करना।
  2. स्थिर प्रारूप: दीर्घकालिक भंडारण के लिए क्रिप्टोग्राफ़िक चपलता के बिना एक स्थिर एन्क्रिप्टेड-डेटा प्रारूप बनाए रखें।
  3. सरलता: सरलता को प्राथमिकता दें और सुविधा विस्तार से बचें; प्राथमिक सुरक्षा लक्ष्यों से सीधे संबंधित न होने वाली सुविधाओं को लागू करने से इनकार करें।

Features

  • PURB-प्रारूप एन्क्रिप्टेड ब्लॉब: यादृच्छिक आकार और समान रूप से यादृच्छिक सामग्री; मेटाडेटा-सीमित (केवल कुल आकार लीक होता है — कोई हेडर, प्रकार, या सादा पाठ संकेत नहीं)।
  • पैडेड और एन्क्रिप्टेड टिप्पणियाँ: सामग्री के बारे में कोई सादा पाठ संकेत नहीं।
  • छिपा डेटा एम्बेडिंग (वैकल्पिक): प्रशंसनीय अस्वीकार्यता के लिए यादृच्छिक/एन्क्रिप्टेड कंटेनरों के अंदर क्रिप्टोब्लॉब छिपाएं।
  • टाइम-लॉक एन्क्रिप्शन (वैकल्पिक): डिक्रिप्शन में देरी करने के लिए धीमी ऑफ़लाइन PoW-आधारित कुंजी व्युत्पत्ति (विरोधी-जबरदस्ती)।
  • मजबूत प्रमाणित एन्क्रिप्शन: पूरी तरह से प्रतिबद्ध, क्वांटम-सुरक्षित ChaCha20-BLAKE2b AEAD।
  • मजबूत कुंजी स्ट्रेचिंग: Argon2id (libsodium "संवेदनशील" प्रोफ़ाइल) — 1 GiB मेमोरी, 1 लेन, 4 पास (डिफ़ॉल्ट और न्यूनतम)।
  • मनमाना कुंजी सामग्री: पासफ़्रेज़, फ़ाइलों, ब्लॉक उपकरणों, या निर्देशिकाओं से कुंजी व्युत्पन्न करें — क्रम मायने नहीं रखता।
  • प्रॉम्प्ट-आधारित CLI: सहज और इंटरैक्टिव, याद रखने के लिए कोई फ़्लैग नहीं।
  • [ ] [TODO] स्थिर, प्रलेखित प्रारूप: दीर्घकालिक अभिलेखीकरण और अंतरसंचालनीयता के लिए योजनाबद्ध।

Usage

tird का उपयोग करने के लिए आपको कमांड-लाइन विकल्प याद रखने की आवश्यकता नहीं है। इस उपकरण में एक प्रॉम्प्ट-आधारित CLI है: बस इसे शुरू करें, एक मेनू विकल्प चुनें, और आगे आने वाले प्रश्नों के उत्तर दें।``` $ tird

root@kitploit:~
                   MENU
———————————————————————————————————————————
0. Exit              1. Info & Warnings
2. Encrypt           3. Decrypt
4. Embed             5. Extract
6. Encrypt & Embed   7. Extract & Decrypt
8. Create w/ Random  9. Overwrite w/ Random
———————————————————————————————————————————

A0. SELECT AN OPTION [0-9]:

root@kitploit:~
## इनपुट विकल्प

इनपुट विकल्पों के 4 समूह हैं: A (क्रिया), D (डेटा), K (कुंजियाँ), P (आगे बढ़ें)। विवरण में सुविधा के लिए इन्हें क्रमांकित किया गया है।```
+——————————————————————+————————————————————————+
| A0. SELECT AN OPTION | A. Select an action    |
+——————————————————————+————————————————————————+
| D1. INPUT FILE PATH  |                        |
| D2. COMMENTS         | D. Enter data,         |
| D3. OUTPUT FILE PATH |    data location,      |
| D4. OUTPUT FILE SIZE |    data size           |
| D5. START POSITION   |                        |
| D6. END POSITION     |                        |
+——————————————————————+————————————————————————+
| K1. KEYFILE PATH     | K. Enter values        |
| K2. PASSPHRASE       |    related to          |
| K3. TIME COST        |    key derivation      |
+——————————————————————+————————————————————————+
| P0. PROCEED?         | P. Confirm to continue |
+——————————————————————+————————————————————————+

इन विकल्पों का विस्तृत विवरण उदाहरणों सहित यहाँ पाया जा सकता है।

पेलोड

क्रिप्टोब्लॉब निर्माण के दौरान एन्क्रिप्ट किया जाने वाला पेलोड निम्न से बना होता है:

  • एक फ़ाइल की सामग्री (वैकल्पिक): एक सामान्य फ़ाइल या एक ब्लॉक डिवाइस (संपूर्ण डिस्क/पार्टीशन)। यदि छोड़ दिया जाए, तो एक खाली फ़ाइल पेलोड एन्क्रिप्ट किया जाता है।
  • टिप्पणियाँ (वैकल्पिक): मनमाना UTF‑8 स्ट्रिंग, अधिकतम 1 KiB। डिफ़ॉल्ट रूप से, इनपुट फ़ाइल नाम का उपयोग किया जाता है। डिक्रिप्ट की गई टिप्पणियाँ डिक्रिप्शन पर दिखाई जाती हैं।

UI में पेलोड निर्दिष्ट करना इस प्रकार दिखता है:``` D1. FILE TO ENCRYPT (OPT): files.zip I: path: 'files.zip'; size: 2,824,230,648 B (2.6 GiB) D2. COMMENTS (DEFAULT='files.zip'): The X-Files, zip (секретные материалы) I: comments will be shown as ['The X-Files, zip (секретные материалы)']

root@kitploit:~
## इनपुट कुंजी सामग्री

`tird` कीफ़ाइलों की सामग्री और एक पासफ़्रेज़ का उपयोग करके एक-बार उपयोग कुंजियाँ प्राप्त करने का विकल्प प्रदान करता है।

- **कीफ़ाइलें (वैकल्पिक):** शून्य, एक, या एकाधिक कीफ़ाइल पथ; इनपुट के क्रम से कोई फर्क नहीं पड़ता। कीफ़ाइल पथ हो सकता है:
  - एक <ins>सामान्य फ़ाइल</ins>। कीफ़ाइल की सामग्री हैश की जाएगी, और इसका डाइजेस्ट आगे कुंजी विस्तार और कुंजी व्युत्पत्ति के लिए उपयोग किया जाएगा।
  - एक <ins>ब्लॉक डिवाइस</ins>। एक सामान्य कीफ़ाइल की तरह ही संभाला जाता है: सामग्री हैश की जाएगी।
  - एक <ins>निर्देशिका</ins>। निर्देशिका के भीतर सभी फ़ाइलें हैश की जाएंगी और कीफ़ाइलों के रूप में उपयोग की जाएंगी।
- **पासफ़्रेज़ (वैकल्पिक):** यूनिकोड [सामान्यीकरण](https://www.unicode.org/reports/tr15/) (फॉर्म C) के बाद 2048 बाइट्स तक; छोड़ा जा सकता है।

UI में IKM निर्दिष्ट करना इस प्रकार दिखता है:```
K1. KEYFILE PATH (OPT): key 
    I: path: 'key'; size: 32 B
    I: reading and hashing contents of 'key'
    I: keyfile accepted
K1. KEYFILE PATH (OPT): 
K2. PASSPHRASE (OPT): 
K2. CONFIRM PASSPHRASE: 
    I: passphrase accepted

एन्क्रिप्टेड डेटा प्रारूप

  • PURB प्रारूप:
    • डेटा जो यादृच्छिक दिखता है और इसमें कोई पहचान योग्य हेडर नहीं होते; इसे बिना संगत कुंजियों के यादृच्छिक डेटा से अलग नहीं किया जा सकता। यह गुण क्रिप्टोब्लॉब्स को अन्य यादृच्छिक डेटा के बीच छिपाने की अनुमति देता है।
    • यादृच्छिक आकार: पैडिंग की लंबाई बिना पैड वाले क्रिप्टोब्लॉब आकार के 0% और 25% के बीच समान रूप से चुनी जाती है (समतुल्य रूप से, अंतिम क्रिप्टोब्लॉब आकार का 20% तक)।
  • टिप्पणियाँ को एन्क्रिप्शन से पहले 1 KiB के निश्चित आकार में पैड (या ट्रंकेट) किया जाता है, जिससे उनकी मूल लंबाई पूरी तरह से छिप जाती है।
  • द्विपक्षीय रूप से लागू नमक: क्रिप्टोब्लॉब की शुरुआत या अंत को ओवरराइट करने (या अपूर्ण क्रिप्टोब्लॉब संग्रहीत करने) से सफल डिक्रिप्शन असंभव हो जाता है।
 क्रिप्टोब्लॉब योजना दिखाएँ``` +————————————————————————————————————————————————————————+ | CSPRNG output: | | Salt for key stretching used with Argon2 (16 B) | +————————————————————————————————————————————————————————+ | ChaCha20 output: | | Encrypted pad_ikm (8 B) | +————————————————————————————————————————————————————————+ | CSPRNG/BLAKE2 output: | | Randomized padding (0-25% of the unpadded size) | | + MAC tag (32 B) | +————————————————————————————————————————————————————————+ | ChaCha20/BLAKE2 output: | | Encrypted payload file contents + MAC tags (0+ B) | +————————————————————————————————————————————————————————+ | ChaCha20/BLAKE2 output: | | Encrypted padded comments (1 KiB) + MAC tag (32 B) | +————————————————————————————————————————————————————————+ | CSPRNG output: | | Salt for pre‑hashing IKM used with BLAKE2 (16 B) | +————————————————————————————————————————————————————————+ ```

अधिक जानकारी के लिए, specification देखें।

कम अवलोकनीयता और मेटाडेटा को न्यूनतम करना

जबकि एन्क्रिप्टेड संदेश की सामग्री सुरक्षित होती है, उसका आकार, उसकी उत्पत्ति, उसका गंतव्य... सुरक्षित नहीं होते। डेटा छिपा होता है, मेटाडेटा दिखाया जाता है। कभी-कभी, आपके दुश्मन को आपके रहस्यों को उजागर करने के लिए बस इतना ही चाहिए होता है।

— Loup Vaillant

हम लोगों को मेटाडेटा के आधार पर मारते हैं।

— Michael Hayden


Vs.
  • PURB format:
    • एन्क्रिप्टेड फ़ाइलें यादृच्छिक डेटा की तरह दिखती हैं।
    • एन्क्रिप्टेड फ़ाइलों का आकार यादृच्छिक होता है: पेलोड आकार का खुलासा नहीं करती हैं।
  • टिप्पणियाँ स्थिर पैडेड होती हैं, उनका आकार या अस्तित्व प्रकट नहीं करती हैं।
  • यह साबित नहीं करता कि दर्ज की गई कुंजियाँ गलत हैं।
  • प्रॉम्प्ट-आधारित CLI: शेल इतिहास के माध्यम से उपयोग किए गए विकल्पों का रिसाव नहीं।
  • आउटपुट फ़ाइल पथ उपयोगकर्ता-परिभाषित होता है और डिफ़ॉल्ट रूप से इनपुट फ़ाइल पथ से संबंधित नहीं होता।
  • वैकल्पिक: कंटेनरों में एन्क्रिप्टेड डेटा छिपाना।

tirdFS — उपयोगकर्ता-चालित स्टेग्नोग्राफ़िक फ़ाइल सिस्टम

tird एक ऐसी तकनीक का उपयोग करता है जिसे वर्णित किया गया है:

एन्क्रिप्टेड डेटा या यादृच्छिक डेटा के भीतर डेटा छिपाना। छिपाए जाने वाले संदेश को एन्क्रिप्ट किया जाता है, फिर एन्क्रिप्टेड डेटा के एक बहुत बड़े ब्लॉक या यादृच्छिक डेटा के एक ब्लॉक के भाग को ओवरराइट करने के लिए उपयोग किया जाता है (एक अनब्रेकेबल सिफर जैसे वन-टाइम पैड प्राइवेट कुंजी के बिना पूरी तरह से यादृच्छिक दिखने वाले सिफरटेक्स्ट उत्पन्न करता है)।

आप फ़ाइलों को एन्क्रिप्ट कर सकते हैं और मनमाने स्थानों से शुरू करके कंटेनरों में क्रिप्टोब्लॉब्स एम्बेड कर सकते हैं। क्रिप्टोब्लॉब लिखने के बाद, आपको कंटेनर में इसका स्थान (शुरुआती और समाप्ति स्थान) याद रखना होगा, जिसका उपयोग बाद में क्रिप्टोब्लॉब्स निकालने के लिए किया जाएगा। इस प्रकार, आप एक कंटेनर के अंदर tirdFS — छिपा हुआ, हेडरलेस, उपयोगकर्ता-चालित फ़ाइल सिस्टम बना सकते हैं:

  • यह छिपा हुआ है क्योंकि यादृच्छिक कंटेनर डेटा और क्रिप्टोब्लॉब डेटा के बीच अंतर करना असंभव है, साथ ही स्थितियों और कुंजियों को जाने बिना लिखे गए क्रिप्टोब्लॉब्स के स्थान का निर्धारण करना असंभव है।
  • यह हेडरलेस है क्योंकि कंटेनरों में कोई हेडर नहीं होते; क्रिप्टोब्लॉब स्थानों के बारे में सभी डेटा उपयोगकर्ता द्वारा अलग से संग्रहित किया जाना चाहिए।
  • कंटेनर में क्रिप्टोब्लॉब की शुरुआती स्थिति उपयोगकर्ता-परिभाषित होती है, और उपयोगकर्ता को शुरुआती और समाप्ति दोनों स्थितियों को कंटेनर से अलग संग्रहित करना होता है। इसीलिए इसे उपयोगकर्ता-चालित फ़ाइल सिस्टम कहा जाता है।

tirdFS आंतरिक मेटाडेटा संरचनाओं वाला माउंटेड फ़ाइल सिस्टम नहीं है। यह स्वतंत्र रूप से रखे गए क्रिप्टोब्लॉब्स से निर्मित एक उपयोगकर्ता-प्रबंधित छिपा हुआ भंडारण मॉडल है।

कोई भी फ़ाइल, डिस्क, या विभाजन जो न्यूनतम क्रिप्टोब्लॉब आकार (1160 B) से बड़ा है, एक मान्य कंटेनर हो सकता है। क्रिप्टोब्लॉब्स किसी भी क्षेत्र में एम्बेड किए जा सकते हैं।

मान्य कंटेनरों के उदाहरणों में शामिल हैं:

  1. यादृच्छिक डेटा के साथ विशेष रूप से उत्पन्न फ़ाइलें।
  2. यादृच्छिक डेटा वाले डिस्क क्षेत्र। उदाहरण के लिए, आप एक डिस्क को यादृच्छिक डेटा से ओवरराइट कर सकते हैं, इसे FAT32 या exFAT में फॉर्मेट कर सकते हैं, और डिस्क के एक बड़े हिस्से का उपयोग कर सकते हैं, शुरुआत से कुछ दर्जन MB छोड़ सकते हैं। डिस्क खाली दिखाई देगी जब तक आप इसमें कुछ फ़ाइलें न जोड़ें।
  3. LUKS एन्क्रिप्टेड वॉल्यूम।
  4. VeraCrypt कंटेनर, यहां तक कि वे जिनमें पहले से छिपे हुए वॉल्यूम हैं।

कंटेनर संरचना का उदाहरण:``` +—————————+—————————————+ <— Position 0 of the container | | | | | Random data | | | | | +—————————————+ <— Cryptoblob1 start position | Header- | | | less | Cryptoblob1 | | | | | Layer +—————————————+ <— Cryptoblob1 end position | | Random data | | Cake +—————————————+ <— Cryptoblob2 start position | | | | | Cryptoblob2 | | | | | +—————————————+ <— Cryptoblob2 end position | | Random data | +—————————+—————————————+

root@kitploit:~
**उपयोगकर्ता-प्रबंधित शीर्षलेख**

पृथक उपयोगकर्ता-प्रबंधित `tirdFS` टेक्स्ट शीर्षलेख कुछ इस प्रकार दिख सकता है:```
[100000000:100345765] secret_video.mp4
[100345765:234765345] various_secrets.zip
[12654876456:14765345098] Epstein_files_part1.zip

That is, it should typically contain the location of each cryptoblob in the container plus a brief comment. However, the user is free to determine how to store positions and what to include in such a header.

Visualization of Embedding

The next image visualizes how hard it is to distinguish one random data entry from another and the process of embedding cryptoblobs in a container.

 Show Images

Empty container with random data: Container

One cryptoblob embedded in the container: Embedded1

Two cryptoblobs embedded in the container: Embedded2

Three cryptoblobs embedded in the container: Embedded3

Animation: visualization of embedding: GIF: visualization of embedding

Storing and Carrying Concealed Encrypted Data

Carry everywhere. It is your right.

— Kyle Rittenhouse

Please look at the following screenshot.

Screenshot

It looks like this 16 GB volume contains only one 8.7 MiB file. Is it really true? Maybe yes, maybe no.

The file system tells us that there is only one file here. But is there really only one file on the volume? We cannot determine this using the file system. In fact, data may be located outside the file system and be undetectable by file system tools. The 15.2 GiB of space marked as free may be occupied by a hidden file system. This "free" space may be taken up by hidden encrypted data.

Can we disprove the existence of this data? Yes, for example, by examining the entropy level of this free space using binwalk. Low entropy indicates a likely absence of hidden data. High entropy does not by itself prove the presence of encrypted hidden data. Areas with high entropy can be either just residual data or hidden encrypted data.

If you are interested in hiding data outside the visible file system, then tird is at your service to provide an Invisibility Cloak for your files.

Time-lock Encryption

TLE image

Time-lock encryption (TLE) can be used to prevent an adversary from quickly accessing plaintexts in the event of an IKM compromise (in case of user coercion, for example). In our implementation, it is actually a PoW-based time-lock key derivation. The "Time cost" input option specifies the number of Argon2 passes. If you specify a sufficiently high number of passes, it will take a significant amount of time to perform them. However, an attacker will require the same amount of time when using similar hardware. The execution of Argon2 cannot be accelerated through parallelization, so it is expected that the time spent by an attacker will be approximately the same as that spent by the defender.

This TLE implementation works offline, unlike tlock.

Set the desired TIME COST value:``` K3. TIME COST (DEFAULT=4): 1000000 I: time cost: 1,000,000 W: decryption will require the same "TIME COST" value!

root@kitploit:~
**संभावित TLE:** प्रतिद्वंद्वी समय लागत के वास्तविक मान को नहीं जानता, इसलिए आप पासों की संख्या को संभावित रूप से गलत बता सकते हैं। जब तक वे निर्दिष्ट समय लागत मान का उपयोग करके क्रिप्टोब्लॉब को डिक्रिप्ट करने का प्रयास नहीं करते, तब तक प्रतिद्वंद्वी आपके दावे का खंडन नहीं कर सकता।

## कमांड-लाइन विकल्प

सामान्य उपयोग के लिए `tird` को किसी कमांड-लाइन विकल्प की आवश्यकता नहीं है।```
$ tird --help
tird v0.30.0
        A tool for encrypting files and hiding encrypted data.
        Homepage: https://github.com/hakavlad/tird

Usage:
    tird [--unsafe-debug] [--unsafe-decrypt]

    Start without options for normal usage.

Options:
    --help            print this help message and exit
    --unsafe-debug    enable unsafe debug mode
    --unsafe-decrypt  release plaintext even if MAC verification
                      failed (dangerous)

Examples:
    $ tird
    $ tird --unsafe-debug

असुरक्षित डीबग मोड

[!चेतावनी] डीबग मोड उत्पादन में उपयोग के लिए अभिप्रेत नहीं है!

प्रोग्राम चलने के दौरान अंदर की जांच करने के लिए tird को --unsafe-debug विकल्प के साथ प्रारंभ करें।

डीबग मोड सक्षम करने पर अतिरिक्त रूप से दिखाया जाता है:

  • फ़ाइल संचालन:
    • फ़ाइल डिस्क्रिप्टर को खोलना और बंद करना।
    • खोली गई फ़ाइलों के वास्तविक पथ।
    • फ़ाइल पॉइंटर्स की गति।
  • क्रिप्टोग्राफ़िक संचालन से संबंधित बाइट स्ट्रिंग्स: साल्ट, पासफ़्रेज़, डाइजेस्ट, कुंजियाँ, नॉन्स और टैग।
  • कुछ अन्य जानकारी, जिसमें विभिन्न आकार शामिल हैं।

असुरक्षित डिक्रिप्ट मोड

[!चेतावनी] इस मोड में लौटाया गया प्लेनटेक्स्ट किसी हमलावर द्वारा संशोधित या प्रतिस्थापित किया जा सकता है!

असुरक्षित डिक्रिप्ट मोड में tird प्रमाणीकरण विफल होने पर भी प्लेनटेक्स्ट जारी करेगा। इसका उपयोग केवल तभी करें जब आप अखंडता पर उपलब्धता को प्राथमिकता देते हैं, जब आप सामान्य मोड में क्रिप्टोब्लॉब को सफलतापूर्वक डिक्रिप्ट नहीं कर सकते।

व्यापार-बंद और सीमाएँ

  • tird समर्थन नहीं करता:
    • सार्वजनिक-कुंजी क्रिप्टोग्राफ़ी।
    • फ़ाइल संपीड़न।
    • ASCII कवचित आउटपुट।
    • रीड-सोलोमन त्रुटि सुधार।
    • आउटपुट को टुकड़ों में विभाजित करना।
    • फ़ाइलों को संसाधित करने के लिए मानक धाराओं का उपयोग (स्वचालित स्क्रिप्ट के लिए अभिप्रेत नहीं)।
    • MS Windows पर निम्न-स्तरीय ब्लॉक डिवाइस पढ़ना और लिखना। परिणामस्वरूप, इन उपकरणों का उपयोग कीफ़ाइल के रूप में नहीं किया जा सकता, उन्हें ओवरराइट नहीं किया जा सकता, और उन्हें एन्क्रिप्ट या एम्बेड नहीं किया जा सकता।
  • tird प्रदान नहीं करता:
    • एक ग्राफ़िकल यूज़र इंटरफ़ेस।
    • एक पासवर्ड जनरेटर।
  • tird एक पास में एक से अधिक फ़ाइलों को हैंडल (एन्क्रिप्ट/एम्बेड) नहीं कर सकता। निर्देशिकाओं और एकाधिक फ़ाइलों का एन्क्रिप्शन समर्थित नहीं है।
  • tird फ़ाइलसिस्टम मेटाडेटा (atime, mtime, ctime) को सैनिटाइज़ नहीं करता।
  • tird की एन्क्रिप्शन गति बहुत अधिक नहीं है (आधुनिक हार्डवेयर पर मेरे परीक्षणों में 730 MiB/s तक)।

चेतावनियाँ

क्रिप्टो मदद कर सकता है, लेकिन यह आपको दुरुपयोग, कमजोरियों, सोशल इंजीनियरिंग या भौतिक खतरों से नहीं बचाएगा।

— लूप वैलेंट

खतरा खदानें
  • ⚠️ लेखक की क्रिप्टोग्राफ़ी में कोई पृष्ठभूमि नहीं है।
  • ⚠️ कोड का कोई स्वचालित परीक्षण कवरेज नहीं है।
  • ⚠️ tird का मनुष्यों द्वारा स्वतंत्र रूप से सुरक्षा ऑडिट नहीं किया गया है।
  • ⚠️ tird एक समझौता किए गए वातावरण में अप्रभावी है; ऐसे मामलों में इसे निष्पादित करने से विनाशकारी डेटा लीक हो सकती है।
  • ⚠️ tird छोटी और अनुमानित कुंजियों के साथ उपयोग किए जाने पर प्रभावी होने की संभावना नहीं है।
  • ⚠️ tird उपयोग के बाद अपने संवेदनशील डेटा को मेमोरी से मिटाता नहीं है; प्रोग्राम से बाहर निकलने के बाद कुंजियाँ मेमोरी में बनी रह सकती हैं।
  • ⚠️ संवेदनशील डेटा स्वैप स्पेस में लीक हो सकता है।
  • ⚠️ फ़ाइलसिस्टम टाइमस्टैम्प सैनिटाइज़ नहीं किए जाते — परिचालन मेटाडेटा लीक हो सकता है।
  • ⚠️ tird कीफ़ाइलों और पासफ़्रेज़ के डाइजेस्ट को स्थिर-समय में सॉर्ट नहीं करता।
  • ⚠️ फ़ाइल सामग्री को ओवरराइट करना मीडिया पर डेटा के सुरक्षित विनाश की गारंटी नहीं देता।
  • ⚠️ आप किसी प्रतिद्वंद्वी को यह साबित नहीं कर सकते कि आपके यादृच्छिक डेटा में एन्क्रिप्टेड जानकारी नहीं है।
  • ⚠️ tird डेटा की रक्षा करता है, उपयोगकर्ता की नहीं; यह संदेह होने पर यातना को नहीं रोक सकता।
  • ⚠️ कुंजी व्युत्पत्ति 1 GiB रैम की खपत करती है, जो कम मेमोरी वाले सिस्टम पर प्रदर्शन समस्याएँ या क्रैश का कारण बन सकती है।
  • ⚠ी उपलब्धता पर अखंडता/प्रामाणिकता — क्रिप्टोब्लॉब के एक भी बाइट को बदलने से डिक्रिप्शन अवरुद्ध हो जाता है।
  • ⚠️ विकास पूरा नहीं हुआ है, और पश्चगामी संगतता के मुद्दे हो सकते हैं।

आवश्यकताएँ

  • Python >= 3.9.2
  • cryptography >= 2.1 (प्रदान करता है HKDF और एक तेज़ ChaCha20 कार्यान्वयन)
  • PyNaCl >= 1.2.0 (प्रदान करता है Argon2 और BLAKE2 के तेज़ कार्यान्वयन)
  • colorama >= 0.4.6 (Windows-विशिष्ट)

दस्तावेज़ीकरण

  • 📜 tird(1) मैन पेज
  • 📑 विनिर्देश
  • 📄 इनपुट विकल्प
  • 📖 ट्यूटोरियल/डेमो
  • ❓ FAQ/तर्क
  • 📥 स्थापना

TODO

दस्तावेज़ीकरण में सुधार करें।

प्रतिक्रिया

कृपया चर्चा अनुभाग में प्रश्न पूछने, प्रतिक्रिया देने या आलोचना प्रदान करने में संकोच न करें।

टूल डाउनलोड करें