5.1 কার্নেল, আমি এটি লেখার সময় কার্নেলের সিফার স্ট্রিং, "পুরানো" ফর্ম্যাট এবং "নতুন" ফর্ম্যাটটির জন্য দুটি পৃথক ফর্ম্যাট রয়েছে। এই প্রশ্নটির এতদূর পর্যন্ত সমস্ত কিছু এবং স্পষ্টতই সমস্ত ডক্সও "পুরানো" ফর্ম্যাটটি নিয়ে কাজ করে, তাই আমি এখানে এটি বর্ণনা করব। এটি কেবল এনক্রিপশনের জন্য। যদি ডিএম-ক্রিপ্টের সাথে সততা ব্যবহার করা হয় তবে অবশ্যই একজনকে অবশ্যই এএইডি সিফার বিবেচনা করতে হবে এবং এটি আরও জটিল হয়ে উঠবে।
কার্নেলের দ্বারা বিশ্লেষণ করা ফর্ম্যাটটি হ'ল " সাইফার [ :কীকাউন্ট ] -মোড -আইভমড [ :আইভপটস ]"। উদাহরণ: aes-xts-plain64, blowfish-cbc-essiv:sha256, aes:64-cbc-lmk।
সাইফার
ব্যবহার সাইফার, উদাহরণaes,anubis,twofish,arc4, ইত্যাদি কার্নেল dm-crypt চালক সাইফারগুলির একটি তালিকা নেই। এটি লিনাক্স ক্রিপ্টো এপিআইতে পৌঁছেছে, তাই কার্নেল দ্বারা সমর্থিত উপযুক্ত উপযুক্ত সাইফার ব্যবহার করা যেতে পারে।
কিফাউন্ট
সিফার সহ দুটি সংখ্যক কীগুলির alচ্ছিক শক্তি। lmkআইভমডব্যতীতযেকোনকিছুর জন্যএটি ডিফল্ট, যেখানে এটি 64৪ এ ডিফল্ট This এটি কেবলমাত্র এলএমকে ক্ষেত্রে প্রযোজ্য এবং 1 টির চেয়ে অন্যান্য মানগুলি অন্যান্য মোডের সাথে সঠিকভাবে কাজ করবে না।
মোড সাইফারের সাথে ব্যবহারের জন্য ব্লক চেইনিং মোড। উদাহরণ হলecb,cbc,xts। ecbIV ব্যবহার করে নাতা জানার বাইরে, এমডি-ক্রিপ্ট ড্রাইভার এটিকে লিনাক্স ক্রিপ্টো এপিআইতে দেয় এবং কার্নেলের দ্বারা সমর্থিত যে কোনও চেইন মোড ব্যবহার করতে পারে।
আইভমোড অ্যালগরিদম প্রতিটি সেক্টরের জন্য ইনিশিয়েশন ভেক্টর (আইভি) উত্পন্ন করতে ব্যবহৃত হয়। সাধারণ প্রতিসম কী কী এনক্রিপশনে, ডিএম-ক্রিপ্টের বিপরীতে, আইভিটি এনক্রিপ্ট করা বা ডিক্রিপ্ট করার সময় কী সহ বরাবর সাইবারে আরও একটি ডেটা পাস করা হয়। পুরো অপারেশনের জন্য মাত্র একটি চতুর্থ পাস করেছে in যেহেতু dm-crypt প্রতিটি সেক্টরকে স্বতন্ত্রভাবে পড়তে এবং লিখতে সক্ষম হওয়া দরকার তাই এটি সম্পূর্ণ ডিস্ককে একক ক্রিয়াকলাপ হিসাবে এনক্রিপ্ট করে না। পরিবর্তে, প্রতিটি সেক্টরের জন্য একটি আইভি রয়েছে। আইভি হিসাবে ডেটা হিসাবে পাস করার পরিবর্তে, আইভিগুলি তৈরির জন্য একটি অ্যালগরিদম এখানে নির্দিষ্ট করা হয়েছে। এটি লিনাক্স ক্রিপ্টো এপিআই-র অংশ নয়, যেহেতু আইভি প্রজন্মটি সাইফার দ্বারা সম্পন্ন হয় না, এবং অনুমোদিত আইভমড মানগুলি ডিএম-ক্রিপ্ট ড্রাইভারকে সংজ্ঞায়িত করা হয়। তারা হ'ল:
plain, plain64, plain64be, benbi
এই কেবল খাতে নম্বর, ব্যবহার বিভিন্ন ফর্ম্যাটের চতুর্থ হিসাবে। এক্সটিএসের মতো ব্লক মোডের অর্থ যা একটি সহজ এবং অনুমানযোগ্য IV ব্যবহার করার সময় ওয়াটারমার্কিংয়ের মতো আক্রমণগুলি প্রতিরোধ করার জন্য ডিজাইন করা হয়েছে। plain64সর্বাধিক প্রস্তাবিত বলে মনে হয়।
nullচতুর্থটি সর্বদা শূন্য থাকে। পরীক্ষার জন্য এবং পিছনে সামঞ্জস্যের জন্য, আপনার এটি ব্যবহার করা উচিত নয়।
lmk লুপ-এএস এনক্রিপশন স্কিমের সাথে সামঞ্জস্যপূর্ণ।
tcw ট্রুক্রিপ্টের সাথে সামঞ্জস্যপূর্ণ।
essivকী এর একটি হ্যাশ সহ এনক্রিপ্ট করা সেক্টর নম্বর ব্যবহার করে। সিবিসি-র মতো মোডের জন্য, যা সাধারণ চতুর্থ লাইক ব্যবহার করার সময় বিভিন্ন আক্রমণ প্রতিরোধী হয় না plain64।
আইভপটস হ্যাশessiv আইভমডের সাথেব্যবহার করা হবে, অন্য সমস্ত মোডের জন্য উপেক্ষা করা হবে।
একটি বিশেষ কেস হিসাবে, " সাইফার-plain " বা কেবল " সিফার " কে " সাইফার-cbc-plain " হিসাবে ব্যাখ্যা করা হয় । আর একটি বিশেষ কেস হল মোডটির নির্দিষ্ট করার জন্য ecbকোনও আইভমড নেই ।
এটি কীভাবে সম্পর্কিত /proc/crypto
সম্মানের সাথে /proc/crypto, কেবল সাইফার এবং মোড প্রাসঙ্গিক। " মোড (সিফার) " ফর্মটির একটি ক্রিপ্টো এপিআই স্পেসিফিকেশন সহ ডিএম-ক্রিপ্ট এবং কার্নেল থেকে এটি অনুরোধ করুন। এটির জন্য একটি /proc/cryptoহিসাবে সন্ধান করা উচিত । উদাহরণ:nameskcipher
name : xts(aes)
driver : xts-aes-aesni
module : kernel
priority : 401
refcnt : 1
selftest : passed
internal : no
type : skcipher
async : yes
blocksize : 16
min keysize : 32
max keysize : 64
ivsize : 16
chunksize : 16
walksize : 16
typeএর skcipherএই একটি প্রতিসম কী সাইফার, কি dm-crypt ব্যবহার করে এবং নাম নির্দেশ করে xts(aes)লিখিত হবে aes-xtsdm-সমাধিগৃহ সঙ্গে নির্দিষ্ট করা হয়েছে। keysizeকি কী মাপ এই গোল্লা সাথে ব্যবহার করা যাবে ক্ষেত্র এছাড়াও আমাদের বলুন।
এটি যদি কোনও মডিউল থেকে হয় তবে মডিউলটির নামটি moduleলাইনে প্রদর্শিত হতে পারে । তবে, অনেক সাইফার (সাধারণত সফ্টওয়্যারগুলিতে যাদের কোনও হার্ডওয়্যার নির্দিষ্ট কোড নেই) জেনেরিক সাইফার হিসাবে প্রয়োগ করা হয় যা জেনেরিক ব্লক চেইনিং কোডের সাথে মিলিত হয়ে চূড়ান্ত স্কাইফার তৈরি করে। উদাহরণ স্বরূপ:
name : xts(anubis)
driver : xts(ecb(anubis-generic))
module : kernel
type : skcipher
name : anubis
driver : anubis-generic
module : anubis
type : cipher
এক্ষেত্রে আনুবিস সাইফারটি কার্নেল এক্সটিএস ব্লক চেইনিং মোড কোডের সাথে একত্রে চূড়ান্ত সাইফার তৈরি করে xts(anbuis), যার একটি মডিউল নির্ধারিত হয়েছে kernel। তবে এটি উপলভ্য পেতে আমাদের জেনেরিক অ্যানুবিস সাইফারটি দরকার যা anubisমডিউল থেকে । বেশিরভাগ সিফারগুলিতে " crypto-সাইফার " মডিউল উপন্যাস থাকে যা এগুলি লোড করতে ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ modprobe crypto-anubisমডিউল লোড হবে যা অ্যানুবিস সিফার সরবরাহ করে।
cryptsetup benchmarkকমান্ডটি ব্যবহার করার সময় , কেবল সাইফার এবং মোড বিষয়টি বিবেচনা করে, যেহেতু এটিই বেঞ্চমার্কযুক্ত। তাহলে মোড সিবিসি তা অক্ষমতা সুনির্দিষ্ট করা নেই। Ivmode সম্পূর্ণভাবে উপেক্ষা করা হয়। সুতরাং, মাপকাঠিতে জন্য, aes, aes-cbc, এবং aes-cbc-foobarসব সমতুল্য।
/lib/modules/*/kernel/crypto/দেখার সম্ভাব্য জায়গা, তবে মডিউলগুলি ফাইল সিস্টেমে যে কোনও জায়গায় থাকতে পারে।