দেখা যাচ্ছে যে এগুলি উভয়ই এনক্রিপশন অ্যালগরিদম যার জন্য সরকারী এবং ব্যক্তিগত কী প্রয়োজন। কেন আমি আমার ক্লায়েন্ট সার্ভার অ্যাপ্লিকেশনটিতে এনক্রিপশন সরবরাহ করতে অন্যের তুলনায় একজনকে বেছে নেব?
দেখা যাচ্ছে যে এগুলি উভয়ই এনক্রিপশন অ্যালগরিদম যার জন্য সরকারী এবং ব্যক্তিগত কী প্রয়োজন। কেন আমি আমার ক্লায়েন্ট সার্ভার অ্যাপ্লিকেশনটিতে এনক্রিপশন সরবরাহ করতে অন্যের তুলনায় একজনকে বেছে নেব?
উত্তর:
আরএসএ
আরএসএ এনক্রিপশন এবং ডিক্রিপশন পরিবর্তিত হয়
সুতরাং এটি
কোনও আরএসএ স্কিম ute (ই, আর), (ডি, পি, কিউ) প্রদত্ত ডিজিটাল স্বাক্ষর স্কিম হিসাবে সরাসরি ব্যবহার করা যেতে পারে
এম, গণনা:
এস = এম পাওয়ার ডি (মোড আর)
একটি স্বাক্ষর যাচাই করতে, গণনা করুন:
এম = এস পাওয়ার ই (মোড আর) = এম পাওয়ার এড (মোড আর) = এম (মোড আর)
আরএসএটি এনক্রিপশন এবং ডিজিটাল স্বাক্ষর উভয়ের জন্যই ব্যবহার করা যেতে পারে,
কেবল ক্রমান্বয়ে ব্যবহারকারীদের ক্রমটি উল্টিয়ে দিয়ে: স্বাক্ষরটি তৈরি করতে গোপন প্রকাশক (ঘ), স্বাক্ষর যাচাই করতে যে কোনও ব্যক্তির জন্য প্রকাশ্য এক্সপোঞ্জার (ঙ)। অন্য সব কিছুই অভিন্ন।
ডিএসএ (ডিজিটাল সিগনেচার অ্যালগোরিদম)
ডিএসএ এলগামালের একটি বৈকল্পিক এবং শনোর অ্যালগরিদম একটি 320 বিট স্বাক্ষর তৈরি করে, তবে 512-1024 বিট সুরক্ষা সুরক্ষা আবারও পৃথক পৃথক স্বীকৃত
ডিএসএ কী জেনারেশনকে
প্রথম ভাগ করে নেওয়া গ্লোবাল পাবলিক মূল মানগুলি (পি, কিউ, জি) চয়ন করা হয়েছে:
একটি বড় প্রাইম পি = 2 পাওয়ার এল বেছে নিন
যেখানে এল = 512 থেকে 1024 বিট এবং 64-এর একাধিক,
কিউ বেছে নিন, পি -1 এর 160 বিট প্রাইম ফ্যাক্টর
জি - এইচ চয়ন করুন পাওয়ার (p-1) / q এর
জন্য যে কোনও এইচ 1 এর জন্য
প্রতিটি ব্যবহারকারী একটি ব্যক্তিগত কী চয়ন করে এবং তাদের পাবলিক কী গণনা করে:
এক্স গণনা y = g পাওয়ার এক্স (মোড পি) চয়ন করুন
ডিএসএ কী প্রজন্ম সম্পর্কিত, তবে এল গামালের চেয়ে কিছুটা জটিল। বেশিরভাগ কারণেই গণনা গতি বাড়িয়ে তুলতে এবং ফলস্বর স্বাক্ষরের আকার হ্রাস করতে ব্যবহৃত সেকেন্ডারি 160-বিট মডুলাস কি ব্যবহার করা হয়েছিল।
ডিএসএ স্বাক্ষর তৈরি এবং যাচাইকরণ
একটি বার্তায়
স্বাক্ষর করতে এম এলোমেলো স্বাক্ষর কী উত্পন্ন করে কে, কে কম্পিউটেট
আর = (জি পাওয়ার কে (মোড পি)) (মোড কিউ)
এস = কে-১.এসএইচএ (এম) + এক্সআর (মোড কিউ)
প্রেরণ স্বাক্ষর
যাচাই করতে বার্তা সহ স্বাক্ষর (r, গুলি) , গণনা:
w = s-1 (mod q)
u1 = (SHA (M) .w) (mod q)
u2 = rw (mod q)
v = (g পাওয়ার) u1.y পাওয়ার u2 (mod p)) (mod q)
যদি v = r হয় তবে স্বাক্ষরটি যাচাই করা হয়েছে
স্বাক্ষর তৈরি আবার প্রতি বার্তায় অস্থায়ী স্বাক্ষর কী ব্যবহার করে এলগামালের সাথে সমান, তবে ফলাফলের আকার হ্রাস করতে প্রথমে মডেল পি পি, তারপরে মোড কিউ করে। নোট করুন যে হ্যাশ ফাংশন SHA এর ব্যবহারটি এখানে স্পষ্ট। যাচাইয়ের মধ্যে দুটি গণনা তুলনা করাও থাকে যা আবার তুলনায় কিছুটা জটিল, তবে এল গামালের সাথে সম্পর্কিত।
নোট করুন যে প্রায় সমস্ত গণনাগুলি মোড q, এবং তাই আরও দ্রুত।
তবে, আরএসএর বিপরীতে, ডিএসএ কেবলমাত্র ডিজিটাল স্বাক্ষরের জন্য ব্যবহার করা যেতে পারে
ডিএসএ সুরক্ষা
কেবলমাত্র ডিএসএ নয়, বহু স্কিমে (একটি যে এলোমেলো সংখ্যার দরকার হয়) একটি পরাশক্তি চ্যানেলের উপস্থিতি বিদ্যমান। এটি কেবলমাত্র একটি ভাল অ্যালগরিদম নয়, "সিস্টেম সুরক্ষা" এর প্রয়োজনীয়তার উপর জোর দেয়।
নীচে AVA এর উত্তর পরীক্ষা করুন ।
আমার পুরানো উত্তরটি ভুল বলে মনে হচ্ছে
এর প্রসঙ্গে man ssh-keygen
, ডিএসএ কী-র দৈর্ঘ্যটি এনআইএসটি-র এজেন্ট 186-2-এর সাথে সামঞ্জস্য রাখতে 1024 বিট অবধি সীমাবদ্ধ। তবুও, আর ডিএসএ কীগুলি তাত্ত্বিকভাবে সম্ভব; FIPS 186-3 তাদের স্পষ্টভাবে অনুমতি দেয়। তদুপরি, 1024 বিট দীর্ঘ আরএসএ বা ডিএসএ কী দিয়ে সুরক্ষার আর নিশ্চয়তা নেই।
উপসংহারে, একটি 2048 বিট আরএসএ কী বর্তমানে সেরা পছন্দ।
সুরক্ষিত এসএসএইচ সংযোগ স্থাপনে নিরাপদ এনক্রিপশন কী জোড় প্রযুক্তি নির্বাচন করার চেয়ে আরও বেশি কিছু জড়িত । এডওয়ার্ড স্নোডেনের এনএসএ-র প্রকাশের পরিপ্রেক্ষিতে পূর্বের যেটাকে পর্যাপ্ত বলে মনে করা হয়েছিল তার চেয়ে বেশি সচেতন হতে হবে।
একটি মাত্র উদাহরণের জন্য, একটি নিরাপদ কী বিনিময় অ্যালগরিদম ব্যবহার করাও সমান গুরুত্বপূর্ণ। এখানে বর্তমান সেরা এসএসএইচ কঠোরতা অনুশীলনের একটি সুন্দর ওভারভিউ দেওয়া আছে ।
ssh-keygen
অন্যান্য বিট আকারের কীগুলির জন্যও অনুমতি দেয় (আমি নিজেই ssh-keygen
RHEL ব্যবহার করে উত্পন্ন একটি 2048 বিট ডিএসএ কী ব্যবহার করি )।