এসএসএইচ কী: id_rsa.pub এর চেয়ে id_rsa কেন বড়?


8

আমার ব্যক্তিগত কী ( ~/.ssh/id_rsa) 1766-বাইট ফাইল, তবে আমার সর্বজনীন কী ( ~/.ssh/id_rsa.pub) কেবল 396 বাইট দৈর্ঘ্যের length কেন বিশাল পার্থক্য? এটি কি এএসএস ব্যবহার করে ব্যক্তিগত কী এনক্রিপ্ট করা হয়েছে? সাধারণত প্লেটেক্সট হিসাবে একই দৈর্ঘ্যের চারপাশে এএস সিফারেক্সটেক্সট হয় না?

উত্তর:


17

আপনার ব্যক্তিগত কীতে আপনার পাবলিক কী-এর চেয়ে বেশি তথ্য রয়েছে। যেখানে পাবলিক কী কেবল এনক্রিপশন এক্সপোনেন্ট (ই) এবং মডিউলাস (এন) বোঝায়, ব্যক্তিগত কীতে অতিরিক্তভাবে একটি ডিক্রিপশন এক্সপোনেন্ট (ডি) এবং মডুলাসের দুটি প্রধান উপাদান (পি এবং কিউ) অন্তর্ভুক্ত থাকে। প্রাইভেট কীটির মূলত এর ভিতরে একটি সর্বজনীন কী থাকে।

[এনক্রিপশন: সিফেরেক্সটেক্সট = বার্তা ^ ই (মোড এন); ডিক্রিপশন: বার্তা = সিফেরেক্সটেক্স ^ d (মোড এন)]

আপনার ব্যক্তিগত কী ফাইলের সমস্ত ডেটা দেখতে:

$ openssl rsa -in id_rsa -text -noout

সম্পাদনা করুন: প্রাইভেট কী ফাইলটিতে দৃশ্যত এনক্রিপশন এক্সপোঞ্জার নেই, তবে এতে ডিফল্ট ডি_1 এবং ডি 2 রয়েছে, যেখানে d_1 = d (মোড পি -1) এবং ডি 2 = ডি (মোড কিউ -1) রয়েছে। এগুলি ডিক্রিপশনকে ত্বরান্বিত করার জন্য ব্যবহৃত হয় - আপনি আপনার ডিক্রিপশন এক্সপেনসিয়েনশনটিকে ছোট ছোট সমান্তরাল এক্সপেনসিয়েশন কলগুলিতে বিভক্ত করতে পারেন, যা বড় ডি এবং বড় এন এর জন্য এক বড় এম = সি ^ ডি (মোড এন) এর চেয়ে দ্রুত গতিতে শেষ হয়।


2

দুর্ভাগ্যক্রমে আপনি কী বিন্যাসে কীগুলি সংরক্ষণ করবেন তা নির্দিষ্ট করে দেননি। আমার ধারণা আপনি ওপেনএসএইচ কী এনকোডিংয়ের কথা উল্লেখ করছেন। এই ফর্ম্যাটে কীগুলি বেস 64-এনকোডড ডেটা ব্লকে সংরক্ষণ করা হয়। এনক্রিপ্ট করার সময় এনকোডিংয়ের উপর নির্ভর করে ডেটা এনক্রিপ্ট করার সময় সাধারণত কিছু ধরণের প্যাডিং জড়িত থাকে। সুতরাং ফলস্বরূপ ডেটা হ'ল এনক্রিপশন ব্লক আকারের একাধিক।

ওপেনএসএইচ কী-তে কিছু চিহ্ন এবং অতিরিক্ত বৈশিষ্ট্যগুলি চিহ্নিতকারী ---- BEGIN SSH2 [PUBLIC|PRIVATE] KEY ----এবং -----END RSA [PUBLIC|PRIVATE] KEY-----মার্কারদের মধ্যে inোকানো থাকতে পারে। আরএফসি 4716 দেখুন ।

তবুও পাবলিক কীগুলির জন্য মডিউলাস এবং পাবলিক এক্সপোনেন্ট সংরক্ষণ করা হয় যখন প্রাইভেট কীটির জন্য ব্যক্তিগত এক্সপেনশনটি সংরক্ষণ করা হয়। গাণিতিক ভিত্তির বিশদ জানতে উইকিপিডিয়ায় আরএসএ কী-প্রজন্মটি দেখুন । ওয়েবে অনেকগুলি জায়গা রয়েছে যা এই কীগুলির মধ্যে গাণিতিক সংযোগ বর্ণনা করে। আপনার এখানে এই ব্যাখ্যাগুলির একটি অনুলিপি প্রয়োজন কিনা তা নিশ্চিত নন।

তাত্ত্বিকভাবে জনসাধারণের কী তথ্য থেকে প্রাইভেট কী গণনা করা সম্ভব তবে এটি করা অন্য দিকের চেয়ে গাণিতিকভাবে অনেক বেশি কঠিন। কেবল প্রাইভেট কীটিকে "উত্স" হিসাবে বিবেচনা করুন যা সমস্ত ভেরিয়েবল এবং পাবলিক কীকে গণনার ফলাফল হিসাবে অন্তর্ভুক্ত করে। আপনি যদি সমস্ত ভেরিয়েবলগুলি জানেন তবে কেবলমাত্র ফলাফলটি জানলে সমস্ত উত্সের ভেরিয়েবলগুলি পাওয়া শক্ত। এটি নিরাপদ স্থানে প্রাইভেট কী সংরক্ষণ করার পক্ষে আপনার পক্ষে যথেষ্ট কারণ। সর্বজনীন কীটি পুনরায় গণনা করতে আপনি সর্বদা ব্যক্তিগত কী ব্যবহার করতে পারেন। তবে অন্যভাবে নয় - ভাল, তাত্ত্বিকভাবে আপনি এটি করতে পারেন তবে মূল দৈর্ঘ্যের উপর নির্ভর করে এটি বেশ কয়েক বছর সময় নিতে পারে;)।


পাবলিক কী থেকে প্রাইভেট কী গণনা করার জন্য দ্রুত দক্ষ কার্যকারিতা প্রয়োজন - যার অভাব পাবলিক কী এনক্রিপশন (কমপক্ষে আরএসএ) এর সুরক্ষা নির্ভর করে।
অ্যান্ড্রু

এটা সঠিক। একটি দ্রুত ফ্যাক্টেরাইজেশন অ্যালগরিদম সন্ধান করুন এবং মূলত আপনি আরএসএ এনক্রিপশনের সুরক্ষা ভঙ্গ করেন। বিকল্পভাবে কেউ ইসিসির (এলিপটিক কার্ভ ক্রিপ্টোগ্রাফি) যেতে পারেন যা স্বতন্ত্র লোগারিদমে হাঁটতে অসুবিধার ধারণার উপর ভিত্তি করে। তবে যদি কেউ এই সমস্যার কার্যকর সমাধান খুঁজে পান ...
স্কাইবিম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.