
English: 
- [Voiceover] We need
a numerical procedure,
which is easy in one direction
and hard in the other.
This brings us to modular arithmetic,
also known as clock arithmetic.
For example, to find 46 mod 12,
we could take a rope of length 46 units
and rap it around a clock of 12 units,
which is called the modulus,
and where the rope ends is the solution.
So we say 46 mod 12 is
congruent to 10, easy.
Now, to make this work,
we use a prime modulus,
such as 17, then we find
a primitive root of 17,
in this case three, which
has this important property
that when raised to different exponents,
the solution distributes
uniformly around the clock.
Three is known as the generator.

Korean: 
우리는 수의 연산이 
필요합니다
한 방향으로는 쉽지만
다른 방향으로는 어려운 과정이요
이 과정은 모듈러 연산이
탄생하게 했습니다
시계 연산으로도 알려져 있죠
예를 들어 46을 12로 나눈
나머지를 구한다고 했을 때
우린 46단위 길이의 줄을 가져다가
12 단위 길이의 시계를 두릅니다
이를 계수라고 하는데요
줄에서 남는 부분이
이 문제의 답입니다
우리가 46을 12로 나누었을 때의
나머지는 10이 되는 거죠 쉽습니다
이제 이런 계산을 위해
소수를 사용합니다
예를 들면 17인데요
17의 원시근을 찾아보죠
이 경우에는 3을 사용합니다
3은 아주 중요한 특징이 있는데요
지수를 서로 다른 값으로 올릴 때마다
그 연산의 해가 시계에
획일적으로 분포됩니다
3을 제너레이터라고 합니다

Czech: 
Potřebujeme číselnou operaci,
která je jednoduchá v jednom směru a obtížná v opačném.
To nás přivádí k modulární aritmetice,
kterou dobře známe z principu fungování hodin.
Například ...
Abychom našli 46 modulo 12,
tak vezmeme provázek dlouhý 46 jednotek
a obalíme ho okolo hodin, které mají obvod 12 jednotek ...
Čemuž se říká modulus.
... a tam, kde provázek končí, leží řešení.
Takže 46 modulo 12 je kongruentní s 10.
Jednoduché.
Aby postup fungoval, tak musíme použít jako modulus prvočíslo.
Například 17.
Pak najdeme primitivní kořen sedmnácti.
V tomto případě je to 3 a má jednu důležitou vlastnost,
protože všechny mocniny budou rovnoměrně rozmístěny na hodinách.
Primitivnímu kořenu 3 se říká generátor.

Polish: 
Potrzebowaliśmy procedury liczbowej,
łatwej do przeprowadzenia
w jedną stronę i trudnej w przeciwną.
A to prowadzi nas do arytmetyki
modularnej, niekiedy zwanej zegarową.
Np. żeby wyznaczyć 46 mod 12,
możemy wziąć sznurek długości
46 jednostek
i owinąć go wokół zegara
z 12 jednostek, zwanego modułem.
Punkt, w którym sznurek się kończy,
jest rozwiązaniem.
Mówimy więc, że 46 mod 12
jest przystające do 10. Proste!
A teraz, żeby to działało,
używamy modułu
– liczby pierwszej, np. 17,
i wyznaczamy pierwiastek pierwotny
z 17, w tym przypadku 3.
Ma on tę ważną własność,
że gdy podniesiemy go do różnych potęg,
rozwiązania rozłożą się
równomiernie wokół zegara.
Liczba 3 jest generatorem.

Thai: 
เราต้องการวิธีเชิงตัวเลข
ซึ่งทำได้ง่ายในทางหนึ่ง แต่ยากในทางกลับกัน
มันนำเราไปสู่เลขคณิตมอดูลาร์
หรือเรียกอีกอย่างว่า เลขคณิตนาฬิกา
ตัวอย่างเช่น เวลาหา 46 mod 12
เราก็นำเชือกยาว 46 หน่วย
มันพารอบนาฬิกา 12 หน่วย
ซึ่งเรียกว่า มอดูลัส
โดยปลายเชือกที่เหลือเป็นคำตอบ
เราจึงบอกว่า 46 mod 2 คอนกรูเอนต์กับ 10 ง่ายๆ
ทีนี้ เพื่อให้มันใช้งานได้ 
เราใช้มอดูลัสจำนวนเฉพาะ
เช่น 17 เราหารากเอกภูมิของ 17 ได้
ในกรณีนี้คือ 3 ซึ่งมีสมบัติสำคัญว่า
เมื่อยกกำลังค่านี้ด้วยเลขชี้กำลังต่างๆ
คำตอบที่ได้จะกระจายสม่ำเสมอไปตัวนาฬิกา
เลข 3 นี้เรียกว่าเจเนอเรเตอร์

Portuguese: 
Nós precisamos de um 
procedimento numérico,
o qual é fácil em uma 
direção e difícil na outra.
Isso nós leva a aritmética modular,
também conhecida como relógio aritmético.
Por exemplo, para achar "46 mod 12",
poderíamos pegar uma corda 
de comprimento 46 unidades
e enrolar em volta de 
um relógio de 12 unidades,
o qual é chamado de módulo,
e onde a corda acaba é a solução.
Então nós dizemos "46 mod 12" 
é congruente a 10, fácil.
Agora, para fazer com que isso 
funcione, nós usamos um módulo primo,
como 17, então nós encontramos 
a raiz primitiva de 17,
nessa caso três, o qual possui 
essa propriedade importante
que quando elevado a 
diferentes exponenciais,
a solução se distribui 
uniformemente pelo relógio.
Três é conhecido como gerador.

Bulgarian: 
[Брит] Трябва ни нова числова процедура,
която е трудна в едната посока, 
а в другата – лесна.
Това ни води до 
модулната аритметика,
позната още като 
часовникова аритметика.
Например, за да намерим 
46 mod 12,
можем да вземем въже 
с дължина 46 единици
и да го увием около часовник 
с 12 единици,
който се нарича "модул",
и мястото, на което въжето свършва, е решението.
Затова намираме, 
че 46 mod 12 е 10; лесно.
За да работи това, използваме 
за модул просто число,
например 17, след това намираме 
прост корен на 17,
в случая, 3, който има 
важното свойство,
че когато е повдигнат 
на различни степени,
решението се разпределя равномерно около часовника.
Числото 3 се нарича "генератор".

Japanese: 
「ある方向では簡単で、逆方向では難しい」
そんな計算手順を考えましょう。
ここで登場するのが、「合同算術」です。これは、「時計演算」とも呼ばれています。
たとえば、46を12で割った余りを求める場合、46単位の長さのヒモを用意します。
そして、そのヒモを周の長さが12単位の「法」と呼ばれる時計に巻き付けます。
そして、ロープの端が来たところが解になります。
ここでは 46 を 12 で割った余り、つまり剰余は 10 になります。
簡単ですね。これを機能させるために、まず17などの素数の「法」を扱います。
17の「原始根」を設定します。今回は３で考えます。
３には重要な性質があります。さまざまな指数で累乗したときに、
解が時計の周囲に均等に分散されるのです。

Italian: 
Stiamo cercando una procedura numerica che è facile in una direzione,
ma difficile nel senso inverso.
Questo ci porta all'aritmetica modulare, a volte detta aritmetica dell'orologio.
Per esempio, per calcolare 46 mod 12, possiamo prendere una fune lunga 46 unità,
e avvolgerla attorno ad un orologio di 12 unità, chiamato modulo.
La soluzione si trova dove finisce la fune.
Per cui diciamo che 46 mod 12 è congruente a 10.
Facile. Adesso, affinché funzioni, usiamo un modulo primo, come 17,
e troviamo una radice primitiva di 17, in questo caso 3.
Che ha l'importante proprietà che quando viene elevata a esponenti diversi,
la soluzione si distribuisce uniformemente attorno all'orologio.

Bengali: 
[নেপথ্য কণ্ঠে] আমাদের 
একটি সংখ্যাসূচক প্রক্রিয়া
প্রয়োজন যা একদিকে সহজ আবার অন্যদিকে কঠিন।
অর্থাৎ এটি মডুলার পাটিগণিত,
যা ঘড়ি গণিত হিসাবেও পরিচিত।
উদাহরণস্বরূপ, ৪৬ মোড ১২ নির্ণয় করতে,
আমরা ৪৬ ইউনিটের একটি দড়ি নিতে পারি
এবং এটা ১২ ইউনিটের ঘড়ির চারিদিকে জড়াই,
যাকে মডুলাস বলে,
এবং যেখানে দড়িটি শেষ হবে সেটা হল সমাধান।
তাহলে আমরা বলতে পারি ৪৬ 
মোড ১২ সর্বসম হল ১০, সহজ।
এখন, এই কাজ করতে, আমরা একটি 
মৌলিক মডুলাস ব্যবহার করতে পারি,
যেমন ১৭, এরপর আমরা ১৭ 
এর প্রারম্ভিক ভিত্তি খুঁজি,
এই ক্ষেত্রে তিন, এটার এ গুণটি আছে
যে যখন আমরা এর বিভিন্ন সূচক উত্থাপন করি,
এর সমাধান ঘড়ির চারদিকে সমভাবে বিতরণ করে।
তিন উৎপাদক হিসেবে পরিচিত।

Georgian: 
გვჭირდება რიცხვითი პროცედურა,
რომელიც ერთი მიმართულებით მარტივია,
მეორე მიმართულებით კი რთული.
ამას მივყავართ მოდულურ არითემტიკამდე,
რომელიც ასევე ცნობილია
როგორც საათის არითმეტიკა.
მაგალითად, 46 mod 12-ის საპოვნელად
შეგვიძლია ავიღოთ თოკი სიგრძით 46 ერთეული
და შემოვახვიოთ 12 ერთეულიან საათს,
რომელსაც მოდული ეწოდება,
ხოლო სადაც დასრულდება
თოკი, ის იქნება ამონახსნი.
ვამბობთ, რომ 46 mod 12
კონგრუენტულია ათთან. მარტივია.
ახლა იმისთვის რომ ამან იმუშაოს,
გამოვიყენოთ მარტივი მოდული,
მაგალითად 17. შემდეგ, ვიპოვოთ
17-ის პრიმიტიული ფესვი,
ამ შემთხვევაში სამი, რომელსაც
აქვს მნიშვნელოვანი თვისება:
როცა ავიყვანთ განსხვავებულ ხარისხებში,
ამონახსნები უნიკალურად
გადანაწილდება საათზე.
სამი ცნობილია როგორც გენერატორი.

Thai: 
ถ้าเรายกกำลังด้วยเลขชี้กำลัง x ใดๆ
แล้วคำตอบจะออกมา
เป็นเลข 0 ถึง 17 ได้เท่าๆ กันหมด
ทีนี้ กระบวนการย้อนกลับมันยาก
เช่น ถ้าให้เลข 12 มา จงหาเลขชี้กำลัง
ที่ต้องยก 3
นี่เรียกว่า ปัญหาลอการิทึมแบบไม่ต่อเนื่อง
(discrete logarithm problem)
ตอนนี้เรามีฟังก์ชันทางเดียว
ที่ทำได้ง่าย แต่แก้ย้อนได้ยาก
เมื่อให้ 12 มา เราต้องใช้
การลองผิดลองถูกเพื่อหาเลขชี้กำลังที่ใช่
มันยากแค่ไหน?
สำหรับเลขน้อยๆ มันง่าย
แต่ถ้าเกิดเราใช้มอดูลัสจำนวนเฉพาะ
ที่ยาวเป็นร้อยๆ หลัก
มันจะแก้ไม่ได้ในทางปฏิบัติ
ถึงแม้คุณจะใช้
กำลังคอมพิวเตอร์ทั้งหมดบนโลก
มันก็ยังใช้เวลาเป็นพันปี
เพื่อหาความเป็นไปได้ทุกอย่าง
ความแข็งแกร่งของฟังก์ชันทางดียว
นั้นมาจากเวลาที่ต้องใช้แก้ย้อนนั่นเอง

English: 
If we raise three to any exponent x,
then the solution is equally likely
to be any integer between zero and 17.
Now, the reverse procedure is hard.
Say, given 12, find the exponent
three needs to be raised to.
This is called the
discrete logarithm problem.
And now we have our one-way function,
easy to perform but hard to reverse.
Given 12, we would have to resort
to trial and error to
find matching exponents.
How hard is this?
With small numbers it's easy,
but if we use a prime modulus
which is hundreds of digits long,
it becomes impractical to solve.
Even if you had access to all
computational power on Earth,
it could take thousands of years
to run through all possibilities.
So the strength of a one-way function
is based on the time needed to reverse it.

Bulgarian: 
Ако повдигнем 3 на всяка степен х,
решението може да бъде всяко
цяло число между 0 и 17.
Обратната процедура е трудна.
Да кажем, че е дадено 12, 
намери степента,
на която трябва да са повдигне 3.
Това се нарича "задача 
за дискретен логаритъм".
И така имаме еднопосочна функция,
която е лесна за изпълнение, 
но трудна за обратно изчисление.
Дадено е 12, трябва да опитаме 
по метода проба-грешка,
за да намерим степените.
Колко трудно е това?
С малки числа е лесно,
но ако използваме модул 
на просто число,
което е с дължина стотици цифри,
става непрактично.
Дори ако имаш достъп до цялата 
изчислителна мощ на Земята,
може да отнеме хиляди години
да минеш през всички възможности.
Затова силата на еднопосочната функция
е във времето, което е необходимо, за да се обърне.

Japanese: 
３は「生成元」と呼ばれています。３を任意の指数 x で累乗した場合、
解は、等しい頻度で、偏りなく、0と17の間の任意の整数になります。
しかし、逆向きの演算は困難です。
たとえば、3を何乗して17で割った余りが12になるか簡単に分かるでしょうか。
これは「離散対数」の問題と呼ばれます。
ここまで、一方向の関数について考えました。
これは簡単に実行できますが、逆方向は難しい関数です。
12という数字が与えられても、それを生み出した指数を見つけるには、大変な試行錯誤が必要です。
どれぐらい大変でしょうか。
小さな数字なら簡単です。けれど、何百桁にもなる素数の「法」を使用した場合、
実際には解くことができなくなります。
地球上のすべてのコンピュータを使っても、全ての可能性のある数を見つけ出すには、
何千年もかかってしまうでしょう。
つまり、一方向関数の強みは、逆方向に計算するのに膨大な時間がかかるという点なのです。

Portuguese: 
Se elevarmos três a 
qualquer exponencial x,
a solução será igualmente provável
que seja qualquer inteiro entre zero e 17.
Agora, o procedimento reverso é difícil.
Digamos, dado 12, encontre o expoente
necessário para três.
Isso se chama o problema 
do logaritmo discreto.
E agora nós possuímos 
nossa função de via única,
fácil de executar, 
porém, difícil de reverter.
Dado 12, nós teríamos que recorrer
a tentativa e erro para 
encontrar o expoente certo.
Quão difícil é isso?
Com números pequenos isso é fácil,
porém, se usarmos um módulo primo
que são centenas de 
dígitos de comprimento,
isso se torna impraticável 
de ser solucionado.
Mesmo que você possua acesso a todos
os poderes computacionais da Terra,
isso poderia levar centenas de anos
para rodar por todas as possibilidades.
Assim, a força de uma 
função de sentido único
é baseada no tempo 
necessário para revertê-la.
Legendado por [Gabriel Mello Fernandes]
Revisado por [Fernando dos Reis]

Bengali: 
যদি আমরা তিনের যে কোন সূচক x ধরি,
তবে সমাধানটি (০) শূন্য থেকে ১৭ এর মধ্যে
কোন একটি পূর্ণসংখ্যার সর্বসম হবে।
এখন, বিপরীত প্রক্রিয়াটি হল কঠিন।
ধরি, দেয়া আছে ১২, আমাদের নির্ণয় করতে হবে
তিনের সূচক কত হতে হবে।
এটাকে বিচ্ছিন্ন লগারিদম সমস্যা বলা হয়।
এবং এখন একমুখী ফাংশন দেখি,
এটিতে কাজ করা সহজ কিন্তু 
বিপরীতমুখী করা কঠিন।
দেয়া আছে ১২, আমাদের সদৃশ সূচক খুঁজতে
'ট্রায়াল এন্ড এরর' এর সাহায্য নিতে হবে।
এটা কেমন কঠিন?
ছোট সংখ্যার জন্য এটা সহজ কিন্তু
আমরা যদি মৌলিক মডুলাস ব্যবহার করি,
যা হল শত শত সংখ্যা দীর্ঘ,
তাহলে এটা সমাধান করা অসম্ভব হবে।
এমন কি যদি পৃথিবীর সব গণনার দক্ষতা
তোমার জানা থাকে, তবুও এর সকল সম্ভাবনার
মধ্য দিয়ে যেতে
হাজার বছর সময় নিবে।
তাহলে একমুখী ফাংশনের শক্তি,
এর বিপরীত প্রক্রিয়ার সময়ের 
প্রয়োজনের উপর ভিত্তি করে হয়ে থাকে।

Italian: 
3 viene chiamato generatore. Se eleviamo 3 a qualsiasi esponente x,
ogni numero intero fra 0 e 17 ha la stessa probabilità di essere la soluzione.
La procedura inversa è però difficile.
Per esempio, se ci viene dato 12, e dobbiamo trovare l'esponente a cui 3 deve venir elevato,
questo problema si chiama il problema del logaritmo discreto.
E adesso abbiamo la nostra funzione a senso unico.
Facile da eseguire, ma difficile da invertire.
Dato il numero 12, dovremmo provare a caso per trovare l'esponente giusto.
Ma quanto è difficile?
Con numeri piccoli è facile, ma se usiamo un modulo primo lungo centinaia di cifre
diventa pressoché impossibile da risolvere.
Anche avendo accesso a tutta la potenza di calcolo del mondo, sarebbero necessari migliaia di anni
per provare tutte le possibilità.
Quindi la forza di una funzione a senso unico si basa sul tempo necessario per invertirla.

Czech: 
Pokud ji umocníme jakýmkoliv exponentem 'x',
tak bude pro každé číslo mezi 0 a 17 stejně pravděpodobné, že bude řešením.
Inverzní operace je ale náročná.
Například ...
Jakou mocninu tří potřebujeme, aby nám vyšlo číslo 12?
Toto je takzvaný problém diskrétního logaritmu.
Nyní máme vhodnou jednosměrnou funkci.
Snadno proveditelnou v jednom směru, ale náročnou v opačném.
S daným číslem 12 bychom museli hledat výsledek metodou pokus-omyl.
Jak těžké by to bylo?
S malými čísly to je jednoduché,
ale pokud si vezmeme prvočíselný modulus, který má stovky cifer,
tak řešení metodou pokus-omyl bude prakticky nemožné.
I kdybyste mohli využít veškerou výpočetní kapacitu na Zemi,
tak by trvalo tisíce let, než byste prošli všechny možnosti.
Takže síla jednosměrné funkce je založena na čase potřebném pro získání její inverze.

Korean: 
만약 3에 어떤 지수인 x를 올리면
그 해는 똑같은 확률로
0에서 17사이의
하나의 정수가 될 겁니다
반대의 경우는 어렵습니다
결과로 12가 주어지고
지수를 찾아야 한다고 합시다
이것을 이산로그 문제라고 합니다
우리가 가진 것은 한 방향 기능뿐이라
수행하기는 쉽지만
되돌아가는 것은 어렵습니다
12가 주어지면 우리는 맞는 지수를
찾기 위해선 시행착오 법에
의존해야 합니다
얼마나 어려울까요?
작은 숫자는 쉽습니다
하지만 수백 개의 숫자 길이를 가진
모듈러 연산을 사용한다면
해결할 수 없을 것입니다
만약 여러분이 지구 상 모든
컴퓨터의 능력을 가진다고 하더라도
수천 년은 걸릴 것입니다
모든 가능성을 다 확인하려면 말이죠
그래서 한 방향 기능의 힘은
그것을 뒤집기 위해 얼마나
많은 시간이 걸리는지에 달려있습니다

Polish: 
Jeśli podniesiemy 3 do dowolnej
potęgi x, to rozwiązaniem,
z równym prawdopodobieństwem, może być
każda liczba całkowita od 0 do 17.
Procedura odwrotna
jest znacznie trudniejsza.
Znajdźcie dla liczby 12 potęgę,
do której trzeba podnieść 3.
Nazywa się to problemem
logarytmu dyskretnego.
I mamy jednokierunkową funkcję,
którą łatwo wykonać,
a trudno odwrócić!
Dla 12 wykładników musielibyśmy
szukać metodą prób i błędów.
Czy to trudne?
Przy małych liczbach - proste,
ale jeśli stosujemy
moduł kilkusetcyfrowy,
rozwiązywanie
staje się niepraktyczne.
Choćbyście mieli dostęp
do całej mocy obliczeniowej na świecie,
zbadanie wszystkich możliwości
potrwałoby tysiące lat.
Zatem siła funkcji jednokierunkowej
zależy od czasu,
którego potrzeba, aby ją odwrócić.

Georgian: 
თუ სამს რაიმე x ხარისხში ავიყვანთ,
მაშინ ამონახსნი დიდი ალბათობით იქნება
რომელიმე მთელი რიცხვი ნულსა და 17-ს შორის.
ამ პროცესის შებრუნება რთულია.
ვთქვათ, მოცემულია 12. იპოვეთ ხარისხი,
რომელშიც უნდა ავიყვანოთ სამი.
ამას ეწოდება დისკრეტული
ლოგარითმის პრობლემა.
უკვე გვაქვს ცალმხრივი ფუნქცია,
რომლის შესრულება
მარტივია, შებრუნება კი რთული.
თუ მოცემულია 12, რამდენიმე ცდა მოგვიწევს
შესაბამისი ხარისხების საპოვნელად.
რამდენად რთულია ეს?
მცირე რიცხვებისთვის ეს მარტივია,
მაგრამ მარტივ მოდულს თუ გამოვიყენებთ,
რომელიც ასობით სიმბოლოსგან შედგება,
ამოხსნა ძალიან არაპრაქტიკული ხდება.
მთელ დედამიწაზე არსებულ კომპიუტერებზეც
რომ მიგვიწვდებოდეს ხელი,
შესაძლოა ათასობით წელი იყოს საჭირო
ყველა შესაძლო ვარიანტის შესამოწმებლად.
ასე რომ, ცალმხრივი ფუნქციის სიძლიერე
დამოკიდებულია იმაზე, თუ რა
დროა საჭირო მის შესაბრუნებლად.
