رفتن به نوشته‌ها

برچسب: رمزنگاری کوانتومی

ترابرد کوانتومی از برج میلاد به برج آزادی! کسی صدای من رو می‌شنوه؟

چندی پیش بود که آقای دکتر علی اکبر صالحی خبر از پروژه‌ی مخابره‌ی کوانتومی بین برج میلاد و برج آزادی دادند. این فرآیندی است که در طی آن اطلاعات با امنیت بالایی مخابره می‌شود. این فناوری یکی از فناوری‌های روز دنیاست که پیش‌بینی می‌شود به زودی دنیای انتقال اطلاعات را تصاحب کند.

نگاره ۱- پروژه مخابره کوانتومی بین برج میلاد و برج آزادی

در این نوشته قصد داریم تا با مفهوم انتقال پیام به سبک فناوری کوانتومی آشنا شویم. این توضیح را در ۵ سطح انجام می‌دهیم. مشخصا توضیح دقیق آن جز در سطح متخصصان ممکن نیست اما در هر سطح تلاش کردیم تا مزه‌هایی از این فرآیند را بچشیم.

۱ – دانشمند کوچک‌ و کنجکاو!

شاید تا به حال تلفن آقای بل را دیده باشید. اگر تا به حال ندید؛ خیلی راحت می‌توانید در خانه درست کنید. دو عدد لیوان یکبار مصرف کاغذی را از انتها با یک نخ به هم متصل کنید. حالا یک لیوان را به دوست خود دهید و دیگری را در دستان خود نگه دارید. از دوست خود بخواهید تا لیوان را روی گوش خود نگه دارد. در حالی که نخ در حالت کشیده قرار دارد؛ درون لیوان شروع به صحبت کنید. حدس بزنید چه می‌شود؟!

نگاره ۲ – تلفن آقای بل Tin can telephone

دوستتان حرف‌های شما را درون لیوان خودش خواهد شنید. شاید فکر کنید که او تقلب کرده است و دارد از خارج لیوان با گوش دیگرش صدای شما را می‌شنود. پس بیاید امتحان کنیم! کمی نخ را بلندتر درست کنید و آهسته‌تر صحبت کنید. به من اعتماد کنید که او دارد صدای شما را از لیوان می‌شنود. اما چرا؟

مهم‌ترین مسئله نخ است. نخی که میان دو لیوان در دو جای مختلف ارتباط ایجاد کرده است. اگر در حین صحبت شما فرد سومی نخ را ببرد دیگر صدای شما منتقل نمی‌شود. در ترابرد کوانتومی اتفاقی شبیه به این می‌افتد! اما این بار فاصله‌ی دو دوست از هم می‌تواند بسیار بلندتر باشد. باز هم میان دو نقطه ارتباط برقرار است اما از جنس نخ خیاطی نیست! به هر ترتیب هر دو دوست در دست خود چیزی شبیه به لیوان دارند که اگر یکی از آن‌ها آن را تکان دهد دیگری در سمت دیگر متوجه خواهد شد.

اگر توانستید تا اینجا حرف‌های من را متوجه شوید پس حتما خیلی باهوش و کنجکاو هستید! پیشنهاد می‌کنم خواندن این متن را ادامه بدهید اما اگر متوجه نشدید؛ هیچ اشکالی ندارد.

۲- نوجوان جستجوگر!

اهل فیلم هستید؟ در بعضی از فیلم‌های سبک هیجانی فیلم‌برداری‌ها در تونل باد انجام می‌شود. در این حالت تلاش می‌کنند که برای دو بازیگر حالت معلق بودن را شبیه‌سازی کنند. آن‌ها به دور خود می‌چرخند و در هوا شنا می‌کنند. این بار که خواستید تماشا کنید به یک صحنه خوب دقت کنید.

صحنه‌ای که دو بازیگر در ابتدا در حالت ساکن و بی‌وزن هستند و دو دست خود را به یکدیگر داده‌اند. در این حالت اگر یکی دیگری را با دست بچرخاند چه اتفاقی می‌افتد؟ حدس بزنید.

نگاره ۳- دو بازیگر که دست خود را به یک دیگر داده‌اند و تلاش می‌کنند یکدیگر را بچرخانند
نتیجه آن می‌شود که هر کدام در دو جهت خلاف هم خواهند چرخید.

بله! دیگری هم می‌چرخد. اما دقت کنید که دیگری در جهت خلاف دوست خود می‌چرخد. عجیب است نه؟! پس اگر فرض کنید که کادر فیلم برداری به گونه‌ای باشد که شما فقط یک بازیگر را در حالت چرخیدن در جهت عقربه‌های ساعت ببینید؛ حتم خواهید داشت که دیگری در جهت خلاف عقربه‌های ساعت در حال چرخش است با اینکه او را نمی‌بینید.

نکته مهم اینجاست که این دو بازیگر در ابتدا دستان خود را به یک دیگر داده بودند و چرخش خود را با چرخاندن یکدیگر شروع کرده بودند. اگر آنها دستان بلندتری داشتند و یا از یک چوب معلق بلند استفاده می‌کردند نیز می‌توانستند همین چرخش مخالف هم را برای خود ایجاد کنند.

در ترابرد کوانتومی این دو بازیگر، دو الکترون هستند که بسیار کوچکند و در ابتدا دستان خود را به یک‌دیگر داده بودند. حال که از یکدیگر فاصله گرفته‌اند اگر یکی در جهت عقربه‌های ساعت بچرخد؛ متوجه خواهید شد که طرف دیگر الکترونی است که در جهت عکس می‌چرخد. حال شاید بپرسید چطور می‌توان به کمک این ترفند بین دو نقطه هماهنگی برقرار کرد. بگذارید یک مثال بزنیم.

شما و دوستتان می‌خواهید به دو رستوان مختلف بروید. یک رستوران در برج میلاد است و دیگری در پای برج آزادی. هر کدام از این رستوران‌ها فقط دو نوع غذا در منوی خود دارند. مثلا قیمه و قورمه. پیش از راه افتادن و جدا شدن از دوست خود با او هماهنگی انجام می‌دهید. به او می‌گویید اگر الکترون او در جهت عقربه‌های ساعت چرخید، قیمه و اگر در جهت عکس چرخید قورمه را انتخاب کند. به این ترتیب با اندازه‌گیری چرخش الکترون خود در برج دیگر می‌توانید متوجه شوید که او کدام غذا را انتخاب خواهد کرد تا شما غذای دیگر را انتخاب کنید!

نگاره ۴ – منو با دو غذا در رستوران آزادی و میلاد

اگر اهل چالش فکری هستید به این فکر کنید که اگر رستوران بیشتر از ۲ مدل غذا داشت؛ چطور می‌توانستیم با دوست خود قرارداد کنیم که چه غذایی را انتخاب کند تا ما متوجه انتخاب او در برج دیگر شویم.

۳- کمی پیش از دانشگاه! [یا همان توضیح زیر دیپلمی خودمان:) ]

شاید با دو مفهوم تکانه (تندی حرکت) و چرخش الکترون (اسپین) آشنایی داشته باشید. بگذارید همین ابتدا یک افشاگری جالب برایتان بکنم. الکترون واقعا نمی‌چرخد! الکترون خاصیتی به نام اسپین دارد که مانند تکانه‌ی چرخش رفتار می‌کند. از این رو از آن به عنوان چرخش ذاتی – و نه حرکتی – الکترون یاد می‌کنند.

  • اسپین جهت دارد! درست مانند یک فرفره که می‌تواند در جهت عقربه‌های ساعت بچرخد و یا خلاف آن و یا حتی غلت بزند و بالا و پایین رقص محوری انجام دهد. در این حالت محور چرخش را محور تکانه یا تندی چرخش به دور خود فرفره در نظر می‌گیریم. به همین ترتیب الکترون نیز خاصیت در ذات خود به نام اسپین دارد که مانند تکانه‌ی چرخشی سکه یا فرفره رفتار می‌کند.
  • برآیند اسپین دو الکترون پایسته است! حتما در مورد پایستگی تکانه در درس فیزیک شنیده‌اید. تکانه چرخشی هم مانند تکانه‌ی خطی پایسته است. پیش‌تر مثالی از دو بازیگر در تونل هوا را زدیم که اگر ابتدا نچرخند و برآیند تکانه‌ی چرخشی هردو صفر باشد؛ پس از چرخاندن یک دیگر نیز برآیند صفر می‌ماند. به طریقی که اگر یکی در جهت عقربه‌های ساعت بچرخد؛ دیگری در جهت خلاف عقربه‌های ساعت می‌چرخد تا مجموع تکانه‌ی چرخشی هر دو صفر باقی بماند.

پرتوی گاما از ذرات با اسپین صفر تشکیل شده‌اند. اگر گاما واپاشی کند؛ دو الکترون از خود متولد می‌کند! پایستگی تکانه می‌گوید که اسپین دو الکترون تولید شده باید خلاف یک دیگر باشد تا برآیند آن دو مانند قبل از واپاشی صفر شود.

اتفاقی که در برج میلاد و برج آزادی می‌افتد نیز این چنین است. برج میلاد به صورت پیوسته الکترون‌هایی را دریافت می‌کند که جفت دیگرش نزد برج آزادی است. اگر برج آزادی الکترونی را دریافت کند که ساعت‌گرد می‌چرخد؛ متوجه می‌شود که برج میلاد در حال مشاهده‌ی الکترونی است که در جهت خلاف عقربه‌های ساعت می‌چرخد.

مثال پایانی بخش قبل را بخوانید. متوجه می‌شوید که از این پدیده که به خاطر پایستگی تکانه رخ می‌دهد؛ چگونه می‌توان برای هماهنگی دو نقطه استفاده کرد. اما شاید بپرسید که هر کدام از دو برج فقط الکترونی را مشاهده می‌کنند که به دست آنها رسیده است. آن‌ها کنترلی روی آن ندارند. فقط وقتی متوجه حرکت اسپینی الکترون می‌شوند که آن را مشاهده کنند و توانایی تنظیم آن را ندارند تا بتوانند انتقال پیامی صورت دهند. این مسئله نیز قابل حل است اما برای توضیح دقیق این که چطور انتقال پیام دلخواه صورت می‌گیرد نیاز داریم تا مباحثی پیشرفته را اشاره کنیم که در ادامه آمده است.

  • برای درک بهتر این داستان‌های کوانتومی این ویدیو رو ببینید:

۴ -بالای دیپلم [عالمین بالحیل!]

اگر از آسمان به زمین نگاه کنید (راستای Z)؛ چرخنده‌ها دو حالت دارند. یا در جهت ساعت می‌چرخند یا در خلاف آن! بیاید کمی بازی کنیم! من از نوشتن کلمه‌ي «ساعت و ساعتگرد» خسته شده‌ام. از این پس چرخش ساعتگرد را صفر (۰۰) می‌نامم و دیگری را (۱). اگر حالت‌های ممکن برای این دو الکترون را به ترتیب بنویسیم به چهار زوج می‌رسیم که عبارت اند از: (۰۰, ۰۱, ۱۰, ۱۱) این کلی ترین حالت چرخش یک سیستم دو الکترونی است.

اما صبر کنید گفتیم که این جفت از واپاشی یک ذره گاما بوجود آمده‌اند که در ابتدا چرخش صفر داشته است. پس هر چهار حالت یاد شده نمی‌توانند محتمل باشند و فقط دو حالت (۰۱, ۱۰) هستند که می‌توانند به قانون پایستگی تکانه احترام بگذارند. این دو الکترون را اکنون درهم‌تنیده می‌گوییم. زیرا حالت یکی مستقل از دیگری نیست.

حال که جفت الکترون را بهتر شناختیم بیاید به برهم‌کنش این سامانه با محیط فکر کنیم. اگر میان برج آزادی و برج میلاد این الکترون‌ها با ذره‌ای دیگر برخورد کنند دیگر با قطعیت نمی‌توانیم بگوییم از میان این چهار حالت فقط دوتای یادشده را می‌توانند بگیرند. در این حالت سیستم ما مختل شده است. حال قانون پایستگی برای مجموع این دو الکترون و تمام ذراتی برقرار است که با آنها برخورد کرده‌اند.

برای انتقال پیام دلخواه از همین اختلال الهام گرفته شده است. فرض کنید می‌خواهیم طرف مقابل الکترونی در حالت ۰ دریافت کند. این جفت درهمتنیده را در یک برج به گونه‌ای مختل می‌کنیم که احتمال دریافت حالت ۰ برای آن سر خط ارتباطی بیشتر شود. این اختلال را با ورود الکترون سومی در نزد فرستنده پیام انجام می‌دهیم.

۵- تازه‌ واردها به فیزیک کوانتومی

یک نکته خیلی مهم در نگاه کوانتوم مکانیک به دنیا وجود دارد. آن هم این که تا زمانی که شما اندازه‌گیریی را روی سامانه‌ی مورد مطالعه خود انجام نداده‌اید؛ سامانه در حالتی مرکب از تمام حالت‌های ممکنی است که سامانه می‌تواند به خود بگیرد. به عنوان مثال زوج متولد شده‌ی الکترون و پوزیترون را از واپاشی گاما درنظر بگیرید.

از آنجا که گاما در ابتدا چرخش ذاتی (اسپین) صفر دارد، پس از واپاشی هم سامانه باید در برآیند اندازه‌ی چرخش‌ها، اسپین صفر داشته باشد. دو حالت برای این سامانه وجود دارد. یا لنگه‌ای از این جفت که در برج میلاد دریافت می‌شود تکانه‌ی چرخشی مثبت ($\ket{0}$) دارد و دیگری در برج آزادی منفی ($\ket{1}$) و یا برعکس.

توصیف کوانتوم مکانیک را از این آزمایش یادآور شویم. اگر حالت سامانه را با $\ket{\psi}$ نشان دهیم؛ پیش از اندازه‌گیری توسط برج‌ها به صورت مرکب زیر قابل توصیف است. یعنی برهم‌نهی از دو حالت ممکن که حاصل جمع تکانه صفر دارد.

$$\ket{\psi} = \frac{1}{\sqrt{2}} (\ket{0}\ket{1} + \ket{1}\ket{0})$$

$\ket{0} \ket{1}$ نماد به این معنی است که الکترون اول در حالت چرخش ساعتگرد بوده و الکترون دوم در حالت پادساعتگرد. جمله‌ی دوم هم تعبیر مشابه و عکس دارد. ضرایب یکسان پشت هر جمله نشان دهنده آن است که دو حالت ممکن به یک اندازه محتمل هستند. حال که با نماد گذاری کوانتومی آشنا شدیم بیایم وارد هنر نمایی خود در ترابرد شویم.

ایده اصلی در ترابرد یا مخابره اطلاعات به سبک کوانتومی آن است که این سامانه‌ی دو بخشی را به کمک الکترون سومی مختل کنیم. الکترون سومی که محل نگهداری آن در برجی است که قصد انتقال پیام خود را دارد. این اختلال به صورتی زیرکانه باعث می‌شود تا طرف دیگر در برج دیگر صاحب الکترونی شود که احتمال برآمدن صفر و یکش پس از اندازه‌گیری دیگر یکسان نیست. حال کمربند خود را سفت ببندید تا الگوریتم ترابرد را باهم مرور کنیم!

۱) مرحله‌ی اول: ابتدا الکترون را …

فرض کنید این برج میلاد است که می‌خواهد پیامی به برج آزادی دهد. او الکترون سوم را که حالتی $\ket{\phi} = \alpha \ket{0} + \beta \ket{1}$ دارد؛ در کنار الکترون خود قرار می‌دهد. حال حالت سامانه سه‌تایی به صورت زیر قابل نوشتن است:

$$\begin{align}
\ket{\Psi} &= (\alpha \ket{0} + \beta \ket{1} ) \big( \frac{1}{2}(\ket{0,1} + \ket{1,0}) \big) \newline
&= \frac{1}{\sqrt{2}} \big[ \alpha \ket{0,0,0} + \beta \ket{1,0,0} + \alpha \ket{0,1,1} + \beta \ket{1,1,1} \big]
\end{align}$$

نگاره ۵ – مختل کردن سامانه جفت الکترون به کمک الکترون سوم نزد برج میلاد.
در نتیجه‌ی این فرآیند با یک سامانه سه بخشی درهم‌تنیده طرف هستیم.

کمی چشم بندی کنیم:) عبارت بالا با ضرب و مرتب سازی نیز می‌توان به صورت زیر نوشت:

$$\begin{align}
\ket{\Psi} = \frac{1}{2}\big[ &\ket{\phi^{+}} (\alpha \ket{0} + \beta \ket{1}) \newline
+& \ket{\phi^{-}} (\alpha \ket{0} – \beta \ket{1}) \newline
+& \ket{\psi^{+}} (\beta \ket{0} + \alpha \ket{1}) \newline
+& \ket{\psi^{-}} ( – \beta \ket{0} + \alpha \ket{1}) \big]
\end{align}$$

که در آن چهار جمله‌ی $\ket{\phi^{\pm}}$ و $\ket{\psi^{\pm}}$ به قرار زیر هستند. [اگر اسامی را دوست دارید؛ درگوشی به شما می‌گویم این چهار حالت را با نام حالت‌های بل می‌شناسیم.]

$$\begin{align}
\begin{cases}
\ket{\phi^{\pm}} &= \frac{1}{2} (\ket{0,0} \pm \ket{1,1}) \newline
\ket{\psi^{\pm}} &= \frac{1}{2} (\ket{0,1} \pm \ket{1,0})
\end{cases}
\end{align}$$

۲) مرحله دوم: اندازه‌گیری…

به آنچه که اکنون از حالت سامانه $\ket{\Psi}$ در عبارت گذشته رسیدیم توجه کنیم. این عبارت می‌گوید چهار حالت ممکن برای این سامانه وجود دارد. در هر کدام برای دو الکترون نزد برج میلاد یکی از چهار حالت بل را داریم و برای الکترون آخر که در نزد برج آزادی است؛ حالتی را داریم که دگر شکلی از حالت الکترون سومی است که آخرین بار وارد سامانه شد.

خوش به حالمان می‌شود اگر برج میلاد پس از اندازه‌گیری متوجه شود که دو الکترون نزد او حالت $\ket{\phi^{+}}$ را داشته‌اند. زیرا در آن صورت حالت الکترون سوم در نزد برج آزادی دقیقا همان حالتی است که برج میلاد در ابتدا در الکترون سوم خود داشت. اما اگر خوش به حالمان نشود چطور؟

به هر صورت در انتها یک حالتی شبیه به همان الکترون وارد شده در نزد برج آزادی احیا می‌شود. این حالت‌ها همگی ضرایب مشابه دارند ولی تنها علامت یا جایگاهشان جابجا شده است. در این صورت اگر برج میلاد با انتقال یک پیام کوتاه دو بیتی به برج آزادی بگوید که کدام حالت بل را مشاهده کرده است آنگاه می‌توان به کمک عملگرهای پائولی این دگرگونی‌ها را نیز برطرف کرد.

۳) حال با خیال راحت سوپ خود را بچشید!

دقت کنیم که این انتقال پیام با سرعتی بیشتر از سرعت نور انجام نمی‌شود. تا زمانی که برج میلاد به برج آزادی به کمک روش‌های کلاسیکی (مثل تلفن یا فیبر نوری) نگوید کدام حالت بل را دیده؛ برج آزادی نمی‌تواند حالت مورد نظر را از الکترون خود احیا کند.

کاری که در این فرآیند انجام دادیم خیلی بیشتر از انتقال یک پیام صفر یا یک است. ما یک بردار کامل دو بعدی را انتقال دادیم. اگر قرار بود این انتقال را با روش‌های کلاسیکی انجام دهیم؛ باید هر کدام از ضرایب آلفا و بتا را در پیام‌هایی جداگانه با بیت‌های رایج صفر و یک انتقال دادیم. اگر این اعداد گویا نبودند؛ باید تعدادی بیشمار بیت خرج این انتقال پیام می‌کردیم.

  • اگر می‌خواهید درک فنی‌تری از درهم‌تنیدگی پیدا کنید این چند جلسه از کلاس درس ساسکایند را مشاهده کنید.
  • به عنوان یک مثال ساده پیشنهاد می‌کنیم این ویدیو رو ببینید:

رمزنگاری کوانتومی

زندگی روزمره‌­ی ما رو گستره‌­ی وسیع و متنوعی از ارتباطات تشکیل میده. از یک عملیات ساده بانکی با کارت­‌های اعتباری گرفته تا مکالمات تلفنی، ایمیل‌­ها، نامه‌نگاری‌ها، فضاهای ابری و … که در هرکدوم از این‌­ها کلی اطلاعات رد و بدل میشه. اما همواره مساله اساسی که وجود داره، خطر دزدیده شدن اطلاعات در این ارتباطاته و می‌دونیم هرچقدر ارزش اطلاعات بیشتر باشه خطر بزرگتری هم اونا رو تهدید میکنه.

 میخوایم توجه خودمون رو معطوف این پرسش کنیم که آیا امکان برقراری ارتباط کاملا امن بدون ترس از دزدیده شدن اطلاعات وجود داره یا نه ؟

مساله‌ی تامین امنیت ارتباطات از گذشته­‌های دور مورد توجه ویژه مردم بوده. مثلا در جنگ‌­ها اطلاعات مهم و سری باید با حداکثر ایمنی جابجا می­شد و این خودش یک مساله بزرگ به حساب میومد و بعضی وقتا بیسیم‌چی‌ها از کلمات رمزی برای این کار استفاده می­‌کردند. با گذشت زمان ابزار رمزنگاری هم کم‌کم به دست بشر پیشرفت کرد و راه‌­های زیادی طراحی و اجرا شد.

یکی از روش‌های کلاسیک رمزنگاری روش “ One-time Pad ” است. این روش امنیت نسبتا بالایی داره. فرض کنید با این روش یک متن رو رمزگذاری کردید. متن رمزگذاری شده­‌ی شما هیچ اطلاعاتی از متن اصلی نداره و اگر کسی قصد دزدیدن اطلاعات رو داشته باشه، نمیتونه از متن رمزگذاری شده چیزی متوجه بشه. ویژگی مهم این روش اینه که برای رمز گذاری از کلیدی استفاده میشه که به اندازه متن طولانیه و کلیدمون یکبار مصرفه!

بیایم یک مثال برای این روش بزنیم. فرض کنید آلیس و باب میخوان یک پیام متنی برای هم بفرستن. مثلا آلیس میخواد کلمه “QUANTUM” رو برای باب بفرسته. در مرحله اول آلیس با توجه به جایگاه هر حرف یک عدد به اون نسبت میده:

message:                                   Q          U          A          N          T          U          M

message:                             17 (Q)    21 (U)    1 (A)   14 (N)   20 (T)    21 (U)   13 (M)

برای ساخت کلید آلیس از اعداد تصادفی استفاده میکنه و به هر عدد تصادفی میتونه یک حرف رو نسبت بده:

key:                                    24 (X)     22 (V)    2 (B)    10 (J)     3 (C)     8 (H)    12 (L)

تو این قسمت اعداد رو دو به دو باهم جمع میکنه:

message + key:                   15 (O)     17 (Q)   3 (C)     24 (X)   23 (W)   3 (C)    25 (Y)

و در نهایت آلیس یک متن رمزگذاری شده (ciphertext) تولید کرده:

ciphertext:                                O            Q         C           X          W         C          Y

حالا کاری که باید باب انجام بده چیه؟ باب متن رمزنگاری شده رو از آلیس دریافت میکنه:

ciphertext:                                O            Q          C          X          W          C          Y

و اعداد مربوط به هر حرف رو هم میدونه:

ciphertext:                          15 (O)      17 (Q)    3 (C)   24 (X)    23 (W)    3 (C)    25 (Y)

حالا اگه باب کلید رو در اختیار داشته باشه میتونه به راحتی (با یک تفریق ساده!) به متن اصلی دست پیدا کنه:

key:                                   24 (X)       22 (V)    2 (B)    10 (J)      3 (C)     8 (H)  12 (L)

ciphertext – key:                  17 (Q)      21 (U)    1 (A)   14 (N)     20 (T)   21 (U)  13 (M)

message:                                 Q             U          A          N           T          U          M

اما این روش رمزنگاری یک سری مشکلات رو هم به همراه داره. یک مشکل بزرگ اینه که اعداد تولید شده برای ساختن کلید، واقعا تصادفی نیستند. در واقع اعدادی که کامپیوتر به اسم اعداد تصادفی برای ما تولید میکنه، از الگوریتم‌های خاصی پیروی می‌کنند و اونجوری که باید، اعداد تصادفی نیستند. خب اگه سارقِ اطلاعات بتونه روند تولید عدد تصادفی رو حدس بزنه ، به راحتی به کلید دسترسی پیدا می­کنه و میتونه بدون اینکه ما متوجه بشیم اطلاعات رو بدزده. یکی دیگه از مشکلات بزرگ این روش اینه که کلید تولید شده به اندازه متن طولانیه و یکبار مصرفه و اگر بخواهیم متن‌های زیادی رو رد و بدل کنیم، دفترچه­‌ی چند صد برگی از کلیدها رو هم نیاز داریم که بنظر معقول نمیاد. اما مهم‌ترین مشکل در رد و بدل کردن کلید پیش میاد. کلید ساخته شده توسط آلیس چه‌جوری به دست باب باید برسه؟! از طریق خطوط ارتباطی مثل اینترنت یا تلفن؟ یا مثلا با یک پیک موتوری؟ می‌دونیم اگه کلید لو بره و دست سارق اطلاعات بیفته علاوه بر اینکه متن رمزگذاری شده رو میتونه بخونه، میتونه الگوریتم تولید کلید رو هم بدست بیاره و بقیه ماجرا.  همه‌ی این‌ها باعث میشه به این نتیجه برسیم که ” One-time Pad ” روش ایده آلی برای رمز نگاری نیست.

اما یک روش کلاسیک رمز نگاری دیگه هم وجود داره که بر اساس الگوریتم‌های ریاضی بنا شده . اگه بخوایم بطور خیلی مختصر توضیح بدیم، تو این روش یک کلید عمومی وجود داره و از اون برای رمزگذاری استفاده میشه و کلید عمومی رو همه دارند. همچنین یک کلید خصوصی وجود داره برای گشودن رمز که این کلید فقط دست شخصیه که قراره اطلاعات رو به اون بفرستیم. این روش انوع مختلفی داره مثل  Diffie-Hellman ,  RSA , Elliptic Curve . در واقع این روش بر اساس یک سری از توابع ریاضیاتی بنا شده که انجامشون از یک طرف آسون ولی  باز گردوندنشون سخت و دشواره.

قبل اینکه وارد روش­‌های رمزنگاری کوانتومی بشیم، یک سری از مفاهیم مکانیک کوانتومی رو باهم مرور می‌کنیم:

– میدونیم که هر حالت (state) کوانتومی رو میشه بر حسب بر هم نهی یک سری حالت پایه بنویسیم . حالا اگه بیایم روی اون اندازه‌گیری انجام بدیم، یک جواب یکتا بدست میاریم. مثلا اگر حالت مورد نظر از بر هم نهی ۲ حالت پایه ساخته شده باشه، همواره بعد از اندازه‌گیری یکی از حالت‌ها رو بدست میاریم و هیچوقت دوتاشون رو با هم در نتیجه‌­ی آزمایشمون نداریم. (نگاه کنید به: Quantum superposition)

– اندازه‌گیری یک حالت باعث میشه سیستم در اون حالت اندازه‌گیری شده بمونه که اصطلاحا میگن سیستم به اون حالت فروریزش یا فروکاهش  “collapse” کرده. (نگاه کنید به: Measurement in quantum mechanics)

– یک مفهوم دیگه هم در کوانتوم وجود داره که مفهوم درهم‌تنیدگیه ( “ entanglement” ) که میگه دو ذره (مثلا دو تا فوتون) که در هم تنیده شدن، با هم در ارتباطند، هر چند که از هم دور باشند و یجورایی همدیگه رو خبردار می‌کنند! مثلا اگه بیایم یکی از فوتون‌ها رو روش آزمایش انجام بدیم، این آزمایش رو اونیکی فوتون که ممکنه اونور دنیا هم باشه نتیجه مشخصی رو میده که از فیزیک کلاسیک زیاد قابل توجیه نیست!

– همچنین میدونیم فوتون یک بسته از نوره (اگه نور رو با دید ذره ای نگاه کنیم) .

– یک ویژگی که به فوتون‌ها میشه نسبت داد قطبیدگی یا قطبش اونهاست. (اگه بخواییم خیلی مختصر توضیح بدیم، قطبیده شدن یک فوتون یعنی اینکه اون­‌ها رو از یک سری وسیله اپتیکی عبورشون بدیم تا بعد از عبور، در راستایی که ما میخواهیم حرکت کنند.)

– یک فوتون میتونه بصورت عمودی یا افقی قطبیده بشه و یا بصورت ترکیب خطی از قطبش عمودی و افقی وجود داشته باشه .

طبق نشان­‌گذاری دیراک (Dirac notation) می­تونیم حالت فوتونی که افقی(horizontally)  قطبیده شده رو بصورت زیر تعریف کنیم:

$$ \left \vert \psi \right \rangle = \left \vert {H} \right \rangle $$

و همچنین فوتونی که بصورت عمودی(vertically)  قطبیده شده رو میتونیم به این صورت نشون بدیم:

$$ \left \vert \psi \right \rangle = \left \vert {V} \right \rangle $$

همونطور که قبلا گفتیم فوتون ما می‌تونه به‌صورت بر هم نهی این دوحالت نیز وجود داشته باشه:

$$ \left \vert \psi \right \rangle = \alpha \left \vert {H} \right \rangle + \beta \left \vert {V} \right \rangle $$

حالا فرض کنید یک فوتون به ما دادن که در حالت زیره:

$$ \left \vert \psi \right \rangle = \alpha \left \vert {H} \right \rangle + \beta \left \vert {V} \right \rangle $$

ما میخوایم روی این فوتون آزمایش انجام بدیم و قطبیدگی اون رو اندازه بگیریم. بنظرتون نتیجه آزمایش چی میتونه باشه؟!

تجربه‌ی ما در آزمایشگاه نشون میده، دو جواب ممکنه برای این اندازه­‌گیری بدست بیاد. یا به این نتیجه می‌رسیم که فوتونمون بصورت افقی قطبیده شده با احتمال:

$$ \left \vert \alpha \right \vert ^ 2 $$

و یا بصورت عمودی قطبیده شده با احتمال:

$$ \left \vert \beta \right \vert ^ 2 $$

و میدونیم همواره جمع احتمال‌ها  برابر ۱ میشه، یعنی:

$$ \left \vert \alpha \right \vert ^ 2 + \left \vert \beta \right \vert ^ 2 = 1 $$

در مکانیک کوانتومی انتخاب پایه‌ها بصورت افقی و عمودی کاملا اختیاریه و شما میتونین برای توصیف پدیده­‌ی کوانتومی مورد نظرتون (که در اینجا حالت فوتونمون بود) هر پایه ای که دوس داشته باشید انتخاب کنید (اگر کمی با جبر خطی آشنا باشید کاملا می‌فهمید که چرا میشه!) . برای ادامه بحث ما یک سری پایه جدید تعریف می‌کنیم و این پایه‌هامون نسبت به راستای افقی 45 درجه دوران دارند. یکی ازین پایه‌هامون قطریه(Diagonal)  و به‌ این صورت:

$$ \left \vert {D} \right \rangle = \frac{1}{\sqrt{2}}(\left \vert {H} \right \rangle + \left \vert {V} \right \rangle )$$

و اونیکی پایمون هم پادقطریه (Anti Diagonal)  و بصورت زیر:

$$ \left \vert {A} \right \rangle = \frac{1}{\sqrt{2}}(\left \vert {H} \right \rangle – \left \vert {V} \right \rangle )$$

حالا اگه دوباره قطبیدگی فوتونمون رو که این دفعه تو حالت قطریه اندازه گیری کنیم، چه نتیجه‌ای بدست میاریم!؟ در اینجا دو حالت به‌وجود میاد. حالت اول وقتیه که ابزاری که با اون اندازه­‌گیری انجام میدیم، براساس پایه‌های قطری و پادقطری طراحی شده باشه. در اینصورت نتیجه اندازه‌گیریمون همواره (%۱۰۰) بصورت D بدست میاد. حالت دوم وقتیه که وسیله‌ی اندازه‌گیریمون بر اساس پایه‌های افقی و عمودی طراحی شده باشه. در این صورت ما هیچوقت یک جواب قطعی نداریم که بتونیم بگیم بعد از اندازه‌گیری چه نتیجه‌ای بدست میاریم یا به‌عبارت بهتر، هیچوقت به‌طور دقیق نمیتونیم بگیم سیستم بعد از اندازه‌گیری به کدوم یک از حالت‏‌های افقی یا عمودی “collapse” میکنه.

این یک موفقیت خیلی بزرگ به حساب میاد. چون کوانتوم مکانیک یک منبع طبیعی و بسیار قدرتمند برای تولید اعداد کاملا تصادفی در اختیار ما گذاشته . یعنی اگه روی فوتون قطریمون اندازه‌گیری انجام بدیم هر دفعه یک جواب بدست میاریم و در واقع در هر بار اندازه‌گیری به احتمال ۵۰ درصد جوابمون  H و به احتمال ۵۰ درصد جوابمون V خواهد بود.

با در نظر گرفتن همه‌ی مفاهیم مطرح شده در مورد مکانیک کوانتومی تا اینجای کار،  میریم سراغ اولین روش رمزنگاری کوانتومی با نام  BB84. این روشِ ساختِ توزیعِ کلیدِ کوانتومی! (QKD) توسطGilles Brassard وCharles Bennett در سال ۱۹۸۴ طراحی شد.

***در مورد پایه‌هایی که میتونیم در مکانیک کوانتومی برای فوتونمون انتخاب کنیم قبلا صحبت کردیم.  حالا پایه‌هامون رو بصورت شماتیک، نمادگذاری میکنیم.  پایه عمودی-افقی رو بصورت:

نشون میدیم که شامل یک حالت افقی 〈 H | (عدد 0 و نماد – ) و یک حالت عمودي 〈 V | (عدد 1 و نماد | ) میشه و همچنین پایه قطري-پاد قطري مورد نظرمون رو بصورت :

نشون میدیم که این پایمون هم یک حالت قطری 〈 D | (عدد 1 و نماد / ) داره و یک حالت پاد قطری  〈 A | (عدد 0 و نماد \ ).

باز هم میریم سراغ آلیس و باب به عنوان فرستنده و گیرنده اطلاعات. در مرحله اول، آلیس بصورت تصادفی یک سری پایه (Basis) برای خودش انتخاب میکنه. هدف آلیس اینه که یک رشته باینری شامل اعداد صفر و یک رو برای باب بفرسته. پس تو مرحله دوم باز هم بصورت تصادفی اعداد صفر و یک خودش رو تولید میکنه (Data). (قبلا گفتیم که مکانیک کوانتومی ابزار قدرتمندی برای تولید اعداد تصادفی دراختیارمون میذاره). در مرحله سوم آلیس از مقایسه پایه­­‌هایی که انتخاب کرده با اعدادی که تولید کرده، به یک سری از حالات (State) میرسه که این حالات میتونه افقی، عمودی، قطری و یا پاد قطری باشه (با توجه به توضیحاتی که در مورد پایه‌­ها دادیم و قسمت ***).

در مرحله چهارم کار، باب هم به‌طور دلخواه و بصورت تصادفی، یک سری پایه برای خودش انتخاب میکنه. بدون اینکه از پایه‌هایی که آلیس انتخاب کرده با خبر باشه. حالا وقتشه که آلیس از طریق یک کانال کوانتومی حالت‌های (state) سیستمشو برای باب بفرسته. در عمل، این کانال کوانتومی، شامل همون فوتون­‌های قطبیده شده میشه که از آلیس به سمت باب میره و این مرحله پنجم کار به حساب میاد. تو مرحله ششم ، باب با توجه به پایه‌­ای که انتخاب کرده بود، حالتی (state) که آلیس براش فرستاده بود رو اندازه­‌گیری میکنه. باز هم طبق اصولی که قبلا گفتیم دو حالت ممکنه به وجود بیاد. حالت اول وقتیه که آلیس و باب بطور تصادفی، پایه‌های یکسان انتخاب کرده باشند. در این صورت نتیجه اندازه‌گیری باب دقیقا همون حالتی میشه که آلیس براش فرستاده بود. اما حالت دوم وقتیه که پایه‌های آلیس و باب متفاوت بوده باشه. در اینصورت حالتی که باب بدست میاره با حالتی که آلیس براش فرستاده بوده متفاوته! (احتمالا باید بتونین حدس بزنین باب چه نتیجه‌های میتونه بدست بیاره!) باب بعد از اینکه همه حالاتی رو که آلیس فرستاده بود رو اندازه‌گیری کرد، تو مرحله هفتم، حالاتی که به‌دست آورده رو با پایه‌­هایی که اول انتخاب کرده بود مقایسه میکنه و طبق قاعده‌ی قبلی به اون‌ها عدد نسبت میده. درنتیجه باب هم یک رشته از اعداد صفر و یک در اختیار داره .

تا اینجا همه کاری که ما قصد داشتیم با مکانیک کوانتومی انجام بدیم تموم شدست. در مرحله هشتم ، آلیس و باب از طریق یک کانال کلاسیک، مثلا تلفن، با هم ارتباط برقرار میکنن و پایه‌هایی که انتخاب کرده بودند رو به هم اطلاع میدن. اگه پایه­‌های انتخابی یکسان بود، اطلاعات مربوط به اون رو نگه میدارن و در غیر این صورت اون اطلاعات رو حذف میکنن.

چیزی که آلیس و باب در پایان کار در اختیار دارند، یک رشته از اعداد صفر و یک که برای جفتشون مشترکه و به این صورت آلیس و باب تونستند یک کلید بسیار ایمن برای رمزنگاری بسازند.

سوالی که اینجا مطرح میشه در مورد امنیت این روشه. اگه یکی این وسط بخواد اطلاعات رو بدزده چی؟ در این روش مهم ترین قسمت کار، انتقال حالت‌ها (state) از آلیس به بابه. چون در نهایت این قسمته کاره که باعث ساخت کلید ایمن میشه.خب اگه کسی بخواد تو این قسمت دزدی کنه، طبیعتا اول کار باید یک سری پایه برای خودش انتخاب کنه تا بتونه به وسیله اون‌ها روی حالت‌ها اندازه‌گیری انجام بده. اولین و بزرگترین مشکل برای سارق اینه که از پایه‌های باب هیچ اطلاعاتی نداره و به هیچ وجه نمیتونه پایه‌هاشو مثل باب انتخاب کنه. خب اگه بیاد در بین ارتباط آلیس و باب دزدی کنه، در پایان کار که آلیس و باب اطلاعات مربوطه رو رد و بدل کردن و کلید رو بدست آوردن، متوجه یک ناسازگاری بزرگ میشن. این ناسازگاری از اونجا ناشی میشه که اندازه گیری یک حالت کوانتومی باعث میشه سیستم در اون حالت بمونه و اصطلاحا سیستم به اون حالت فروزیزش یا فروکاهش “collapse” کنه. در اینجا هم دزد اطلاعات یک اندازه گیری انجام داده و حالتی که آلیس برای باب فرستاده بود رو عوض کرده و به این ترتیب آلیس و باب متوجه میشن که نفر سومی هم در ارتباط اون‌ها نقش داشته.

اما برای پیاده کردن این پروتکل چی نیاز داریم؟

در روش BB84 ، همه کار توسط فوتون‌ها انجام میشه. اما این فوتون‌ها باید “تک فوتون” (single photon) باشند و کوچکترین اختلالی در تولید فوتون که باعث بشه این ویژگی از بین بره، روند رمزنگاری رو با مشکل روبه‌رو میکنه. در عمل ساخت منابعی که برای ما تک‌فوتون تولید کنند بسیار سخت و بغرنجه!

پس برای این روش رمز نگاری ما به یک دستگاه تولید تک‌فوتون نیاز داریم. همچنین یک سری ابزار اپتیکی برای قطبیده کردن فوتون‌هامون. در نهایت، به دستگاهی برای آشکار سازی تک‌فوتون‌ها هم نیازمندیم.

برگردیم سراغ مکانیک کوانتومی؛ اگه به‌جای تک فوتونی که قبلا داشتیم، فرض کنیم دو تا فوتون در هم تنیده داریم، در واقع یک سیستم دو فوتونه که میتونیم بصورت زیر نمایشش بدیم (اندیس‌ها نشون دهنده‌ی شماره فوتون):

$$ \left \vert \psi \right \rangle = \alpha_{HH} ({\left \vert {H} \right \rangle_1}{\left \vert {H} \right \rangle_2}) + \alpha_{HV} ({\left \vert {H} \right \rangle_1}{\left \vert {V} \right \rangle_2}) + \alpha_{VH} ({\left \vert {V} \right \rangle_1}{\left \vert {H} \right \rangle_2}) + \alpha_{VV} ({\left \vert {V} \right \rangle_1}{\left \vert {V} \right \rangle_2})$$

برای سادگی کار سیستممون رو طوری تغییر میدیم که ۲ تا از جمله‌ها صفر بشند:

$$ \left \vert \psi \right \rangle = \alpha_{HH} ({\left \vert {H} \right \rangle_1}{\left \vert {H} \right \rangle_2}) + \alpha_{VV} ({\left \vert {V} \right \rangle_1}{\left \vert {V} \right \rangle_2})$$

حالا قطبیدگی فوتون اولمون رو اندازه‌گیری میکنیم. همون‌طور که قبلا گفتیم نتیجه میتونه عمودی یا افقی باشه. فرض کنید نتیجه اندازه‌گیری عمودی شد. اما سوالی که پیش میاد اینه که بعد از اندازه‌گیری سیستم به چه حالتی فروریزش (collapse) میکنه ؟ (دقت کنید که اندازه‌گیری فقط روی فوتون اول انجام شد)

نتایج اندازه‌گیری در آزمایشگاه بسیار شگفت‌انگیزه و به ما میگه پس از اندازه‌گیری سیستم به حالت زیر در میاد:

$$ \left \vert \psi \right \rangle = {\left \vert {H} \right \rangle_1}{\left \vert {H} \right \rangle_2}$$

و این نشون میده، اندازه‌گیری روی یک فوتون، روی فوتون دیگر هم تاثیر میذاره. حالا این دو فوتون درهم تنیده هر چقدر هم که میخوان از هم دور باشن، ولی باز روی هم تاثیر میذارن! نتیجه ای که از دیدگاه کلاسیک کاملا دور از انتظاره! دو فوتون در هم تنیده، باز هم ابزاری قدرتمندی در اختیار ما میذارن که با اون بتونیم عدد تصادفی تولید کنیم. چون اندازه گیری رو این فوتون ها دو نتیجه بیشتر نداره که احتمال اون‌ها کاملا با هم برابره.

بریم سراغ روش بعدی رمزنگاری کوانتومی یعنی روش “E91” که خیلی مختصر میخواهیم راجبش صحبت کنیم. این روش در سال ۱۹۹۱ توسط “ Artur Ekert مطرح شد؛ در این روش دو فوتون در هم تنیده داریم که آلیس و باب هرکدوم روی یکی از این فوتون‌ها آزمایش انجام میدن. باز هم مانند روش قبلی، آلیس و باب هرکدوم پایه‌های دلخواه خودشون رو به‌طور تصادفی، برای اندازه‌گیری انتخاب میکنن. چون فوتون‌ها در هم تنیده هستند و اندازه‌گیری روی هرکدوم ، وضعیت اون یکی رو هم مشخص می‌کنه، نتایج اندازه‌گیری الیس و باب به هم مربوط میشه و اگه از روش هایی مشابه به BB84 استفاده کنن، در نهایت یک کلید ایمن خواهند داشت. همچنین اگر کسی قصد دزدی اطلاعات رو هم داشته باشه، اختلال بوجود اومده در سیستم به راحتی برای آلیس و باب قابل مشاهده است. (جزئیات این روش نیازمند یک سری اطلاعات در مورد قضیه بل ، “Quantum teleportationو چیز های دیگه میشه . برای همین به توضیح مختصر اون اکتفا کردیم.)

و در پایان مشاهده کردیم که چگونه مکانیک کوانتومی در برقراری ارتباط‌های ایمن به ما کمک میکنه و باعث میشه وجود هر اختلال حین برقراری ارتباط رو متوجه بشیم و بتونیم روشی برای انتقال ایمن اطلاعات داشته باشیم!

توجه:

استفاده از تصاویر و مطالب این پست، با ذکر منبع، بلامانع است.

ماجرای «گربه‌ی شرودینگر» چیه؟

چندوقت بود می‌خواستم راجع به این «گربه‌ی شرودینگر» یه چیزی بنویسم، بگم چیه و ماجرای مطرح کردنش چیه تا اینکه کاملا تصادفی، بین ویدئوهای Ted-ed یه ویدئوی خوب دیدم. سورپرایز خیلی خوبی بود! برای همین شروع کردم به تهیه‌ی زیرنویس فارسی برای اون ویدئو تا توی سیتپور منتشرش کنم و همه با هم ببینیمش و کلی کیف کنیم 😉

الان این ویدئو آماده است، ببینید و لذت ببرید 🙂

لینک‌های دانلود:

دانلود این ویدئو، دانلود این ویدئو بدون زیرنویس فارسی، لینک فایل اصلی (بدون زیرنویس) از یوتیوب

پ.ن: راستی از جادی بابت معرفی سیتپور توی رادیوگیک متشکریم! مرسی جادی 😉