টিঙ্কের মূল ধারণাগুলি বুঝুন

আপনি যখন প্রথমবার টিঙ্কের সাথে কাজ শুরু করেন, তখন আপনার যাত্রা শুরু করার আগে আপনার কিছু মূল ধারণা বোঝা উচিত; এই নিম্নলিখিত বিভাগে বর্ণনা করা হয়.

আদিম

Tink ক্রিপ্টোগ্রাফিক বিল্ডিং ব্লক হিসাবে আদিম ব্যবহার করে যা একটি অন্তর্নিহিত অ্যালগরিদম পরিচালনা করে যাতে ব্যবহারকারীরা ক্রিপ্টোগ্রাফিক কাজগুলি নিরাপদে সম্পাদন করতে পারে। একটি আদিম একটি ক্রিপ্টোগ্রাফিক অ্যালগরিদমের বিশদ বিবরণ এবং কী প্রকারকে সংজ্ঞায়িত করে।

টিঙ্ক দ্বারা সমর্থিত আদিম:

  • অ্যাসোসিয়েটেড ডেটার সাথে প্রমাণীকৃত এনক্রিপশন (AEAD) : ডেটা এনক্রিপশনের জন্য সবচেয়ে সাধারণ আদিম; সর্বাধিক এনক্রিপশন প্রয়োজনের জন্য উপযুক্ত। AEAD প্লেইনটেক্সট গোপনীয়তা প্রদান করে এবং এর অখণ্ডতা এবং সত্যতা যাচাই করার অনুমতি দেয়। অ্যাসোসিয়েটেড ডেটা (AEAD) এর সাথে প্রমাণীকৃত এনক্রিপশন দেখুন।
  • ডিটারমিনিস্টিক এনক্রিপশন: একটি আদিম যা সর্বদা একটি প্রদত্ত প্লেইনটেক্সট এবং কীর জন্য একই সাইফারটেক্সট তৈরি করে। এটি ঝুঁকিপূর্ণ হতে পারে, কারণ একজন আক্রমণকারীকে শুধুমাত্র এটি সনাক্ত করতে একটি প্রদত্ত প্লেইনটেক্সট ইনপুটের সাথে কোন সাইফারটেক্সটটি মিলছে তা খুঁজে বের করতে হবে। ডিটারমিনিস্টিক AEAD দেখুন।
  • ডিজিটাল স্বাক্ষর : স্বাক্ষরিত ডেটার সত্যতা এবং অখণ্ডতা নিশ্চিত করার জন্য একটি অপ্রতিসম ( অসমমিতিক কী এনক্রিপশন দেখুন) আদিম৷ ডিজিটাল স্বাক্ষর দেখুন।
  • হাইব্রিড এনক্রিপশন : একটি আদিম যা অপ্রতিসম কী এনক্রিপশন এবং সিমেট্রিক কী এনক্রিপশনকে একত্রিত করে (দেখুন অ্যাসিমেট্রিক কী এনক্রিপশন এবং সিমেট্রিক কী এনক্রিপশন )। হাইব্রিড এনক্রিপশন পাবলিক-কী এনক্রিপশনের সুবিধার সাথে সিমেট্রিক এনক্রিপশনের দক্ষতাকে একত্রিত করে। একটি বার্তা এনক্রিপ্ট করার জন্য, একটি নতুন সিমেট্রিক কী তৈরি করা হয় এবং প্লেইনটেক্সট ডেটা এনক্রিপ্ট করতে ব্যবহৃত হয়, যখন প্রাপকের পাবলিক কী শুধুমাত্র সিমেট্রিক কী এনক্রিপ্ট করতে ব্যবহৃত হয়। চূড়ান্ত সাইফারটেক্সট সিমেট্রিক সাইফারটেক্সট এবং এনক্রিপ্ট করা সিমেট্রিক কী নিয়ে গঠিত। হাইব্রিড এনক্রিপশন দেখুন।
  • বার্তা প্রমাণীকরণ কোড (MAC) : ডেটার সত্যতা এবং অখণ্ডতা নিশ্চিত করার জন্য একটি সিমেট্রিক ( সিমেট্রিক কী এনক্রিপশন দেখুন) আদিম। বার্তা প্রমাণীকরণ কোড (MAC) দেখুন।
  • স্ট্রিমিং AEAD : স্ট্রিমিং ডেটার জন্য প্রমাণীকৃত এনক্রিপশন প্রদানকারী একটি আদিম; উপযোগী যখন এনক্রিপ্ট করা ডেটা একক ধাপে প্রক্রিয়াকরণের জন্য খুব বড় হয়। স্ট্রিমিং AEAD দেখুন।

সামঞ্জস্যপূর্ণ তথ্যের জন্য ভাষা দ্বারা সমর্থিত আদিম দেখুন।

আরও তথ্যের জন্য, আদিম নকশা দেখুন।

মূল প্রকার

একটি কী প্রকার একটি নির্দিষ্ট আদিম প্রয়োগ করে। নিরাপত্তা, রানটাইম এবং স্থানের জন্য আপনার প্রয়োজনীয়তার উপর নির্ভর করে বেছে নেওয়ার জন্য বেশিরভাগ প্রাইমিটিভের বেশ কয়েকটি মূল প্রকার রয়েছে। উদাহরণস্বরূপ, AES128_GCM হল একটি AEAD যা বেশিরভাগ প্রয়োজনের জন্য দ্রুত এবং কার্যকর। ভাষা দ্বারা সমর্থিত কী প্রকারগুলিতে আরও দেখুন।

কীসেট এবং কীসেট হ্যান্ডলগুলি

টিঙ্ক কীগুলি পরিচালনার জন্য কীসেট ব্যবহার করে। একটি কীসেট মূলত কীগুলির একটি সেট যা কী ঘূর্ণন সহজতর করে। একটি কীসেটের উল্লেখযোগ্য বৈশিষ্ট্য হল:

  • একটি কীসেটের প্রতিটি কী একটি অনন্য আইডি থাকে, যা একটি কীসেটের মধ্যে অনন্য। এই আইডিটি সাধারণত প্রতিটি উত্পাদিত সাইফারটেক্সট, স্বাক্ষর বা ট্যাগের সাথে একটি উপসর্গ হিসাবে যোগ করা হয় কোন কী ব্যবহার করা হয়েছে তা নির্দেশ করতে (আরও তথ্যের জন্য কীভাবে টিঙ্ক ট্যাগ সাইফারটেক্সটগুলি দেখুন)।
  • একটি কীসেটে একবারে শুধুমাত্র একটি কী প্রাথমিক । একটি কীসেটের একটি প্রাথমিক কী এই মুহূর্তে "ব্যবহারের মধ্যে" কী।
  • একটি কীসেটের সমস্ত কী অবশ্যই একই আদিম (যেমন AEAD) এর বাস্তবায়ন হতে হবে, তবে বিভিন্ন কী প্রকার থাকতে পারে (উদাহরণস্বরূপ, একটি AES-GCM এবং XCHACHA20-POLY1305 কী)।

প্রতিটি টিঙ্ক বাস্তবায়ন কীসেট তৈরি বা সম্পাদনা করার জন্য API প্রদান করে। যাইহোক, আমরা Tinkey আমাদের CLI টুল ব্যবহার করার পরামর্শ দিই।

ব্যবহারকারীরা কীসেট হ্যান্ডলগুলি ব্যবহার করে একটি কীসেটের মাধ্যমে কাজ করে। একটি কীসেট হ্যান্ডেল প্রকৃত সংবেদনশীল কী উপাদানের এক্সপোজারকে সীমাবদ্ধ করে। এটি একটি কীসেটকে বিমূর্ত করে যা ব্যবহারকারীদের একটি আদিম প্রাপ্ত করার অনুমতি দেয় যা সমগ্র কীসেটটিকে "মোড়ানো" করে। উদাহরণস্বরূপ, আপনি N কী সহ একটি কীসেটের আদিম AEAD পেতে পারেন; প্রাপ্ত আদিম সহ এনক্রিপশন এবং ডিক্রিপশন তারপর কীসেটে প্রাথমিক কী ব্যবহার করে।

আরও তথ্যের জন্য, কীসেট ডিজাইন দেখুন।