প্রকল্প সম্পর্কে
git-crypt একটি কমান্ড-লাইন টুল যা git রিপোজিটরির মধ্যে ফাইলগুলির স্বচ্ছ এনক্রিপশন এবং ডিক্রিপশন সক্ষম করে। সুরক্ষার জন্য নির্ধারিত ফাইলগুলি কমিটের সময় স্বয়ংক্রিয়ভাবে এনক্রিপ্ট হয় এবং চেকআউটের সময় ডিক্রিপ্ট হয়, যাতে দলগুলি পুরো রিপোজিটরি লক না করেই পাবলিক এবং প্রাইভেট কন্টেন্টের মিশ্রণ ধারণকারী রিপোজিটরি শেয়ার করতে পারে।
মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে:
- git ফিল্টারের মাধ্যমে স্বচ্ছ এনক্রিপশন এবং ডিক্রিপশন, তাই প্রাথমিক সেটআপের পরে ব্যবহারকারীরা স্বাভাবিকভাবে git ব্যবহার করতে পারেন
- ফাইলের SHA-1 HMAC থেকে প্রাপ্ত সিন্থেটিক IV সহ CTR মোডে AES-256, নির্ধারিত চয়েসেন-প্লেইনটেক্সট আক্রমণের অধীনে শব্দার্থিক নিরাপত্তা প্রদান করে
- বহু-ব্যবহারকারী সহযোগিতার জন্য GPG-ভিত্তিক কী শেয়ারিং, যেখানে git-crypt add-gpg-user এর মাধ্যমে পাবলিক কী যোগ করা হয়
- GPG প্রয়োজন ছাড়াই নিরাপদ কী বিতরণের জন্য সিমেট্রিক কী এক্সপোর্ট
- সুন্দর অবনতি, যাতে গোপন কী ছাড়া ডেভেলপাররা এখনও রিপোজিটরি ক্লোন এবং কমিট করতে পারে
কনফিগারেশন একটি .gitattributes ফাইলের মাধ্যমে করা হয় যা নির্দিষ্ট করে কোন ফাইল বা প্যাটার্ন এনক্রিপ্ট করা উচিত। প্যাটার্ন ফরম্যাটটি .gitignore-এর মতো, ওয়াইল্ডকার্ড এবং ডিরেক্টরি প্যাটার্ন সমর্থন করে। .gitattributes ফাইলটি নিজে এনক্রিপ্ট করা উচিত নয়, এবং সংবেদনশীল ফাইল যোগ করার আগে নিয়মগুলি স্থাপন করতে হবে।
নিরাপত্তা বিবেচনা: git-crypt অন্যান্য স্বচ্ছ git এনক্রিপশন সিস্টেমের তুলনায় বেশি নিরাপদ যা নির্দিষ্ট IV সহ ECB বা CBC ব্যবহার করে। তবে এটি ফাইলের নাম, কমিট বার্তা, সিমলিংক লক্ষ্য বা অন্যান্য মেটাডেটা এনক্রিপ্ট করে না। এটি লুকায় না যখন একটি ফাইল পরিবর্তিত হয়, একটি ফাইলের দৈর্ঘ্য, বা দুটি ফাইল অভিন্ন। এটি পূর্বে প্রদত্ত একটি এনক্রিপ্টেড রিপোজিটরিতে অ্যাক্সেস প্রত্যাহার করাও সমর্থন করে না, কারণ এটি ঐতিহাসিক ডেটার প্রেক্ষাপটে সহজাতভাবে জটিল।
সীমাবদ্ধতার মধ্যে রয়েছে: একটি রিপোজিটরির বেশিরভাগ বা সমস্ত ফাইল এনক্রিপ্ট করার জন্য উপযুক্ত নয় (প্রাইভেট কী বা API ক্রেডেনশিয়ালের মতো কয়েকটি সংবেদনশীল ফাইলের নির্বাচনী এনক্রিপশনের জন্য আরও উপযুক্ত), এনক্রিপ্ট করা ফাইলগুলি সংকোচনযোগ্য নয় তাই ছোট পরিবর্তনেও পুরো ফাইল সংরক্ষণ করতে হয়, এবং এটি কিছু তৃতীয়-পক্ষের git GUI যেমন Atlassian SourceTree এবং GitHub for Mac-এর সাথে নির্ভরযোগ্যভাবে কাজ নাও করতে পারে। git-crypt দিয়ে এনক্রিপ্ট করা ফাইলগুলি git-apply দিয়ে প্যাচ করা যায় না যদি না প্যাচটি নিজে এনক্রিপ্ট করা হয়।
সর্বশেষ সংস্করণটি 0.8.0, 2025-09-23 তারিখে প্রকাশিত। প্রকল্পটির লক্ষ্য বাগ-মুক্ত এবং নির্ভরযোগ্য হওয়া তবে এখনও সম্পূর্ণ পরিপক্বতায় পৌঁছায়নি, এবং সংস্করণ 1.0-এর আগে পশ্চাৎ-সামঞ্জস্যহীন পরিবর্তন চালু হতে পারে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.