پیکوکریپت یک ابزار رمزگذاری بسیار کوچک («پیکو» یعنی چیز خیلی کوچک و ریز)، بسیار ساده و با این حال بسیار امن است که شما میتوانید برای محافظت از فایل هایتان از آن استفاده کنید. این ابزار با تمرکز بر امنیت، سادگی و قابل اتکا بودن، به گونه ای طراحی شده تا بهترین ابزار برای رمزگذاری باشد. پیکوکریپت از سایفر (الگوریتم قفل گذاریِ) امنِ XChaCha20 و از تابع استخراج کلیدِ Argon2id استفاده میکند تا بتواند سطح بالایی از امنیت را فراهم کند (حتی در برابر سازمان های امنیتی مانند سازمان امنیت آمریکا یا همان NSA). این ابزار برای امنیت حداکثری طراحی شده و هیچ قصور و کوتاهی از بابت امنیت انجام نمیدهد و با ماژول های استانداردِ x/crypto از زبان Go ساخته شده است. حریم خصوصی و امنیت شما تحت حمله است. با محافظت کردن فایل هایتان توسط پیکوکریپت، حریم خصوصی و امنیت خود را با اطمینان خاطر پس بگیرید.
لطفاً در سایت Open Collective (رمزارز هم پذیرفته میشود) به پیکوکریپت کمک مالی کنید تا پول مورد نیاز برای انجام یک ممیزی امنیتی روی پیکوکریپت از طرف گروه امنیتی Cure53 جمع آوری شود. چون این پروژه ای است که من ساعت ها روی آن وقت میگذارم و درآمدی از آن ندارم، نمیتوانم خودم پول برای یک ممیزی امنیتی پرداخت کنم. پیکوکریپت به حمایت از طرف جامعه کاربرانش نیاز دارد.
نکته مهم: یک نرم افزار رها شده، قدیمی و بی مصرف به نام PicoCrypt که آخرین بار در سال 2005 (1384 خورشیدی) بروز شده، در اینترنت وجود دارد. PicoCrypt به هیچ وجه با Picocrypt (این پروژه) ارتباطی ندارد. دقت داشته باشید که پیکوکریپت را فقط از این صفحه دانلود کنید تا بتوانید اطمینان داشته باشید که پیکوکریپتِ اصل و بدون درپشتی (حفره امنیتی) را دریافت کرده اید.
پیکوکریپت برای ویندوز به ساده ترین شکل ممکن است. برای دانلود نسخه بروز و خوداتکا (Standalone) و قابل حمل پیکوکریپت برای ویندوز اینجا کلیک کنید. اگر ویندوز دیفندر یا آنتی ویروس شما پیکوکریپت را به عنوان ویروس شناسایی میکند، لطفاً لطف کنید و پیکوکریپت را به عنوان مثبت کاذب (False Positive) ثبت کنید تا به نفع همه بشود .
پیکوکریپت برای مکOS هم بسیار ساده است. آن را از اینجا دانلود کنید و فایل را از حالت فشرده در بیاورید و پیکوکریپت داخل پوشه را اجرا کنید. اگر به علت اینکه پیکوکریپت از طرف یک توسعه دهنده تایید شده نیست نمیتوانید آن را باز کنید، روی فایل پیکوکریپت کلیک راست کنید و گزینه "Open/باز کردن" را بزنید. اگر هنوز هم اخطار دریافت میکنید، روی فایل پیکوکریپت کلیک راست کنید و گزینه "Open/باز کردن" را دوباره بزنید تا بتوانید پیکوکریپت را راه اندازی کنید.
برای استفاده از پیکوکریپت در گنو/لینوکس چند راه وجود دارد. راه پیشنهادی، نصب پیکوکریپت از این فایل deb. میباشد (پشتیبانی شده در +11 Debian و +20 Ubuntu). اگر فایل نصبی deb. نیاز های شما را برآورده نمیکند و یا از یک توزیع برپایه دبیان استفاده نمیکنید، با خیال راحت از این فایل AppImage استفاده کنید. اگر هیچکدام از این دو گزینه کار نمیکند، میتوانید پیکوکریپت را از Snapcraft نصب کنید که باید روی همه توزیع ها کار کند. توضیحات مربوط به نصب از Snapcraft را اینجا میتوانید پیدا کنید.
پک اضطراری یک فایل فشرده است که شامل فایل های اجرایی همه نسخه های پیکوکریپت برای ویندوز، مکOS و گنو/لینوکس میباشد. تا زمانی که شما این فایل را در یک جای قابل دسترس نگهداری کنید، اگر یک زمان این صفحه به طرز مرموزی ناپدید شد و یا کل اینترنت سوخت و از بین رفت، میتوانید آن فایل را باز کنید و هر نسخه ای از پیکوکریپت که نیاز دارید را استفاده کنید. به این پک به چشم یک خزانه بذر (سیلو) نگاه کنید. تا زمانی که یک نفر پک اضطراری را در دسترس داشته باشد، در صورتی که اتفاق وحشتناکی مثل خاموش شدن GitHub یا دستگیر شدن من توسط سازمان امنیت آمریکا (نگی نگفتی) رخ بدهد، آن فرد میتواند این پک را با بقیه جهان در اشتراک بگذارد و پیکوکریپت را زنده نگه دارد. بهترین راهی که میتوانید مطمئن باشید پیکوکریپت تا چندین دهه بعد در دسترس میماند، این است که پک اضطراری را در یک مکان امن نگهداری کنید. پس بنابراین اگر نگرانید که در آینده نتوانید به پیکوکریپت دسترسی داشته باشید، خب راه حل همین بود. فقط کافیست به بخش Releases (انتشارات) بروید و یک نسخه برای خودتان ذخیره کنید.
چرا به جای BitLocker، NordLocker، VeraCrypt، AxCrypt یا 7Zip بهتر است از پیکوکریپت استفاده کنید؟ چند دلیل که چرا بهتر است پیکوکریپت را انتخاب کنید:
- برخلاف NordLocker، BitLocker، AxCrypt و بیشتر فراهم کننده های حافظه ابری، پیکوکریپت و کتابخانه ها و Dependency هایش کاملاً آزاد و قابل بررسی هستند (میتوانید کد های آنها را مطالعه کنید). شما میتوانید خودتان مطمئن شوید که هیچ عیب عمدی یا درپشتی در پیکوکریپت وجود ندارد.
- پیکوکریپت کوچک و کم حجم است. در حالی که NordLocker بیش از 50 مگ و VeraCrypt بیش از 20 مگ حجم دارد، پیکوکریپت فقط 2 مگ فضا میگیرد، تقریباً به اندازه یک عکس با کیفیت متوسط. و این همه ماجرا نیست، پیکوکریپت قابل حمل است (نیازی به نصب شدن ندارد) و نیاز به دسترسی ادمین/روت ندارد.
- استفاده از پیکوکریپت ساده تر و نوآورانه تر از VeraCrypt است. برای رمزگذاری فایل هایتان توسط VeraCrypt شما باید حداقل 5 دقیقه زمان بگذارید و یک پارتیشن راه اندازی کنید. اما با ظاهر کاربری ساده پیکوکریپت، تنها کاری که باید بکنید این است که فایلتان را بکشید و داخل پیکوکریپت بندازید، یک گذرواژه وارد کنید و دکمه آغاز/Start را بزنید. همه فرایند های پیچیده توسط پیکوکریپت به صورت داخلی انجام میشوند. کی گفته بود رمزگذاری کار سختیه؟
- پیکوکریپت برای امنیت طراحی شده است. اما 7Zip یک ابزار بایگانی و فشرده سازی داده هاست و یک ابزار رمزگذاری نیست، بنابراین تمرکزی بر امنیت ندارد. اما پیکوکریپت با امنیت به عنوان بالاترین اولویت طراحی شده است. هر بخش از پیکوکریپت به یک دلیل خاص وجود دارد و هر چیزی که میتواند روی امنیت پیکوکریپت تاثیر منفی بگذارد حذف شده است. پیکوکریپت با الگوریتم رمزنگاری که مورد اطمینان شما باشد ساخته شده است.
- پیکوکریپت علاوه بر محافظت کردن از داده، از موثق و اصل بودن داده هم اطمینان حاصل میکند تا هکر ها نتوانند با قصد بد یا مخربی اطلاعات حساس شما را دستکاری کنند. این موضوع زمانی کارآمد است که شما قصد دارید فایل های رمزگذاری شده ای را از طریق یک راه ارتباطی ناامن بفرستید و میخواهید مطمئن باشید که فایل ها دست نخورده به دست طرف مقابل میرسند.
- پیکوکریپت با اضافه کردن بایت های توازن (Parity)، به طور فعالانه از سربرگ داده ها در برابر خراب شدن محافظت میکند، بنابراین اگر بخشی از سربرگ داده ها (که شامل اجزای مهم رمزنگاری میباشد) خراب بشود (مثلاً هارد درایو دچار پوسیدگی بیت/ Bit rot بشود)، پیکوکریپت هنوز هم میتواند سربرگ را بازیابی کند و اطلاعات شما را با درصد موفقیت بالایی بازیابی کند. پیکوکریپت همچنین میتواند کل داده ها را با الگوریتم تصحیح خطا رید-سالامون کدگذاری نماید تا از خراب شدن فایل های مهم شما پیشگیری کند.
پیکوکریپت در مقایسه با دیگر ابزار های معروف رمزگذاری.
Picocrypt | VeraCrypt | 7-Zip (GUI) | BitLocker | Cryptomator | NordLocker | AxCrypt | |
---|---|---|---|---|---|---|---|
رایگان | ✅ بله | ✅ بله | ✅ بله | 🟧 تا حدودی | ✅ بله | 🟧 تا حدودی | 🟧 تا حدودی |
آزاد | ✅ GPLv3 | ✅ چند لایسنسه | ✅ LGPL | ❌ خیر | ✅ GPLv3 | ❌ خیر | ❌ خیر |
چند-سکویی | ✅ بله | ✅ بله | ❌ خیر | ❌ خیر | ✅ بله | ❌ خیر | ❌ خیر |
حجم | ✅ 2MB | ❌ 20MB | ✅ 2MB | ✅ نامشخص | ❌ 50MB | ❌ 60MB | 🟧 8MB |
قابل حمل | ✅ بله | ✅ بله | ❌ خیر | ✅ بله | ❌ خیر | ❌ خیر | ✅ بله |
دسترسی ها | ✅ هیچ | ❌ ادمین | ❌ ادمین | ❌ ادمین | ❌ ادمین | ❌ ادمین | ❌ ادمین |
آسانی استفاده | ✅ آسان | ❌ سخت | ✅ آسان | 🟧 متوسط | 🟧 متوسط | 🟧 متوسط | ✅ آسان |
الگوریتم قفل گذاری (سایفر) | ✅ XChaCha20 | ✅ AES-256 | ✅ AES-256 | 🟧 AES-128 | ✅ AES-256 | ✅ AES-256 | 🟧 AES-128 |
تابع استخراج کلید | ✅ Argon2 | 🆗 PBKDF2 | ❌ SHA256 | ❓ نامشخص | ✅ Scrypt | ✅ Argon2 | 🆗 PBKDF2 |
یکپارچگی داده ها | ✅ همیشگی | ❌ خیر | ❌ خیر | ❓ نامشخص | ✅ همیشگی | ✅ همیشگی | ✅ همیشگی |
تصحیح خطا (رید-سالامون) | ✅ بله | ❌ خیر | ❌ خیر | ❌ خیر | ❌ خیر | ❌ خیر | ❌ خیر |
فشرده سازی | ✅ بله | ❌ خیر | ✅ بله | ✅ بله | ❌ خیر | ❌ خیر | ✅ بله |
جمع آوری داده | ✅ هیچ | ✅ هیچ | ✅ هیچ | ❓ نامشخص | ✅ هیچ | ❌ داده های آماری | ❌ حساب کاربری |
ممیزی امنیتی | 🟧 تحت اقدام | ✅ بله | ❌ خیر | ❓ نامشخص | ✅ بله | ❓ نامشخص | ❌ خیر |
پیکوکریپت یک ابزار بسیار ساده است، و اکثر کاربران به طور حسی و شهودی روش کار کردن با آن را در چند ثانیه متوجه میشوند. در یک سطح مقدماتی، فقط کافیست فایل های خودتان را به داخل برنامه بکشید (Drag کنید) و یک گذرواژه وارد کنید، سپس دکمه آغاز/Start را بزنید و فقط همین چند کار برای رمزگذاری کردن بقیه فایل هایتان نیاز است. تقریباً آسونه، مگه نه؟
با وجود ساده بودن، پیکوکریپت تلاش میکند که برای افراد حرفه ای و وارد، قوی و قدرتمند عمل کند. بنابراین، چند ویژگی اضافه تر وجود دارد که ممکن است به کار شما بیاید.
- گذرواژه ساز: پیکوکریپت یک گذرواژه ساز امن فراهم میکند که میتوانید به کمک آن گذرواژه های امن و قوی بسازید. شما میتوانید طول گذرواژه و نوع حروف آن را شخصی سازی کنید.
- یادداشت ها: به کمک این قابلیت میتوانید یادداشت، اطلاعات و هر متن دیگری را در کنار فایل ذخیره کنید (یادداشت ها رمزنگاری نخواهند شد). برای مثال، اگر قرار است فایل را برای کسی بفرستید، میتوانید هنگام رمزنگاری کردن توضیحاتی درباره فایل هم در کنار آن قرار دهید. زمانی که طرف مقابل فایل شما را در پیکوکریپت بیندازد، توضیحاتی که نوشته بودید به او نشان داده میشود.
- کلیدفایل ها: پیکوکریپت از کلیدفایل به عنوان شکل اضافه تری برای اصالت سنجی و احراز هویت پشتیبانی میکند (و یا به عنوان تنها روش اصالت سنجی به این معنا که فقط به کمک کلیدفایل بتوانید فایل ها را رمزگشایی کنید). شما میتوانید از چند کلیدفایل استفاده کنید و علاوه بر این میتوانید تعیین کنید که کلیدفایل ها به ترتیب مشخصی اعمال بشوند تا رمزگشایی با موفقیت انجام بگیرد. یک کاربرد نسبتاً خوبِ چند کلیدفایل برای زمانی است که میخوایید یک فایل مشترک را رمزگذاری کنید، در این شرایط یک کلیدفایل به هر نفر اختصاص داده میشود و برای رمزگشایی کردن آن فایل مشترک در آینده، باید همه آن افراد (و کلیدفایل هایشان) حاضر باشند.
- حالت جنون: در این حالت، داده های شما هم با الگوریتم قفل گذاری XChaCha20 و هم با الگوریتم Serpent به شکل آبشاری رمزگذاری خواهند شد و برای بررسی اصالت داده ها، به جای BLAKE2b از کد اصالت سنجیِ HMAC-SHA3 استفاده میشود. این حالت بالاترین سطح امنیت که در عمل، شدنی و دست یافتنی باشد را فراهم میکند و برای محافظت از فایل های فوق سری پیشنهاد میشود. با فرض بر اینکه گذرواژه خوبی انتخاب کرده باشید، یک هکر به منظور اینکه بتواند قفل داده های شما را باز کند، باید هم الگوریتم قفل گذاری XChaCha20 و هم الگوریتم Serpent را بشکند. به جرئت میتوان گفت که در این حالت، شکستن قفل فایل های شما نشدنی خواهد بود.
- تصحیح خطا (رید-سالامون): اگر قصد دارید اطلاعات مهمی را در فضای ابری یا هارد اکسترنال برای مدت خیلی طولانی نگهداری کنید، این قابلیت برای شما بسیار کاربردی خواهد بود. اگر آن را فعال کنید، پیکوکریپت از کد تصحیح خطا رید-سالامون استفاده کرده و 8 بایت اضافی به ازای هر 128 بایت اضافه میکند تا از خرابی فایل پیشگیری کند. این بدان معناست که تا حداکثر تقریباً 3 درصد فایل شما میتواند خراب بشود و با این حال پیکوکریپت میتواند خطا ها را رفع کند و فایل های شما را بدون هیچ خرابی رمزگشایی کند. البته، اگر فایل های شما خرابی زیادی پیدا کنند (مثلاً هارد اکسترنال از دستتان بیفتد)، پیکوکریپت نمیتواند فایل های شما را کاملاً بازیابی کند، اما همه تلاشش را میکند تا هر چقدر را که میتواند بازیابی کند. در جریان باشید که این قابلیت، رمزگذاری و رمزگشایی را به طور قابل توجهی کند میکند.
- رمزگشایی زوری: پیکوکریپت به طور خودکار هنگام رمزگشایی، یکپارچگی فایل را بررسی میکند. اگر فایل دستکاری یا خراب شده باشد، پیکوکریپت برای امنیت کاربر به صورت خودکار خروجی را حذف میکند (خروجی یعنی مقداری که تا آن لحظه رمزگشایی شده). اگر تمایل دارید که این تدابیر امنیتی را غیرفعال کنید، میتوانید این قابلیت (رمزگشایی زوری) را فعّال کنید. همچنین، اگر این قابلیت فعّال باشد و تصحیح خطا (رید-سالامون) هم در فایل رمزگذاری شده به کار رفته باشد، پیکوکریپت تلاش خواهد کرد که در فرایند رمزگشایی، هر چقدر که میتواند را بازیابی کند.
- تقسیم فایل به تکه های کوچکتر: حوصله سر و کله زدن با فایل های غول پیکر و حجم بالا را ندارید؟ نگران نباشید! با پیکوکریپت شما میتوانید فایل هایتان را به تکه های کوچکتر با اندازه دلخواه خودتان تقسیم کنید. بنابراین مدیریت فایل های بزرگتر راحت تر شده و بارگذاری فایل هایتان در سرویس های ابری نیز آسان تر میگردد. شما میتوانید به سادگی یک واحد (کیلوبایت، مگابایت، گیگابایت یا ترابایت) را انتخاب کنید و اندازه تکه های موردنظرتان را وارد کنید. برای رمزگشایی کردن تکه ها، کافیست یکی از آنها را به درون پیکوکریپت بکشید و بیندازید و همه تکه ها به صورت خودکار هنگام رمزگشایی تبدیل به یک فایل خواهند شد.
برای اطلاعات بیشتر درباره اینکه پیکوکریپت چگونه رمزنگاری را مدیریت میکند، این فایل را برای جزئیات فنی مطالعه کنید. اگر درباره امنیت من یا این پروژه نگران هستید، بگذارید به شما اطمینان بدهم که این صفحه هرگز دزدیده یا هک نخواهد شد. من ورود دو مرحله ای (TOTP: گذرواژه یکبارمصرف بر اساس زمان) روی همه حساب های کاربری که به پیکوکریپت ارتباط دارند فعّال کرده ام (گیتهاب، گوگل، ردیت، اسنپ کرفت اوبونتو، دیسکورد و ...)، همچنین همه دستگاه های قابل حمل خودم را رمزگذاری کرده ام. برای امن سازی بیشتر، کتابخانه ها و Dependency هایی که پیکوکریپت از آن استفاده میکند را در یک محیط ایزوله نگهداری میکنم و فقط زمانی نسخه بروز آن ها را اعمال میکنم که تغییرات جدید آن ها را نگاه کرده باشم و مطمئن باشم که هیچ مشکل امنیتی در آنها وجود ندارد. این بدان معناست که اگر یک کتابخانه هک شده یا توسط سازنده اش حذف شود، پیکوکریپت اصلاً تحت تاثیر قرار نمیگیرد و با نسخه ای که من دارم به کار کردن ادامه خواهد داد. شما میتوانید درباره استفاده از پیکوکریپت اطمینان خاطر داشته باشید.
برای جلب رضایتِ افراد گوش به زنگ و بیش از حد مراقب، پیکوکریپت با PGP امضا شده است. اثرانگشت و کلید عمومی در پایین نوشته شده اند.
B342A744BDEEA57B6A583E33A247E73798946F55
-----BEGIN PGP PUBLIC KEY BLOCK----- mDMEYoGUHxYJKwYBBAHaRw8BAQdAvmQA+pdbDB/ynJxHhNDpz6Sb5tgkNuuNJIvw HYwZtqi0CVBpY29jcnlwdIiTBBMWCgA7FiEEs0KnRL3upXtqWD4zokfnN5iUb1UF AmKBlB8CGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQokfnN5iUb1UZ RgEA8jbIsdqCr21DWxcqW/eLlbxRkuA8kflVYvWWUxtVqsUA/jQPSDpvA8rakvaL PIbXjQvrAMkEVIc0HbCzLxr1k3sH =YFwz -----END PGP PUBLIC KEY BLOCK-----
در این دو جا میتوانید درباره پیکوکریپت اطلاعات جدید کسب کنید و در بهبود آن مشارکت کنید:
من شدیداً پیشنهاد میکنم که عضو ساب ردیتِ پیکوکریپت بشوید چون همه بروزرسانی ها و نظرسنجی ها آنجا قرار خواهد گرفت. به یاد داشته باشید که فقط به این شبکه اجتماعی پیکوکریپت اعتماد کنید و مراقب هکر هایی که ممکن است خودشان را به جای من بزنند باشید. من هرگز از شما گذرواژه تان را نمیپرسم و هر کس که این کار را میکند از طرف من نیست. من هرگز به شمان خواهم گفت که فایلی را از یک لینک مشکوک دانلود کنید و هر کس که این کار را میکند از طرف من نیست.
پیکوکریپت چطور عمل کرده؟ این عکس را ببینید تا متوجه بشوید.
اگر پیکوکریپت به کار شما آمده و به دردتان خورده، لطفاً در نظر بگیرید که از طریق پی پال به من کمک مالی کنید. من این نرم افزار را به صورت کاملاً رایگان در اختیار شما قرار داده ام و دوست دارم که یک سری حامی مالی داشته باشم که به من انگیزه بدهند تا به کار کردن روی پیکوکریپت ادامه بدهم.
یک تشکر از صمیم قلب به همه کسانی که در سایت Open Collective کمک مالی چشمگیری کرده اند:
- YellowNight ($818 = 24,500,000 تومان)
- evelian ($50 = 1,500,000 تومان)
- jp26 ($50 = 1,500,000 تومان)
- guest-116103ad ($50 = 1,500,000 تومان)
- Tybbs ($10 = 300,000 تومان)
- N. Chin ($10 = 300,000 تومان)
- Manjot ($10 = 300,000 تومان)
- Phil P. ($10 = 300,000 تومان)
- donor39 (حامی)
- Pokabu (حامی)
شما کسانی هستید که به من انگیزه میدهید تا روی پیکوکریپت کار کنم و آن را رایگان در اختیار همه قرار بدهم!
همچنین، یک تشکر بزرگ به این پنج نفر، که جزو نخستین کسانی بودند که حمایت مالی انجام دادند و از پیکوکریپت حمایت کردند:
- W.Graham
- N. Chin
- Manjot
- Phil P.
- E. Zahard
همچنین یک تشکر بزرگ به این افراد، که در ترجمه پیکوکریپت یاری رساندند و آن را برای جهانیان قابل دسترس تر کردند:
- @umitseyhan75 برای ترکی
- @digitalblossom & @Pokabu26 برای آلمانی
- @zeeaall برای پرتغالی برزیلی
- @kurpau برای لیتوانیایی
- u/francirc برای اسپانیایی
- yn برای روسی
- @Etim-Orb برای مجارستانی
- @Minibus93 برای ایتالیایی
- Michel برای فرانسوی
- @victorhck برای اسپانیایی
- @MasterKia برای پارسی
- @ungespurv برای لهستانی
و در پایان، سپاس از همه این افراد/سازمان ها که در موقع نیاز به من کمک کردند:
- [ سانسور شده ] برای کمک به من برای ساخت یک فایل نصبی AppImage برای پیکوکریپت
- u/Upstairs-Fishing867 برای کمک به من برای آزمایش کردن امضای دیجیتالِ PGP
- Fuderal در دیسکورد برای کمک به من برای راه اندازی یک سرور دیسکورد
- u/greenreddits برای بازخورد های پی در پی و پشتیبانی
- u/Tall_Escape برای کمک به من برای آزمایش و تست کردن پیکوکریپت
- u/NSABackdoors برای انجام کلی آزمایش و تست
- @samuel-lucas6 برای بازخورد، پیشنهاد ها و پشتیبانی
- PrivacyToolsIO برای ذکر کردن پیکوکریپت
- PrivacyGuides برای ذکر کردن پیکوکریپت