If you have more than a few bank cards, door-entry keycodes, or other small numeric passwords to remember, it eventually gets to be a hassle. The worst, for me, is a bank card for a business account that I use once in a blue moon. I probably used it eight times in five years, and then they gave me a new card with a new PIN. দীর্ঘশ্বাস.

Quick, What’s My PIN?
How would a normal person cope with a proliferation of PINs? They’d write down the numbers on a piece of paper and keep it in their wallet. we all know how that ends, right? A lost wallet and multiple empty bank accounts. how would a hacker handle it? write each number down on the card itself, but encrypted, naturally, with the only unbreakable encryption scheme there is out there: the one-time pad (OTP).

The OTP is an odd duck among encryption methods. They’re meant to be decrypted in your head, but as long as the secret key remains safe, they’re rock solid. If you’ve ever tried to code up the s-boxes and all that adding, shifting, and mixing that goes on with a normal encryption method, OTPs are refreshingly simple. The tradeoff is a “long” key, but an OTP is absolutely perfect for encrypting your PINs.

The first part of this article appears to be the friendly “life-hack” pablum that you’ll get elsewhere, but don’t despair, it’s also a back-door introduction to the OTP. The second half dives into the one-time pad with some deep crypto intuition, some friendly math, and hopefully a convincing argument that writing down your encrypted PINs is the right thing to do. Along the way, I list the three things you can do wrong when implementing an OTP. (And none of them will shock you!) but in the end, my PIN encryption solution will break one of the three, and remain nonetheless sound. curious yet? পড়তে.

The PIN Solution

So first the solution to the bank card problem: write your PIN encrypted with a secret that only you know. instead of needing to remember a four-digit number for each new card, you’ll just need one four-digit number forever. The key is to choose an encryption scheme that’s easy enough to undo so that you won’t look too strange when asked to type the PIN in at the bank teller’s window. This is the classic use of the OTP — an encryption that you can undo in your head.

First, randomly select a secret four-digit number. Then, subtract that number from your PIN and write the result on your card. To get your PIN, when standing in front of the bank teller, simply look down at the card and add the secret number back. The teller will think that you’ve written your PIN on the card. feel free to feel smug, because you’ve used an unbreakable encryption scheme.

Instead of normal addition and subtraction, with the carrying and borrowing across digits, you will want to use modulo-10 math — adding or subtracting ten from the result any time it gets outside the range 0-9. We’ll talk about why below, but for now, here’s a working example.

Suppose the PIN is 1234 — it has to happen so someone, right? — and my random secret number is 1337, naturally. Let’s encrypt. Subtracting 1 from 1 gives a zero, so I write that down. Subtracting 3 from 2 gives -1, which is where the modulo-10 arithmetic comes in. In this case, -1 turns into 9 by adding ten. 3 – 3 = 0, and 4 – 7 = 7, mod-10. My card now has 0907 written on it.

Now let’s decrypt. looking down at the card, I see a 0 and add 1. 9 + 3 = 12, however, so we’ll need to subtract ten to get 2. (That’s the reason to choose addition for the decryption stage, it’s easy to just drop any leading 1s.) 0 + 3 = 3 and 7 + 7 = 14 -> 4<. I type in 1234, and the money is mine! Once you get the hang of adding your secret number to any other number, digit-wise mod-10, you’ll be surprised how quickly it will work. try it out and see if you get good at it within ten minutes. One-Time Pads A one-time pad is both the simplest symmetric encryption scheme and also completely unbreakable. It has three crucial features, two of which were demonstrated above, and getting any of them wrong can be catastrophic. The most important feature of an OTP is that the password needs to be random, and the same length as the text that it encrypts — hence the four-digit secret for the PIN. In an OTP, everything revolves around the secret, which is also its Achilles’ heel. For a four-digit number, keeping a four-digit secret is no problem. but imagine that you want to send gigabytes of encrypted photos of your vacation to a friend. That’s a lot of key material to keep on-hand and secret. Original by [Matt_Crypto], Public DomainSecond, the method of combining the message with the secret has to be similar to the modulo arithmetic, in that the set of encrypted characters and the set of plaintext characters — the PIN in our example — have to map একের পর এক. Mod-10 ensures this easily: both are in the range 0-9. maybe you’re familiar with using the XOR operator on binary data, which is the same thing as either additiউপর বা বিয়োগ, mod-2। (0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, এবং 1 + 1 = ২ -> 0. QED।) আপনি কেসার সাইফারের মতো “জেড” এ বর্ণের অক্ষরগুলি ব্যবহার করতে পারেন এবং বর্ণমালাটি মোড়ানো করতে পারেন বা ROT13, যা সংখ্যার মধ্যে বর্ণমালার সাথে আলিঙ্গন এবং গণিত mod-26 করছেন।

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

নিখুঁত এনক্রিপশন আপ messing

কেন একটি OTP unbreakable হয়? সবচেয়ে এনক্রিপশন স্কিমগুলি ভাঙ্গা প্রায়ই সম্ভাব্যতা এবং পরিসংখ্যান নিচে boils। উদাহরণস্বরূপ, আপনি যদি উপরের সাইজার সাইফারের সাথে একটি পাঠ্য এনক্রিপ্ট করেন তবে প্লেইনটেক্সটের প্রতিটি অক্ষরটি সাইফটেক্সটে দেখা যায় এমন প্রতিটি একক অক্ষরে ম্যাপ করা হয়। যদি আপনি জানেন যে মূল পাঠটি ইংরেজিতে রয়েছে, যেখানে সর্বাধিক ব্যবহৃত চিঠিটি “ই” হয়, এটি একটি ভাল বাজিযুক্ত যে যদি “q” সিফেরটেক্সটের সবচেয়ে সাধারণ অক্ষর থাকে তবে এটি “E” এর জন্য দাঁড়িয়েছে। অর্থাৎ, আমরা plaintext এবং ciphertext মধ্যে পরিসংখ্যানগত মিল খুঁজে পাই এবং তাদের দুটি মধ্যে একটি সেতু তৈরি করতে তাদের ব্যবহার করি।

একটি গোপন কী ব্যবহার করে যা প্লেইনটেক্সটের মতো এবং এলোমেলোভাবে নির্বাচিত হয়, সিফেরটেক্সটের সাথে কোনও পরিসংখ্যানগত সম্পর্ককে বিরতি দেয়। আমার কার্ডে লিখিত একটি নির্দিষ্ট সাইফটটেক্সটেক, 0000 থেকে 9999 পর্যন্ত প্রতিটি পিন সম্ভব, এবং যদি কীটি এলোমেলোভাবে নির্বাচিত হয় তবে সমানভাবে সম্ভবত। CipherText মধ্যে প্লেইনটেক্সট সম্পর্কে কোন তথ্য নেই – এটি মূলত শ্যানন এর প্রমাণ (একেবারে ক্লাসিক পিডিএফ) সংক্ষিপ্তভাবে ক্লাউড। এবং যে কেন একটি OTP unbreakable হয়।

ডায়ানা এক-টাইম প্যাড [মার্কিন এনএসএ], পাবলিক ডোমেইনথিস আসলে ক্রিপ্টোগ্রাফি ক্ষেত্রটি বোঝার কী: এনক্রিপশন প্রক্রিয়ার সময় প্লেইনটেক্সটেক্স সম্পর্কে তথ্যটি হ্রাস করার একটি প্রচেষ্টা, যাতে একটি ছোট কী ব্যবহার করা হয়, না পরিসংখ্যানগতভাবে plaintext এর প্রাসঙ্গিক ট্রেস রয়ে যায়। শর্ট কীগুলির জন্য এই আকাঙ্ক্ষা কেবলমাত্র সুবিধার ব্যাপার নয়: কল্পনা করুন যে আপনি এবং হ্যাকডেটি এই নিবন্ধটি ডাউনলোড করার জন্য এবং এটি পড়ার জন্য এবং এটি পড়তে কেবলমাত্র 500 কিবের বিনিময় করতে হয়েছিল। আপনি অতিথিদের জন্য লিখতে হবে এমন ওয়াইফাই পাসওয়ার্ডের দৈর্ঘ্য কল্পনা করুন! এই অনুভূতিটি যা OTP টিটিপিটি তুচ্ছ এবং অনিচ্ছুক – এটি অস্পষ্ট হতে পারে, তবে বেশিরভাগ অ্যাপ্লিকেশনের জন্য সিক্রেটগুলি খুব বেশি দীর্ঘ। রিয়েল ক্রিপ্টো অ্যালগরিদমগুলি খুঁজে বের করার বিষয়টি যা ন্যূনতম মূল উপাদানটির সাথে পরিসংখ্যানগত সম্পর্কটি ভেঙ্গে দেয়।

মনে রাখবেন, আপনি একটি ছোট বা অ-র্যান্ডম পাসওয়ার্ড ব্যবহার করে একটি OTP বাস্তবায়ন স্ক্রু করতে পারেন। আপনার পাসওয়ার্ড হিসাবে 1 ব্যবহার করে কল্পনা করুন এবং এটি প্রয়োজনীয় হিসাবে পুনরাবৃত্তি করুন; আমাদের ciphertext 2345 পড়বে, এবং পিন দ্বিতীয় চেষ্টা করার অনুমান করা হবে। আপনি একটি র্যান্ডম পাসওয়ার্ড ব্যবহার করতে চান; 0000 picking কারণ এটি গণিতকে সহজ করে তোলে যা উপরের চেয়েও খারাপ। (যদিও আমি কঠোরভাবে বলি, আমি যদি ২00, 1111, 9999, 1২34, 4321, বা অনুরূপ পেয়ে থাকি তবে আমি পুনরায় রোল করব।) যাইহোক, আপনার জন্মদিন ব্যবহার করবেন না। শৈশব বন্ধুদের পুরানো ফোন নম্বর গ্রহণযোগ্য হতে পারে।

Modulo গাণিতিক ভূমিকা একটু বেশি সূক্ষ্ম। যাই হোক না কেন ফাংশন ব্যবহার করা হয়, plaintealxt মধ্যে সম্ভাব্য অক্ষর সেট ciphertext সঙ্গে এক থেকে এক মানচিত্র আছে। কেন? MOD-10 সংযোজনের পরিবর্তে আপনি সহজ সংযোজন ব্যবহার করেছিলেন তা কল্পনা করুন। আমাদের PIN CIHERTEXT এর শেষ সংখ্যাটি পেতে, আমরা 4 – 7 = -3> 7 ব্যবহার করেছি এবং 7 + 7 = 14 -> 4. এর সাথে ডিক্রিপ্ট করা হলে আমরা যদি লিখে থাকি -3 এর পরিবর্তে, একটি আক্রমণকারী জানতে পারে যে আমাদের শেষ সংখ্যাগুলি আমাদের শেষ সংখ্যাটি করতে পারে না 6 এর চেয়ে বড় হতে পারে কারণ 9 টি, সর্বোচ্চ মান, মাত্র 6 প্রদান করে।

এবং যে জগাখিচুড়ি শেষ উপায় ছেড়ে দেয়: “এক টাইম” প্যাড পুনরায় ব্যবহার করে। সুস্পষ্ট, ঠিক আছে? ভুল।

Lorenz মেশিন, পাবলিক ডোমেইন
একদিকে, পুনঃব্যবহার একটি নির্দিষ্ট দায়বদ্ধতা। একটি খুব অনুরূপ এনক্রিপশন স্কিমে একটি পাসওয়ার্ড পুনরায় ব্যবহার করে WWII এর একটি গুরুত্বপূর্ণ কোডটি “টুনলি” ভাঙ্গা। একটি 4,000 অক্ষর এনক্রিপ্ট করা বার্তা পাঠানো হয়েছে কিন্তু সঠিকভাবে প্রাপ্ত না। প্রেরক বার্তাটি পুনরায় পাঠিয়েছিলেন, একই গোপনতার সাথে কিন্তু বিভিন্ন সংক্ষেপে ব্যবহার করে পাঠাতে ছোট পরিবর্তনগুলি তৈরি করেছিলেন। এটি মিত্রদের এটি এনক্রিপ্ট করা মেশিনটিকে টুনিকে এবং বিপরীত প্রকৌশলীকে বিরতি দেওয়ার জন্য যথেষ্ট পরিমাণে দেয়। খেলা শেষ.

এখানে গণিত যা টুনিকে ডিক্রিপ্ট কাজ করেছে, এবং আপনাকে প্রায়শই একটি কী পুনঃব্যবহার করতে আপনাকে সন্তুষ্ট করতে হবে। যদি আমরা গোপন কী সি-এর সাথে A এবং B এ বার্তাটি এনকোড করি, এবং কেউ উভয়কে overhearers করে, তারা কেবল তাদের একত্রিত করতে পারে (একটি মোড সি) মোড (বি মোড সি) = (একটি mod b) mod c mod c = a মোড বি, যেখানে মোডটি বিটুইড বা নম্বর-ভিত্তিক মডুলো অপারেটর যা আমরা এখন ব্যবহার করছি। বাইনারি modulo গ্রহণ করার পর থেকে এটির নিজস্ব বিপরীত, ফলাফলটি এমন কিছু যা উভয় plaintexts সম্পর্কিত, এবং গোপন কী থেকে স্বাধীন।

এখান থেকে, A এবং B এর জন্য স্মার্ট অনুমানগুলি তুলনা করা এবং একটি MOD B এর সাথে তুলনা করা কোডটি ভাঙ্গতে পারে। সুতরাং আপনি যদি নিশ্চিত হন যে উভয় গ্রন্থে “আক্রমণ” প্রদর্শিত হয় (ক্রিপ্টো প্রকার সর্বদা “ভোরের উপর আক্রমণ” এনক্রিপ্ট করুন),তারপর আপনি একটি MOD B এর সাথে একটি ম্যাচ পান না হওয়া পর্যন্ত আপনি বিভিন্ন অবস্থানের মধ্যে “আক্রমণ” মোডিং করার চেষ্টা করতে পারেন।

একটি বিস্ময় শেষ

কিন্তু এখানে চূড়ান্ত টুইস্ট! আমরা উপরে গণিত সত্ত্বেও, এমনকি আমাদের ব্যাংক কার্ড জুড়ে গোপন কী পুনঃব্যবহারের সাথে দূরে পেতে পারি। কেন? কারণ পিন নিজেদের র্যান্ডম হয়। যুদ্ধের সময় পাঠানো প্রাকৃতিক-ভাষা বার্তাগুলির বিপরীতে, একটি Mod B ঠিক যেমন একটি এবং B উভয় র্যান্ডম পিন হয় তবে একটি মোড সি হিসাবে র্যান্ডম।

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

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *