1 00:00:00,000 --> 00:00:10,101 >> [সঙ্গীত বাজানো] 2 00:00:10,101 --> 00:00:12,700 >> Zamyla Chan: যাক এর বাস্তবায়ন Vigenère, একটি সামান্য বেশি 3 00:00:12,700 --> 00:00:14,710 সিজার সাইফার আর অভেদ্য. 4 00:00:14,710 --> 00:00:19,670 প্লেইন টেক্সট ব্যবহার করে enciphered হয় পরিবর্তে একটি পূর্ণসংখ্যা একটি পংক্তি. 5 00:00:19,670 --> 00:00:22,970 প্রতিটি বর্ণের অক্ষর প্লেইন টেক্সট একটি দ্বারা স্থানান্তরিত করা হয় 6 00:00:22,970 --> 00:00:24,450 কী খুঁজতে হবে মধ্যে অক্ষর. 7 00:00:24,450 --> 00:00:30,860 >> এই উদাহরণে, শব্দ ohai, হে 14 একটি শিফট অনুরূপ; এইচ একটি 8 00:00:30,860 --> 00:00:36,910 7 নামান; একটি, শিফ্ট 0; এবং আমি 8 একটি নামান. 9 00:00:36,910 --> 00:00:40,710 আপনি সফলভাবে প্রয়োগ করে থাকেন তাহলে আপনার সিজার সাইফার, এটি একটি সুন্দর হতে হবে 10 00:00:40,710 --> 00:00:43,510 কাঠামো, যা থেকে আপনি Vigenère বাস্তবায়ন করতে পারে. 11 00:00:43,510 --> 00:00:47,140 যেহেতু আপনি দেখতে পারেন, একটি Vigenère চলমান একটি হিসাবে একটি অক্ষর দিয়ে সাইফার 12 00:00:47,140 --> 00:00:51,830 শব্দ একই জিনিস একটি সিজার সাইফার হিসেবে. 13 00:00:51,830 --> 00:00:55,170 >> একই পদক্ষেপ Vigenère প্রযোজ্য তারা সিজার করেছিল হিসেবে. 14 00:00:55,170 --> 00:01:01,240 শব্দ দ্বিতীয় কমান্ড লাইন যুক্তি, তাই আপনি argv1 সঙ্গে এটি অ্যাক্সেস. 15 00:01:01,240 --> 00:01:05,400 তারপর আপনি যাচাই করতে হবে যে কী শব্দ, প্রকৃতপক্ষে সব বর্ণের হয়. 16 00:01:05,400 --> 00:01:09,040 এখানে আলফা যেখানে হয় উপকারে আসতে পারেন. 17 00:01:09,040 --> 00:01:13,550 আপনাকে অবশ্যই একটি বৈধ শব্দ থাকে, তাহলে আপনি পাবেন তারপর ব্যবহারকারী থেকে শক্তি, এবং 18 00:01:13,550 --> 00:01:15,820 আপনি encipher করার জন্য প্রস্তুত হন. 19 00:01:15,820 --> 00:01:20,840 >> Vigenère সাইফার সূত্র অনুরূপ এখন ট ছাড়া সিজার সূত্র, আপনি 20 00:01:20,840 --> 00:01:27,650 ইঙ্গিত K সাবস্ক্রিপ্ট, j, হয়ে কিওয়ার্ড এর J-তম অক্ষর. 21 00:01:27,650 --> 00:01:29,640 এর এই প্রক্রিয়ার মাধ্যমে পইঠা চলুন শুরু করা যাক. 22 00:01:29,640 --> 00:01:34,060 আপনি আপনার একটি বার্তা পাঠাতে চেয়েছিলেন বলুন ক্র্যাশ, আমি তোমাকে পছন্দ করি, কিন্তু আপনি না 23 00:01:34,060 --> 00:01:35,190 সবাই জানতে চান. 24 00:01:35,190 --> 00:01:39,800 তাই আপনার সাথে একটি Vigenère সাইফার ব্যবহার শব্দ Panda, কারণ, ভাল, আপনি 25 00:01:39,800 --> 00:01:41,160 পান্ডাস না. 26 00:01:41,160 --> 00:01:47,140 >> প্রথম চিঠি, আমি স্থানান্তরিত করা হবে আমি পরে, 15 অক্ষর x এর প্রদান P, দ্বারা, 27 00:01:47,140 --> 00:01:52,850 15 P 16 কারণ বর্ণমালার অক্ষর. 28 00:01:52,850 --> 00:01:56,750 প্লেইন টেক্সট পরবর্তী চিঠি একটি স্থান, স্থানান্তরিত করা যাতে. 29 00:01:56,750 --> 00:02:00,420 এবং শব্দ সূচী পরিবর্তন হবে না. 30 00:02:00,420 --> 00:02:05,440 >> তারপর প্লেইন টেক্সট পরবর্তী চিঠি নামান না যা দ্বারা স্থানান্তরিত L, 31 00:02:05,440 --> 00:02:10,930 এ সব প্লেইন টেক্সট অক্ষর, কারণ একটি বর্ণমালার 0th অক্ষর. 32 00:02:10,930 --> 00:02:14,980 প্রক্রিয়া আগুয়ান, অব্যাহত শব্দ চরিত্র আছে প্রত্যেক সময় একটি 33 00:02:14,980 --> 00:02:16,840 প্লেইন টেক্সট অক্ষর. 34 00:02:16,840 --> 00:02:21,850 শব্দ শেষ অক্ষর একবার পৌঁছেছেন, শব্দ কাছাকাছি গোপন এবং 35 00:02:21,850 --> 00:02:25,890 পরবর্তী প্লেইন বদল পি দ্বারা টেক্সট অক্ষর. 36 00:02:25,890 --> 00:02:27,170 এক্স lvne noh. 37 00:02:27,170 --> 00:02:29,180 কিভাবে রোমান্টিক. 38 00:02:29,180 --> 00:02:33,120 >> সুতরাং একটি চরিত্র দেওয়া হয়, কিভাবে আপনি রূপান্তর না যে সংশ্লিষ্ট মধ্যে 39 00:02:33,120 --> 00:02:34,590 স্থানান্তর সাইফার? 40 00:02:34,590 --> 00:02:37,870 হওয়া ASCII তুলনা চেষ্টা করুন নামান মান. 41 00:02:37,870 --> 00:02:41,530 হয়তো আপনি একটি সম্পর্কে জানতে পারেন অক্ষর এবং তাদের মধ্যে 42 00:02:41,530 --> 00:02:44,550 হওয়া ASCII গণিত ব্যবহার করে বর্ণানুক্রমিক সূচী. 43 00:02:44,550 --> 00:02:48,850 আপনি একটি অক্ষর যোগ অথবা বিয়োগ করতে পারেন অন্য কাছ থেকে 44 00:02:48,850 --> 00:02:51,630 আপনি পছন্দসই ফলাফল? 45 00:02:51,630 --> 00:02:55,480 >> মনে রাখবেন যে য়ের বড়হাতের অক্ষর ছোটহাতের জন্য বদল আনতে এবং ছোট হাতের অক্ষর একই. 46 00:02:55,480 --> 00:02:59,510 তাই সম্ভবত আপনি দুটি শনাক্ত করতে হবে অনুরূপ সূত্রে প্রতিনিধিত্বকারী 47 00:02:59,510 --> 00:03:03,570 স্থানান্তর, একটি য়ের বড়হাতের অক্ষর ছোটহাতের জন্য এক শব্দ অক্ষর, এবং এক 48 00:03:03,570 --> 00:03:06,510 একটি ছোট আকারের এক জন্য. 49 00:03:06,510 --> 00:03:10,630 >> এর পরে, মনে রাখবেন যে শব্দ অগ্রগতি শুধুমাত্র চরিত্রের হলে 50 00:03:10,630 --> 00:03:13,520 প্লেইন টেক্সট একটি চিঠি এবং যে হয় প্লেইন ক্ষেত্রে 51 00:03:13,520 --> 00:03:16,020 টেক্সট সংরক্ষণ করা আবশ্যক. 52 00:03:16,020 --> 00:03:20,280 আমরা জন্য সূত্র তাকান তাই আপনি যদি Vigenère স্থানান্তর, দুটি সূচক আছে 53 00:03:20,280 --> 00:03:22,880 ভেরিয়েবল, আমি এবং ঞ. 54 00:03:22,880 --> 00:03:26,795 এক সমভূমি অবস্থান ট্র্যাক রাখে টেক্সট, এবং অন্যান্য স্থান 55 00:03:26,795 --> 00:03:27,910 কী খুঁজতে হবে না. 56 00:03:27,910 --> 00:03:32,960 কিন্তু আপনার প্লেইন টেক্সট অনেক লম্বা হতে পারে আপনার শব্দ আর, যে ক্ষেত্রে আপনার 57 00:03:32,960 --> 00:03:38,290 শব্দ সূচক ফিরে চারপাশে মোড়ানো প্রয়োজন অভিব্যক্তি শুরুতে. 58 00:03:38,290 --> 00:03:39,870 >> আপনি কিভাবে এই কাজ করে? 59 00:03:39,870 --> 00:03:43,740 এ ফিরে তাকান চলুন শুরু করা যাক modulo অপারেটর. 60 00:03:43,740 --> 00:03:47,280 Modulo সংজ্ঞায়িত করা হয় বাকি হয় দুটি সংখ্যার বিভাজক না. 61 00:03:47,280 --> 00:03:50,680 কিন্তু কি একটি প্রকৃত বাস্তব এর modulo ব্যবহার? 62 00:03:50,680 --> 00:03:54,340 >> হ্যাঁ, আপনি একটি বড় দল আছে বলে মানুষ, এবং আপনি ভাগ করার প্রয়োজন 63 00:03:54,340 --> 00:03:55,100 তিনটি গ্রুপ. 64 00:03:55,100 --> 00:03:59,500 দলের মধ্যে মানুষ বিভক্ত করা এক উপায় তাদের গণনা করতে হয়. 65 00:03:59,500 --> 00:04:03,520 আপনি নম্বর গ্রুপ গ্রুপ সংখ্যা 1, 2, এবং 3. 66 00:04:03,520 --> 00:04:08,510 প্রথম ব্যক্তি, 1 বলবে পরবর্তী 2, পরবর্তী 3. 67 00:04:08,510 --> 00:04:12,860 1 বলতে হবে যে পরে ব্যক্তি, একটি গ্রুপ 4, এবং সেখানে না থাকার কারণে 68 00:04:12,860 --> 00:04:15,880 গণনা সেখানে থেকে আরম্ভ করা হয়. 69 00:04:15,880 --> 00:04:18,209 >> আপনি modulo ব্যবহার করতে পারেন একই জিনিস করে. 70 00:04:18,209 --> 00:04:22,680 এই সময়, দল হবে গ্রুপ 0, 1, এবং 2. 71 00:04:22,680 --> 00:04:26,960 প্রথম ব্যক্তি, সংখ্যা 1 modulo 3, 1. 72 00:04:26,960 --> 00:04:29,830 ব্যক্তির 2 modulo 3 2. 73 00:04:29,830 --> 00:04:32,460 ব্যক্তি 3 modulo 3 0. 74 00:04:32,460 --> 00:04:38,470 ব্যক্তি 4 modulo 3 তাই 1 দেয়, এবং গ্রুপ চারপাশে মোড়ানো করতে পারেন. 75 00:04:38,470 --> 00:04:44,700 >> আপনি একটি সূচক এবং modulo নিতে তাই আপনি যদি সর্বোচ্চ আকার দ্বারা যে সূচক, 76 00:04:44,700 --> 00:04:49,820 ফলে এর চেয়ে বড় বা হবে না যার অর্থ, আয়তন সমান যে আপনি 77 00:04:49,820 --> 00:04:52,330 হিসাবে সূচক বৃদ্ধি করতে পারেন আপনি চান হিসাবে অনেক. 78 00:04:52,330 --> 00:04:57,400 এবং যতদিন আপনি সূচক modulo হিসাবে কিছু সংখ্যা, আপনি একটি নম্বর পাবেন না 79 00:04:57,400 --> 00:04:58,510 যে চেয়ে বড়. 80 00:04:58,510 --> 00:05:04,500 তাই আমরা 10 জনের পরিবর্তে 5 আছে, এবং তারা সব গ্রুপ নির্ধারিত পেতে হবে 81 00:05:04,500 --> 00:05:07,480 সংখ্যা 0, 1, বা 2. 82 00:05:07,480 --> 00:05:11,680 >> ওভার মোড়কে এই আবেদন করতে চেষ্টা করুন শব্দ ছাড়া পরিবর্তে বাছাই 83 00:05:11,680 --> 00:05:16,050 গ্রুপ সংখ্যার মধ্যে মানুষ আপনি চান শব্দ সূচী করতে পারেন যাতে 84 00:05:16,050 --> 00:05:19,080 জন্য সঠিক চরিত্র পেতে অতিশয় ছাড়া নামান 85 00:05:19,080 --> 00:05:21,836 স্ট্রিং এর দৈর্ঘ্য. 86 00:05:21,836 --> 00:05:24,790 যে সঙ্গে, আপনি আপনার Vigenère সাইফার. 87 00:05:24,790 --> 00:05:27,790 আমার সম্পর্কে নাম Zamyla, এবং এই CS50 হয়. 88 00:05:27,790 --> 00:05:32,566