ওপেনএসএল ব্যবহার করে ই সি পাবলিক কী এর x এবং y উপাদান পান


12

আমি একটি কী জুটি উৎপাদিত করছি ইসিসি বক্ররেখা 'secp128r1' থেকে OpenSSL ব্যবহার

পদক্ষেপগুলি আমি অনুসরণ করেছি:

  • কমান্ডটি ব্যবহার করে প্রথমে আমি একটি প্রাইভেট কী তৈরি করেছি

    ওপেনসেল ইকপারাম-জেনকি-নাম সেক্প 128 আর 1 -আউটআউট প্রাইভেট.পিএম

  • তারপরে আমি কমান্ডটি ব্যবহার করে সংশ্লিষ্ট পাবলিক কীটি দেখেছি

    ওপেনএসএল ইই-ইন প্রাইভেট.পিএম-পাঠ্য -নাআউট

    যা একটি আউটপুট হিসাবে দেখিয়েছিল:

    ইসি কী পড়ুন

    প্রাইভেট-কী: (128 বিট)
    বেসরকারী:
    00: 9f: বিএফ: 2 বি: বিডি: 06: 86: 3 এ: এ 1: বিসি: 7 সি: 3 ই: 90: 57: 40:
    f4: বিসি
    পাব:
    04: 04: সিআর : 24: 34: d4: cb: f2: 58: 94: 2f: 8a: 5f: 06: d7:
    3f: ed: 5a: 50: ef: fb: cc: b7: 49: 62: 16: 62: 9e : এএ: ডি 5:
    30: এ 8: এ 5

    এএসএন 1 ওআইডি: সেকপ 128 আর 1

আমি এখানে উত্পন্ন জনসাধারণ কী থেকে স্পষ্টভাবে x এবং y উপাদানগুলি চাই, দয়া করে কেউ কি এটি করার সঠিক উপায়টি বলতে পারেন?
উপরের পাবলিক কীটি 264 বিট দীর্ঘ, সুতরাং এটি (/ বিভাজন) নিতে পারে না
ধন্যবাদ হিসাবে


5
সিকিউরিটি.স্ট্যাকেক্সচেঞ্জ / প্রশ্ন / 60926/… ; প্রতি tools.ietf.org/html/rfc5480#section-2.2 প্রথম অক্টেট (04) ডিকম্প্রেস করা, যা এক্স দ্বারা অনুসরণ করা হয়, y cooordinates প্রতিটি ঠিক ক্ষেত্র আকার অক্টেট বৃত্তাকার, এখানে 16 অক্টেট মানে।
dave_thompson_085

2
@ ডেভ_হোম্পসন - আমি মনে করি আপনার উত্তর দেওয়া উচিত। এটি ছিল ভাল প্রশ্ন এবং ভাল তথ্য (এবং সঠিক সাইটে !!!), এবং আপনার একটি ভাল উত্তরের সুবিধা পাওয়া উচিত।
jww

উত্তর:


1

প্রথমত, সেক্প 128 আর 1 পুরানো। আজকের মানটির জন্য আরও ভাল সুরক্ষা দেয় এমন বক্ররেখা ব্যবহার করুন। ড্যানিয়েল জে বার্নস্টেইন এবং তানজা ল্যাঞ্জের সেফকার্ভগুলি দেখুন ।

একটি ইলিপটিক কার্ভ আকারের একটি ক্ষেত্রের উপর সংজ্ঞায়িত কুই এবং প্রতি উপাদান -point- দুই স্থানাঙ্ক হয়েছে এক্স এবং ওয়াই । এলিপটিক কার্ভ Secp128r1 এর 2 128 -2 97 -1 আকার ℓ, অর্থাৎ পয়েন্ট সংখ্যা 2 ^ 128 এর নিচে সামান্য। এর অর্থ হল যে আমাদের 128-বিট উপস্থাপনা প্রয়োজন।

সার্বজনীন কী যা বক্ররেখার একটি বিন্দুতে দুটি সমন্বয় থাকে, অতএব, আমাদের দুটি 128-বিট সংরক্ষণ করতে হবে।

যদি আমরা উপবৃত্তাকার বক্ররেখার সমীকরণটি দেখি তবে Y 2 = X 3 + aX + b কোথায়

 a = FFFFFFFD FFFFFFFF FFFFFFFF FFFFFF
 b = E87579C1 1079F43D D824993C 2CEE5E

যদি আমরা সমীকরণ থেকে এক্স জানি তবে আমরা Y খুঁজে পেতে পারি । যেহেতু আমরা কোনও ক্ষেত্রে কাজ করছি ওয়াইয়ের সর্বোচ্চ দুটি বর্গমূল হতে পারে। ওয়াই 2 থাকবে Y বা -y বর্গমূল হিসাবে। এই জ্ঞানটি কোনও বিন্দুর উপস্থাপনকে সংকুচিত করতে ব্যবহার করা যেতে পারে এবং একে পয়েন্ট সংক্ষেপণ বলা হয়Y বা -y নির্বাচন করতে কেবল x স্থানাঙ্ক এবং এক বিট । এখন বেস পয়েন্টটি দেখুন ( সেরিটিকমের প্রস্তাব দেখুন )

 base point = 03 161FF752 8B899B2D 0C28607C A52C5B86
            = 04 161FF752 8B899B2D 0C28607C A52C5B86 CF5AC839 5BAFEB13 C02DA292 DDED7A83 

প্রথম অক্টেট গঠন নির্ধারণ করে

  • 04 মানে কোনও সংকোচন নেই
  • 03অর্থ একটি সংকোচনের আছে এবং ধনাত্মক হিসাবে y নির্বাচন করুন
  • 02মানে একটি সংকোচনের রয়েছে এবং y বেছে নেতিবাচক হিসাবে

এখন ওপি'র পরামিতিগুলিতে পরিণত করুন;

pub:
04:
04:ce:24:34:d4:cb:f2:58:94:2f:8a:5f:06:d7:3f:ed: -->X
5a:50:ef:fb:cc:b7:49:62:16:62:9e:aa:d5:30:a8:a5  -->Y

প্রথম অক্টেট 04মানে কোনও সংক্ষেপণ নেই। প্রথম লাইনটি X স্থানাংক এবং দ্বিতীয় লাইনটি আপনার সার্বজনীন কী এর Y স্থানাঙ্ক।

বেসরকারী কী এন সম্পর্কে কি ? এটি কেবলমাত্র একটি স্কেলারের মধ্যে রয়েছে- 0 <= n <= ℓ এর মধ্যে te

বেসরকারী: 00: 9f: বিএফ: 2 বি: বিডি: 06: 86: 3 এ: এ 1: বিসি: 7 সি: 3 ই: 90: 57: 40: f4: বিসি

অতএব, উপরের সংখ্যাটি - বিন্দু নয় - এটি আপনার ব্যক্তিগত কী।

আপনি এই তথ্যটি বের করতে কিছু ওয়েব সরঞ্জামও ব্যবহার করতে পারেন।

দ্রষ্টব্য: দয়া করে আপনার ব্যক্তিগত কীটি প্রকাশ করবেন না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.