
Thai: 
Cryptographic hash functions
เป็นวัตถุพื้นฐานที่ใช้
ในอัลกอริทึมและโปรโตคอล
ด้านการถอดรหัสมากมาย
และมันมีการนำไปใช้สำคัญมาก
หลากหลายในแง่ของความปลอดภัยด้านข้อมูล
โดยรวม
ทีนี้ อัลกอทึมที่ทั่วไปกว่า
ที่รู้จักกันในชื่อ
cryptographic hash functions ได้แก่
MD5 แล้วก็
ตัวก่อนหน้าอย่าง MD4 และอื่นๆ
รวมทั้งอัลกอริทึมอย่าง SHA-256
และ SHA-256 มี
อัลกอริทึมรุ่นก่อนอย่าง SHA-1 ฯลฯ
มีอัลกอริทึม
ที่คุณอาจเคยได้ยิน
หรืออาจไม่เป็นที่รู้จักนัก
อย่าง RIPEMD, BLAKE, Skein
และอื่นๆ
ทีนี้ cryptographic hash functions นั้น
ใช้เป็นวัตถุพื้นฐานสำคัญใน
งานหลายงาน
และการนำไปใช้งานที่สนใจอันแรก
การนำไปใช้ในประวัติที่มีมาอันแรก
สำหรับ hash functions ประเภทนี้

Czech: 
Kryptografické hašovací funkce 
jsou základní stavební kameny,
využívané v mnoha kryptografických 
algoritmech a protokolech.
Mají celou řadu významných aplikací
v oboru informační bezpečnosti jako celku.
Mezi známější algoritmy v kategorii
kryptografických hašovacích funkcí patří...
například algoritmus MD5.
MD5 má několik starších verzí např. MD4.
Známým příkladem je také
algoritmus SHA-256.
Také u SHA-256 existují 
starší verze jako je SHA-1.
Existuje také mnoho o něco méně známých algoritmů:
jsou to např. RIPEMD, BLAKE, Skein a další.
Kryptografické hašovací funkce jsou
nezbytnou součástí mnoha aplikací,
a poprvé se naplno uplatnily v oblasti,

Portuguese: 
Funções criptográficas de hash são
basicamente alicerces fundamentais
que são usados dentro de vários
algoritmos de criptografia e protocolos.
Nós temos um grande número
de aplicações importantes
no contexto de segurança da
informação como um todo.
Alguns dos algoritmos mais
conhecidos nessa categoria,
conhecidos como funções
criptográficas de hash,
incluem MD5, e ele também tem
predecessores como MD4 e outros;
bem como os algoritmos SHA-256,
e, na verdade, SHA-256 é precedido 
por outros algoritmos como SHA-1
e assim por diante,
e também há alguns algoritmos que
talvez você tenha ouvido falar,
talvez eles sejam menos conhecidos, mas
temos RIPEMD e BLAKE e Skein e outros.
Bem, funções criptográficas 
de hash são basicamente
usadas como partes críticas
de várias aplicações
e, a primeira aplicação que motivou,
a primeira aplicação histórica
desses tipos de funções de hash

English: 
Voiceover: Cryptographic hash functions
are basically fundamental building blocks
that are used within many
cryptographic algorithms
and protocols,
and they have a number of very important
applications in the context
of information security
as a whole.
Now, some of the more common algorithms
in this category that are known
as cryptographic has functions include:
things like MD5, and also,
it has some predecessors
like MD4 and others,
as well as algorithms like SHA-256,
and actually, SHA-256 is preceded
by other algorithms like SHA-1 and so on,
and also there are some algorithms
that maybe you've heard of,
or maybe that are a bit lesser known,
but things like RIPEMD,
and BLAKE, and Skein,
and others.
Now, cryptographic hash
functions are basically
used as critical building
blocks in many applications,
and really the first
motivating application,
the first historical application
of these types of hash functions

Japanese: 
暗号学的ハッシュ関数は基本的な要素であり
多くの暗号アルゴリズムやプロトコルで
必要になります
情報セキュリティの分野では非常に重要なものです
中でも有名な暗号学的ハッシュ関数といえば
MD5とか
その前身であるMD4や
SHA-256というものもあります
その前身のSHA-1というものもありますね
RIPEMDやBLAKE Skeinといった名前を
聞いたことがある人もいるかもしれません
今日 暗号学的ハッシュ関数は
様々に応用されていますが

Polish: 
Kryptograficzne funkcje skrótu są podstawowym składnikiem
wielu algorytmów i protokołów kryptograficznych.
Odgrywają one bardzo ważną rolę w kontekście bezpieczeństwo informacji.
Do najczęściej stosowanych algorytmów tego typu, znanych jako
kryptograficzne funkcje skrótu, należy np. funkcja MD5.
Jej poprzednikiem była funkcja MD4 i inne, a także takie algorytmy jak SHA-256.
Przed nim były inne algorytmy, np. SHA-1.
Jest również kilka algorytmów, o których być może
słyszeliście, a może są one wam nieco mniej znane. Należą do nich RIPEMD i BLAKE oraz Skein.
Kryptograficzne funkcje skrótu znajdują zastosowanie
jako podstawowe części składowe wielu programów.
Po raz pierwszy zastosowano tego typu funkcje skrótu w kontekście podpisu cyfrowego.

Thai: 
คือใช้ในเรื่อง
ลายเซ็นดิจิตอล (digital signature)
และลายเซ็นดิจิตอลถูกใช้ในงาน
ด้านการเข้ารหัสต่างๆ มากมายทุกวันนี้
มันมีหลักชัยหลายอย่างใน
โปรโตคอลการค้าออนไลน์
มันใช้ทำเรื่องต่างๆ อย่างการสร้าง bitcoin
และอื่นๆ
Cryptographic hash functions ยังใช้
ใน message authentication protocols
การสร้างจำนวนสุ่มเทียม
และความปลอดภัยของรหัสผ่าน
หรือแม้แต่การเข้ารหัสด้วย
ที่จริงแล้ว 
นอกจากการใช้ในลายเซ็นดิจิตอลแล้ว
hash functions เหล่านี้ยังใช้ในที่อื่นๆ
ในโปรโตคอลของ bitcoin ด้วย
ก่อนอื่น ผมจะอธิบายว่า
cryptographic hash function 
จริงๆ แล้วคืออะไร
และแน่นอน อย่างที่ชื่อบอก
อย่างแรกเลย มันคือ
มันคือ hash function
และคำว่า hash function
ผมหมายความว่า มันรับค่านำเข้า
มันเป็นฟังก์ชันทางคณิตศาสตร์
หรือคุณจะมองมันเป็นการแปลงก็ได้
ที่นำค่านำเข้าค่าหนึ่งมา
และเราเรียกค่านำเข้านี้ว่าข้อความ (message)
และข้อความจะยาวเท่าไหร่ก็ได้

Polish: 
Jest on używany w przeróżnych programach wykorzystujących kryptografię.
Stanowi podstawę wielu protokołów w handlu elektronicznym.
Używa się ich m. in. podczas generowania Bitcoinów.
Z kryptograficznych funkcji skrótu korzysta się także w protokołach uwierzytelniania wiadomości,
w generowaniu liczb pseudolosowych i ochronie hasła.
Do pewnego stopnia również w szyfrowaniu.
Właściwie poza wykorzystaniem w podpisach cyfrowych
funkcje skrótu znajdują również zastosowanie w innych przypadkach, m. in. w protokole Bitcoin.
Po pierwsze muszę wyjaśnić, czym jest kryptograficzna funkcja skrótu.
Oczywiście jak sama nazwa wskazuje jest to funkcja skrótu, czyli funkcja przyjmująca dane.
Jest to funkcja matematyczna czy też przekształcenie,
które przyjmuje konkretne dane. Dane te nazywamy "wiadomościami".

Czech: 
která je známá jako digitální podepisování.
Digitální podpisy mají dnes
opravdu velké množství použití.
Jsou v základech protokolů
dnešního elektronického obchodování
a využívají se také při generování nových bitcoinů.
Kryptografické hašovací funkce se dále využívají
při ověřování autenticity a integrity zpráv,
při generování náhodných čísel,
pro zajištění bezpečnosti hesel,
do určité míry také při šifrování.
A vlastně, kromě použití uvnitř digitálních podpisů,
se hašovací funkce objevují i na
dalších místech v bitcoinovém protokolu.
Nejdříve vysvětlím, co vlastně
je "kryptografická hašovací funkce",
přitom je samozřejmě logické začít
samotným pojmem "hašovací funkce".
Hašovací funkcí míníme následující:
Je to matematická funkce 
nebo také transformace,
do které vkládáme určitý parametr,
označovaný jako "zpráva" (message).
Tato zpráva může 
mít zcela libovolnou délku.

English: 
was in the context of what's known
as a digital signature,
and digital signatures are
used in so many different
cryptographic applications today.
They're the cornerstone of many
ecommerce protocols.
They are used in doing things
like bitcoin generation
and so on.
Cryptographic has functions are also used
in things like message
authentication protocols,
in pseudorandom number generation
and password security,
even encryption to some degree.
In fact, aside from their
use in digital signatures,
these hash functions are
also used in other places
in the bitcoin protocol as well.
First of all, let me talk about
what a cryptographic hash
function actually is,
and of course, as the name implies,
the first thing it is,
it's a hash function.
And by hash function,
I basically mean that it will take input.
It's a mathematical function,
a transformation, if you will,
that takes a particular input,
and we call this input a message,
and the message can be
of arbitrary length,

Japanese: 
その歴史の最初期にあるのは
電子署名での使用例でしょう
デジタル署名は多くの分野で使われています
Eコマースの基礎部分はもちろん
Bitcoinの生成にも用います
他にもメッセージ認証やランダムな数字の生成
パスワードの保全やある種の暗号化に使われます
Bitcoinのプロトコルの中にも様々な形で
暗号学的ハッシュ関数が現れます
それではまず暗号学的ハッシュ関数とは何かをお話して
1つには その名のとおり
これはハッシュ関数の1種です
ハッシュの名のとおり
これは入力を受け付けます
数学的関数ですから入力されたものを処理するわけです
この入力を「メッセージ」と呼びます
メッセージの長さは任意です

Portuguese: 
foi no contexto conhecido
como assinatura digital.
E assinatura digital é usada em tantas
aplicações criptográficas diferentes hoje,
ela é o pilar de muitos
protocolos de e-commerce,
é usada para fazer coisas como
geração de Bitcoin por exemplo.
Funções criptográficas de hash são usadas
em protocolos de autenticação de mensagens
na geração de números pseudo-aleatórios
e na segurança de senhas
até mesmo em criptografia em certo grau
e, na verdade, além de seu
uso em assinaturas digitais,
essas funções de hash são também usadas
em outros lugares do protocolo Bitcoin.
Então, antes de tudo deixe-me falar sobre
o que uma função criptográfica de hash é.
E, é claro, como o próprio nome implica,
a primeira coisa, ela é uma função de hash
e por função de hash eu quero dizer
que ela vai receber uma entrada,
ela é uma função matemática,
uma transformação se preferir,
que recebe uma entrada particular,
e chamamos essa entrada de uma "mensagem"
e a mensagem pode ser
de um tamanho arbitrário

Japanese: 
ハッシュ関数はこのメッセージを受け取り
数学的に変形させて1つの出力を得ます
この出力を「ダイジェスト」といいます
この出力は他にもタグとかハッシュとか
フィンガープリントと呼ばれます
ダイジェストがもっとも一般的な呼び方でしょうか
実際MD5は「メッセージ・ダイジェスト・5」の
省略形ですからね
MD4も「メッセージ・ダイジェスト・4」の略でした
さてメッセージの長さは任意だと言いました
長くても短くてもかまいません
ただし出力 ダイジェストあるいはタグの
長さは決まっています
例えばSHA-256のダイジェストの長さは
256ビットと決まっています

Polish: 
Mogą mieć one dowolną długość, a funkcja skrótu dokonuje na tych danych
przekształcenia matematycznego, prawdopodobnie zestawu przekształceń,
aby stworzyć pojedynczą informację wyjściową. Zazwyczaj nazywamy ją skrótem, ale
czasami można się spotkać z określeniem tag lub hasz albo fingerprint.
"Skrót" jest jednak najczęściej stosowaną nazwą. Sama nazwa funkcji MD5, która była jedną z pierwszych
funkcji skrótu, oznacza "Skrót wiadomości 5", MD4 oznacza "Skrót wiadomości 4", itd.
Wiadomość, tak jak już wspomniałem, może być dowolnego rozmiaru,
może być tak długa lub krótka, jak tylko zechcesz, jednak wiadomość wyjściowa,
rozmiar skrótu / tagu będzie zawsze jednakowy.
Na przykład w kontekście funkcji skrótu takiej jak
np. SHA-256, skrót będzie miał rozmiar dokładnie 256 bitów.

Thai: 
แล้ว hash function จะใช้
การแปลงทางคณิตศาสตร์ตัวหนึ่ง
หรือชุดการแปลงทางคณิตศาสตร์
เปลี่ยนค่านำเข้านี้เป็นค่าส่งออกเดี่ยวๆ
และเราเรียกค่าส่งออกนี้ว่า digest
ถึงแม้ว่าบางครั้งคุณจะเห็นคนเรียก
ค่าส่งออกว่า tag, hash
หรือ fingerprint
แต่คำว่า digest เป็นคำที่ใช้บ่อยที่สุด
ที่จริง MD5 ซึ่งเป็น
hash functions ตัวแรกๆ
ย่อมาจาก message digest 5
และ MD4 คือ message digest 4
ฯลฯ
ทีนี้ message อย่างที่ผมบอกไป
มันมีขนาดเท่าไหร่ก็ได้
มันยาวเท่าไหร่ก็ได้
หรือสั้นเท่าไหร่ก็ได้
แต่ค่าส่งออก
ขนาดของ digest หรือขนาดของ tag
จะมีความยาวคงที่
ตัวอย่างเช่น สำหรับ hash function
ของ SHA-256
digest จะยาว 256 บิตพอดี
มันจะได้ค่าส่งออกยาวคงที่

English: 
and the hash function basically applies
a mathematical transformation,
or maybe a set of
mathematical transformations
to this input to produce a single output,
and we typically call
this output a digest,
although, sometimes you will see
the output referred to
as a tag, or as a hash,
or as a fingerprint,
but digest is sort of the
most common nomenclature.
In fact, MD5, which was
one of the earlier hash functions,
stands for message digest 5,
and MD4 was message digest 4,
and so on, and so forth.
Now, the message, as I mentioned briefly
can be of arbitrary size.
It can be as long as you want,
or as short as you want,
but the output,
the size of the digest
or the size of the tag,
is going to be fixed in length,
and for example, in the
context of a hash function
like, let's say, SHA-256,
the digest will actually be
exactly 256 bits in length.
It's going to have a fixed-length output,

Czech: 
Hašovací funkce s touto zprávou provede...
celou řadu matematických operací,
jejichž výsledkem je určitý výstup.
Ten se běžně nazývá "otisk" (digest),
ačkoli někdy se užívá také 
označení "štítek" (tag)
nebo "haš" (hash).
Nicméně označení "otisk"
se využívá nejvíce.
Zde je vhodné uvést,
že označení zmíněného algoritmu MD5...
je zkratkou pro Message Digest 5
(otisk zprávy 5),
podobně MD4 je zkratkou
pro Message Digest 4.
Jak bylo řečeno dříve, zpráva 
může mít libovolnou velikost.
Může být velice dlouhá,
nebo mít jen pár znaků.
Na druhou stranu,
výsledný otisk bude mít velikost 
vždy pevně určenou (fixed length)...
a to pro každý typ hašovací funkce.
Například algoritmus SHA-256 bude
produkovat pouze otisky délky 256 bitů.
To znamená, že pro každou, 
libovolně velkou zprávu...

Portuguese: 
e a função de hash basicamente aplica
uma transformação matemática,
talvez um conjunto de transformações
matemáticas, nessa entrada
para produzir uma única saída.
Nós normalmente chamamos essa saída de
resumo, entretanto às vezes você verá essa
saída sendo referida como uma etiqueta,
ou uma hash, ou uma impressão digital;
mas resumo é um dos
nomes mais comuns.
E, na verdade, MD5 - que foi uma das
primeiras funções de hash - significa
"Message Digest 5" (Resumo da Mensagem 5)
e MD4 é "Message Digest 4" (Resumo da
Mensagem 4) e assim por diante.
A mensagem, como eu mencionei breviamente,
pode ser de um tamanho arbitrário
pode ser tão longa quanto quiser,
ou pode ser tão curta quanto quiser,
mas a saída, o tamanho do resumo
vai ser de um tamanho fixo.
Por exemplo, no contexto de uma função
de hash como, vamos dizer, SHA-256,
o resumo vai ter exatamente
256 bits de tamanho.

English: 
but an arbitrary-length input.
The other thing I want to point out
about these cryptographic hash functions
is that the function here
is a deterministic function,
and by that, I mean
that the output will always be the same
for a given input,
so if you have a given input,
you're going to see the exact same output.
You won't have a
situation in which, maybe,
a given input will have two
different possible outputs.
It's going to be consistent.
Now, traditional hash functions have been
used in computer science
for quite some time,
and they are used in many
computing applications,
so, for example, you may
have heard of something
like a hash function used in something
called a hash table,
but the kinds of hash
functions that are used
in hash tables, and I want to stress this,
they aren't necessarily the same
as cryptographic hash functions.
The qualifier "cryptographic"
here is very important,
and it usually means or implies that
that hash function has
to have a certain set
of critical design goals and maybe some
particular properties in mind

Polish: 
Dane po skróceniu mają więc określony rozmiar, ale dane wejściowe mają dowolny rozmiar.
Kolejną rzeczą na temat kryptograficznych funkcjach skrótu, o której chciałbym wspomnieć
to fakt, że są to funkcje deterministyczne.
Oznacza to, że określone dane wyjściowe po wyjściu są zawsze takie same.
Dla danej informacji wejściowej za każdym razem otrzymasz taki sam wynik.
Nie zaistnieje sytuacja, w której określone dane przyniosą dwa różne wyniki.
Zawsze będą one jednakowe.
W informatyce już od jakiegoś czasu stosuje się konwencjonalne funkcje skrótu
i są one wykorzystywane w wielu programach komputerowych.
Na przykład słyszeliście być może o czymś takim jak funkcje skrótu stosowane do tworzenia tablicy mieszającej.
Jednak tego rodzaju funkcje skrótu, i tu podkreślam,
niekoniecznie są takie same jak kryptograficzne funkcje skrótu.
Określenie "kryptograficzne" jest tutaj bardzo istotne.
Zazwyczaj oznacza ono, że ta funkcja skrótu posiada pewien zestaw
wyróżniających je cech charakterystycznych, dzięki którym są użyteczne

Thai: 
แต่ค่านำเข้ายาวเท่าไหร่ก็ได้
อีกอย่างที่ผมอยากบอก
เกี่ยวกับ cryptographic 
hash functions พวกนี้
คือว่าฟังก์ชันนี้เป็นฟังก์ชันที่ให้ค่าตายตัว
ผมหมายความว่า
ค่าส่งออกจะออกมาเท่าเดิมเสมอ
สำหรับค่านำเข้าค่าหนึ่ง
ถ้าคุณมีค่านำเข้าค่าหนึ่ง
คุณจะเห็นค่าส่งออกมาเท่าเดิม
คุณจะไม่มีกรณีที่
ค่านำเข้าหนึ่งค่า
ให้ค่าส่งออกต่างกันสองค่า
มันจะคงที่เสมอ
ทีนี้ hash functions แบบดั้งเดิมถูกใช้
ในวิทยาศาสตร์คอมพิวเตอร์มาสักพักแล้ว
พวกมันถูกใช้ในงาน
คำนวณมากมาย
ตัวอย่างเช่น คุณน่าจะเคยได้ยินว่า
hash function ถูกใช้ในสิ่ง
ที่เรียกว่า hash table
แต่ hash functions ประเภทที่ใช้
ใน hash tables ผมอยากเน้นตรงนี้
ว่าพวกมันไม่จำเป็นต้องเหมือนกับ
cryptographic hash functions
คำขยาย cryptographic ตรงนี้สำคัญมาก
มันหมายความว่า หรือสื่อว่า
hash function ต้องมีชุด
เป้าหมายที่ออกแบบมาอย่างดี และมัน
อาจต้องมีสมบัติเฉพาะ

Portuguese: 
Então vai ter uma saída de tamanho fixo
mas uma entrada de tamanho arbitrário
E a outra coisa que quero ressaltar sobre
essas funções criptográficas de hash é
que a função é uma função determinística,
e por isso eu quero dizer que
a saída sempre será a mesma
para uma entrada específica.
Então se você tem uma entrada específica,
vai ver a mesma exata saída.
Você não vai ter uma situação em que dado
uma entrada terá duas possíveis saídas.
Vai ser consistente.
Bem, funções de hash tradicionais vem
sendo usadas em Ciência da Computação
há bastante tempo e elas são usadas
em várias aplicações computacionais.
Você talvez tenha ouvido sobre uma função
hash usada para fazer uma tabela hash.
Mas o tipo de funções hash que são usadas
em tabelas hash, e eu quero destacar isso,
não são necessariamente o mesmo
que funções criptográficas de hash.
O qualificador 'criptográficas'
aqui é muito importante.
E geralmente significa que essa função 
hash tem que ter um certo conjunto de
objetivos críticos de design e talvez
algumas propriedades particulares em mente

Japanese: 
入力の長さは任意ですが
出力は固定長なのです
また暗号学的ハッシュの特徴としては
決定性のアルゴリズムであることが挙げられます
関数は同じ入力に対して
常に同じ結果を生成します
入力が同じであれば毎回同じ出力が得られるのです
同じ入力が違う出力を返すことはありません
毎回同じなのです
ハッシュ関数は計算機科学で
長い間使われており
様々な形で応用されています
例えば「ハッシュテーブルを構成するハッシュ関数」など
聞いたこともあるのでは
しかしハッシュテーブルで使われているものは
暗号学的ハッシュ関数とは限りません
暗号学的であるには条件があるのです
つまり暗号学的ハッシュの設計においては欠くことのできない要件があり

Czech: 
bude výsledkem otisk stejné velikosti.
Dále je potřeba zdůraznit,
že hašovací funkce jsou zcela deterministické,
což platí nakonec pro všechny matematické funkce.
Tedy pro pevně zvolenou zprávu 
hašovací funkce vyprodukuje vždy stejný otisk.
Nikdy tedy nenastane situace,
při které by došlo k tomu,
že bychom dostali dva otisky pro jednu zprávu.
Tradiční hašovací funkce se používají v informatice...
už docela dlouhou dobu a mají mnoho aplikací.
Možná jste již o některých slyšeli,
příkladem jsou tzv. hašovací tabulky.
Zde je potřeba zdůraznit, že hašovací funkce 
využívané v hašovacích tabulkách...
nemusí být nutně stejného typu
jako jsou kryptografické hašovací funkce.
Označení, že jde "kryptografickou" funkci,
zde hraje důležitou roli, což v praxi znamená,
že na kryptografickou hašovací funkci
je kladeno několik speciálních požadavků,

Thai: 
เพื่อให้เหมาะสมกับ
งานที่ใช้การเข้ารหัส
การประยุกต์ด้านรหัส
ที่ความปลอดภัย ความเป็นส่วนตัว
การเป็นความลับ หรือการรับรอง
เป็นสิ่งสำคัญยิ่ง
อย่างแรกสุด
ในการบรรยายสมบัติเหล่านี้
คือว่า เราแทบไม่ต้องพูดถึงมันด้วยซ้ำ
สมบัติอย่างแรกสุดที่คุณต้องการ
จาก cryptographic hash function
คือว่ามันต้องมีประสิทธิภาพด้านการคำนวณ
ผมหมายความว่า มันไม่ควรใช้เวลา
คำนวณค่าส่งออกนานนัก
ถ้าคุณได้รับข้อความมา
และคุณอยากใช้ชุดการแปลงนี้
กับข้อความนั้นให้ได้ digest
ชุดการแปลงนั้นไม่ควรใช้เวลานาน
เวลาคิดในคอมพิวเตอร์
มันควรเร็วมาก หรือเร็วทีเดียว
เราไม่จำเป็นต้องพูดด้วยซ้ำ
แต่ผมว่ามันสำคัญที่ต้องเน้น
เพราะผมเห็นคนตั้ง
hash functions 
ที่ไม่มีประสิทธิภาพเลยบางครั้ง
และฟังก์ชันเหล่านั้นไม่เหมาะสม
สำหรับการใช้
เป็น cryptographic hash functions

Portuguese: 
que a faça adequada para o uso em
aplicações que usem criptografia
onde talvez segurança ou privacidade,
ou confidencialidade ou autenticação
é uma preocupação séria.
Então, primeiro e antes de tudo em 
descrevendo as propriedades de alguém
é que, e talvez isso nem precise ser dito,
uma das propriedades que você quer
em uma função criptográfica de hash
é que ela deveria ser computacionalmente -
computacionalmente eficiente.
E com isso quero dizer que
ela não deveria levar muito tempo
para computar a saída de
uma determinada entrada
Se você recebe uma mensagem e quer aplicar
um conjunto de transformações nesta
mensagem para obter um resumo, esse
conjunto de transformações não deveria
tomar muito tempo para ser implementado
em um computador, deveria ser bem rápido.
E isso quase nem precisava ser dito mas
acho importante reforçar e destacar
porque eu já vi pessoas fazerem
implementações grosseiramente ineficientes
de funções de hash algumas vezes e estas
não seriam consideradas adequadas
no contexto de uma típica função
criptográfica de hash que é usada para

Japanese: 
それがなければ秘匿性が問題となる暗号的アプリケーションに
用いることができないのです
さてそれらの要件についてお話していきますが
暗号学的ハッシュ関数は
計算機的に効率よくなければいけません
入力を処理して出力するのに
時間がかかりすぎてはいけません
メッセージを加工してダイジェストを得るのに
長い時間コンピューターで計算するわけにはいかないのです
ある程度高速である必要があります
明らかなことですが
大事なことなので強調しておきますと

English: 
that make it suitable for use
in applications that use cryptography
or cryptographic applications,
areas where perhaps security or privacy
or confidentiality or authentications
are a serious concern.
First and foremost,
maybe in describing
some of these properties
is that, and maybe this
almost goes without saying,
one of the first properties you want
of a cryptographic hash function
is that it should be
computationally efficient,
and by that, I mean that it
shouldn't take a lot of time
to compute the output from a given input.
If you're given a message
and you want to apply this
set of transformations
to that message to get a digest,
that set of transformation
should not take a long time
to implement on a computer.
It should be very fast,
or relatively fast.
It almost goes without saying,
but I think it's important
to stress and point it out
because I've seen people come up
with grossly inefficient
hash functions sometimes,
and those would not be considered suitable
in the context of when typical
cryptographic hash functions are used

Czech: 
které jsou nutné pro jejich využití
v kryptografických oborech a aplikacích...
jako je zabezpečení, 
ochrana soukromých údajů,
utajování informací 
a ověřování totožnosti.
Prvním důležitým požadavkem,
který klademe na kryptografické 
hašovacích funkce,
je požadavek výpočetní efektivity
(computationally efficient).
Tím myslíme, že by doba nutná k výpočtu 
otisku zprávy měla být co nejkratší.
Pro zvolenou zprávu prostě chceme, aby 
výpočetní operace netrvaly příliš dlouho.
Samozřejmě, že na počítačích bude 
tento proces vždy relativně docela rychlý.
Nicméně i tak je tento požadavek nutno zdůraznit,
neboť se lze setkat s návrhy algoritmů,
díky nimž jsou dané hašovací 
funkce výpočetně neefektivní.
Takové algoritmy ale nejsou
považovány za vhodné v oblasti,

Polish: 
w programach wykorzystujących kryptografię, w których bezpieczeństwo / prywatność
lub poufność / uwierzytelnienie są bardzo istotne.
Przede wszystkim, co być może jest oczywiste,
jedną z niezbędnych cech kryptograficznych funkcji skrótu jest wydajność numeryczna.
Oznacza to, że nie powinno jej zajmować wiele czasu obliczanie danych wyjściowych.
Jeżeli masz wiadomość i chcesz poddać ją szeregowi przekształceń, aby otrzymać jej skrót,
wykonanie tych przekształceń nie powinno zabierać dużo czasu.
Na komputerze powinno to przebiegać bardzo szybko.
To może oczywiste, ale myślę, że trzeba to podkreślić,
ponieważ spotykałem się ze stosowaniem rażąco nieskutecznych funkcji skrótu.
Nie nadawałyby się one do użycia jako typowe kryptograficzne funkcje skrótu

Czech: 
kde se nejčastěji používají vlastní
kryptografické hašovací funkce.
Druhým zásadním požadavkem 
na kryptografické hašovací funkce,
který hraje důležitou roli 
v oblasti digitálních podpisů,
je požadavek, aby bylo těžké nalézt
dvě různé zprávy, které mají identický otisk.
V případě, že algoritmus tuto vlastnost splňuje,
říkáme, že se jedná o hašovací funkci
odolnou vůči kolizím (collision resistance).
To znamená, že je těžké nalézt 
kolidující pár vstupních parametrů.
Jinak řečeno, 
pro dvě zvolené zprávy M1 a M2...
by otisk vyprodukovaný 
hašovací funkcí neměl být shodný.
Přesněji, nikdy by nemělo stát, že pro dvě 
různé zprávy M1 a M2 dostaneme stejný otisk.
Otisk by měl vždy být odlišný
Zde udělejme odbočku a řekněme,
že je to vlastně nesplnitelný požadavek.

Japanese: 
非効率なハッシュ関数を用いる暗号的アプリケーションは
適格なものであるとはいえないのです
2つ目には 特に電子署名においてですが
同じ出力を得る2つの入力は見つけにくくなくてはいけません
別々のメッセージに同じダイジェストが紐づく状態ですね
この要件を「衝突困難性」といいます
衝突する2つの入力が見つけにくいという意味です
たとえばM1とM2という2つのメッセージがあるとしましょう
このメッセージからハッシュ関数で得るダイジェストは
同じであってはいけません
M1とM2 から得られる出力は必ず違うものなのです
常に重複せず違っていなければならないのです

Portuguese: 
aplicações criptográficas.
E a segunda propriedade que geralmente
se precisa, especialmente no contexto de
assinatura digital, é: você quer que seja
o caso de ser difícil que duas entradas
sejam mapeadas realmente para a mesma
entrada. Duas entradas distintas
cujos resumos correspondentes
sejam idênticos.
E essa propriedade geralmente é chamada de
colisão, resistência à colisões.
Isso significa que é difícil achar
um par de entradas que colidam.
Em outras palavras, se temos duas entradas
vamos dizer uma mensagem M1 e uma M2.
Suas saídas da aplicação da função de hash
não deveriam ser a mesma.
Você nunca teria o caso em que a saída
de M1 e M2 da aplicação da função de hash
são iguais. Nunca deveria ser igual.
Deve sempre ser diferente.
Eu deveria voltar um passo e
destacar que, é claro, na prática,

Polish: 
stosowane w programach komputerowych wykorzystujących kryptografię.
Kolejną zwykle niezbędną cechą, szczególnie istotną w kontekście cyfrowego podpisu, jest brak możliwości
wygenerowania 2 wiadomości wejściowych o takim samym skrócie.
To znaczy 2 różnych wiadomości, których skróty byłyby identyczne.
Tą cechę zwykle określa się jako odporność na kolizje.
Oznacza to, że trudno jest znaleźć kolidujące pary wiadomości.
Innymi słowy, jeśli mamy 2 wiadomości, nazwijmy je M1 i M2,
po przetworzeniu za pomocą funkcji skrótu nie powinny być one takie same.
Nigdy nie będą identyczne. Nie zdarzy się nigdy, że skróty M1 i M2
otrzymane za pomocą funkcji skrótu są takie same. Nie powinny być takie same. Zawsze powinny być różne.
Teraz się trochę cofniemy.

English: 
for cryptographic applications.
The second property you typically need
in the context,
and this is especially in the
context of digital signing,
is that you want it to be the case
that it's hard to find two
inputs that actually map
to the same output,
and I mean two distinct inputs
whose corresponding digest is identical.
This property is typically referred to as
collision resistance.
That means it's hard to find
a colliding pair of input,
so in other words, if you have two inputs
and let's say you have a message M1,
and you have a message M2,
their output under the application
of the hash function
should not be the same.
You won't ever have it
be the same that the,
you won't even have it
be the case, rather,
that the output of M1 and M2
under an application of the hash function
is the same.
They should never be the same.
It should always be different.
Now, I should take a step back here
and point out that of course in practice,

Thai: 
สำหรับงานด้านการเข้ารหัส
สมบัติข้อสองที่คุณมักต้องการ
ในเรื่องนี้
โดยเฉพาะในเรื่องลายเซ็นดิจิตอล
คือว่าคุณอยากทำให้
ค่านำเข้าสองค่าโยงไปหา
ค่าส่งออกเดียวกันได้ยาก
ผมหมายความว่าค่านำเข้าสองค่าที่ต่างกัน
แต่มี digest ออกมาเท่ากัน
สมบัตินี้มักเรียกว่า
collision resistance
มันหมายความว่า การมีคู่มาชนกันเกิดขึ้นยาก
กล่าวอีกอย่างคือว่า ถ้าคุณมีค่าเข้าสองค่า
สมมุติว่าคุณมีข้อความ M1
และคุณมีข้อความ M2
ค่าส่งออกหลังจากใช้
hash function ไม่ควรออกมาเท่ากัน
คุณจะไม่มีทางได้ค่าเดียวกัน
มันจะไม่เกิดเหตุการณ์ว่า
ค่าส่งอออกของ M1 กับ M2
ภายใต้การใช้ hash function
ออกมาเท่ากัน
พวกมันไม่ควรเท่ากัน
มันควรต่างกันเสมอ
ทีนี้ ผมควรถอยกลับมา
และบอกก่อนว่าในทางปฏิบัติ

Portuguese: 
dado que a mensagem pode ser de um tamanho
arbitrário e a saída é de um tamanho fixo,
não é mateticamente possível garantir
que a saída sempre será diferente
para duas mensagens distintas.
Mas o que você geralmente quer não é que
as saídas sejam necessariamente diferentes
mas que seja difícil para achar mensagens
distintas que produzem a mesma saída.
Nós sabemos que elas existem em virtude do
fato que mensagens podem ser mapeadas
em apenas um número finito e pequeno
(ou relativamente um número pequeno se
comparado ao número de mensagens)
um número pequeno de
possíveis valores resumo.
Mas fora essa consideração, deveria ser
difícil, deveria levar muito tempo,
e por muito tempo eu quero dizer
astronomicamente muito tempo para achar
duas mensagens distintas que resultariam
na mesma saída aplicando a função de hash.
Bem, a terceira coisa que eu quero
ressaltar é que em vários casos
você pode também querer, no contexto das
funções de hash, que a função seja capaz

Thai: 
เนื่องจากข้อความมีขนาดเท่าใดก็ได้
และค่าส่งออก มี
ขนาดคงที่
มันเป็นไม่ได้ในทางคณิตศาสตร์ที่จะยืนยัน
ว่าค่าส่งออกสำหรับข้อความต่างกัน
สองอันจะออกมาต่างกันเสมอ
แต่สิ่งที่คุณมักต้องการคือว่า ค่าส่งออก
ไม่จำเป็นต้องต่างกัน
แต่ข้อความต่างกันสองอันควร
ให้ค่าส่งออกเดียวกันได้ยาก
เรารู้ว่ามันต้องมีเท่ากันบ้าง เพราะ
มีข้อความมากมายที่นำมา hash ได้
และมีคำตอบออกมาเป็นจำนวนน้อย
จำนวนจำกัดเทียบกับ
จำนวนข้อความทั้งหมด
จำนวนค่า digest ที่เป็นไปได้จำนวนน้อยมาก
แต่นอกเหนือจากความเป็นไปได้
ในทางทฤษฏีแล้ว
มันควรเป็นไปได้ยาก มันควรใช้เวลานาน
นาน ผมหมายความว่านานเป็น
เวลาทางดาราศาสตร์
กว่าจะเจอข้อความต่างกันสองตัวที่ให้
ค่าส่งออกมาเท่ากัน
ภายใต้การใช้ hash function
ทีนี้ อย่างที่สามที่ผมอยากชี้ให้เห็น
คือว่าในหลายๆ กรณี คุณอาจต้องการ
ในบริบทของ hash function
คือ hash function ควรซ่อน

Japanese: 
少し戻りましょう メッセージは任意の長さですが
ダイジェストの長さは決まっていると言いました
2つのメッセージから得られるダイジェストが
常に違っていると証明するのは数学的に不可能です
現実的には同じ出力となる2つの別の入力を
探すのが困難な仕組みが必要です
原理上メッセージの数よりも
ダイジェストの数は少ないですからね
そういうわけで2つのメッセージを探すのに天文学的な時間が
必要なアルゴリズムにしなければいけません

English: 
given that messages can
be of arbitrary size
and given that the input
or the output, rather,
is a fixed size,
it's not mathematically
possible to guarantee
that the output will always be different
for two distinct messages,
but what you typically want
is not that the outputs
are necessarily different,
but that it's hard to
find two distinct messages
that produce the same output.
We know they exist by virtue of the fact
that there are many
messages that can be hash,
and only a finite, small number,
relatively small number compared to
the number of messages,
a smaller number of
possible digest values,
but aside from that consideration,
it should be hard. It
should take a long time,
and by long, I mean an
astromonically long time
to find two distinct
messages that would result
in the same output
under the application
of the hash function.
Now, the third thing
that I want to point out
is that in many cases, you might want,
also, in the context of a hash function,
for the hash function to be able to hide

Czech: 
Je jasné, že pokud může 
být velikost zprávy libovolná,
zatímco velikost otisku je pevně daná,
není teoreticky možné garantovat,
že otisk bude různý pro všechny možné zprávy.
Pro praktické aplikace není důležité, 
aby byl otisk odlišný pro všechny zprávy,
ale aby bylo výpočetně obtížné 
takové dvě zprávy nalézt.
Víme ale, že takové dvě zprávy existují.
Víme to proto, že všechny zprávy mohou vyprodukovat
pouze omezené množství různých otisků,
které je vzhledem k neomezenému 
množství různých zpráv zanedbatelné.
Bez ohledu na tento teoretický fakt,
nalezení kolize by mělo být opravdu těžké.
Tedy pokus o nalezení dvou kolizních zpráv,
by mělo zabrat astronomicky dlouhou dobu,
Třetím důležitým požadavkem 
na kryptografické hašovací funkce,

Polish: 
Oczywiście w praktyce, zakładając, że wiadomości mogą przyjmować dowolny rozmiar,
a ich skrót musi mieć konkretny rozmiar,
z matematycznego punktu widzenia nie jest możliwe zagwarantować, że
2 różne wiadomości będą miały zawsze odmienne skróty.
Zazwyczaj jednak nie potrzebujemy koniecznie odmiennych skrótów wiadomości,
ale chodzi o to, by trudno było znaleźć 2 różne wiadomości, z których otrzymuje się takie same skróty.
Wiemy, że takowe istnieją, z racji tego, że liczba kombinacji skracania wiadomości
jest skończona (jest stosunkowo niewielka w porównaniu do liczby wiadomości).
Istnieje niewielka ilość możliwych do otrzymania wartości skrótów.
Poza tym odnalezienie 2 różnych wiadomości, których skróty byłyby identyczne
przy zastosowaniu funkcji skrótu powinno zajmować niesamowicie dużo czasu.
Trzecią rzeczą, o której chciałbym wspomnieć jest to, że w wielu przypadkach
możemy również oczekiwać od funkcji skrótu by były w stanie ukryć

Portuguese: 
de esconder informações
sobre as entradas.
Em outras palavras, dado a saída, deveria
ser difícil coletar qualquer informação
útil ou interessante sobre a entrada.
Qualquer coisa, qualquer detalhe relevante
e não quero dizer apenas a entrada inteira
mas até mesmo uma coisa tão simples quanto
"a entrada era um número par
ou um número ímpar?"
E isso deveria ser o tipo de coisa que é
difícil inferir quando você vê a saída.
Até mesmo algo tão simples quanto a
paridade ou imparidade da entrada.
Agora, a quarta propriedade
que quero ressaltar
é que você geralmente quer
que a saída seja bem distribuída.
Em outras palavras, a saída
deve parecer aleatória.
Deve parecer como se fosse um conjunto de
jogadas de moeda feitas de nenhuma forma
previsível em que a saída foi criada.

Japanese: 
3つ目には ハッシュ関数は
入力に関する情報を隠せないといけません
入力の内容を予想できる情報が
出力されないようにする必要があります
例えば入力が奇数なのか偶数なのかなど
あらゆる情報ですね
これらは出力からは排除されるべきです
奇数・偶数のような単純なヒントでもです
4つ目には
出力の分布が広くなければいけません
まったくランダムな出力に見えなければいけません
まるでコインの裏表の分布のように
予想不可能である必要があります

Thai: 
ข้อมูลเกี่ยวกับค่านำเข้าได้
กล่าวอีกอย่างคือว่า
เมื่อกำหนดค่าส่งออกมา
การดึงข้อมูลที่มีประโยชน์หรือน่าสนใจ
เกี่ยวกับค่านำเข้านั้นเป็นไปได้ยาก
อะไรก็ตาม รายละเอียดที่น่าสนใจ
ผมไม่ได้หมายถึงค่านำเข้าทั้งก้อน
แต่อาจเป็นของง่ายๆ อย่าง
ค่านำเข้าเป็นเลขคู่หรือเลขคี่?
ผมหมายความว่า การเดาอะไรก็ตามเกี่ยวกับ
ค่านำเข้าเวลาคุณเห็นค่านำส่งออก
แม้แต่เรื่องง่ายๆ
อย่างการเป็นเลขคู่หรือเลขคี่ของค่านำเข้า
ทีนี้ สมบัติที่สี่ที่ผมอยากชี้ให้เห็น
คือว่าคุณอยากให้ค่าส่งออก
กระจายตัวดี
กล่าวอีกอย่างคือว่า
ค่าส่งออกควรเป็นไปอย่างสุ่ม
กล่าวอีกอย่างคือว่า มันควรเป็น
เหมือนการโยนเหรียญ
ไม่มีวิธีทำนายได้
ว่าค่าส่งออกถูกสร้างอย่างไร
จริงๆ แล้ว ความหมายของมันคือว่า
คุณอาจคิดว่าโดยหลักการแล้ว
มันเกือบเหมือนกับการโยนเหรียญหลายๆ อัน

Czech: 
je aby hašovací funkce ukrývali informaci,
která je obsažena ve vstupní zprávě.
Jinak řečeno, žádný otisk určité zprávy...
by neměl umožňovat zjistit 
cokoli o obsahu dané zprávy.
Tím není myšleno pouze 
zjištění obsahu celé zprávy,
ale i například to, zda je 
ve zprávě sudé nebo liché číslo.
Tento typ zjištění byl mělo být 
těžký odvodit z pouhé znalosti otisku.
A to i v případě, že se jde
o takovou informaci,
zdali zadaný vstup je sudý nebo lichý.
Čtvrtým požadavkem, 
který je potřeba zmínit, je,
že typicky chceme, aby výsledné otisky...
byly rovnoměrně distribuované.
Jinak řečeno požadujeme,
aby hodnoty otisků vypadaly pro různé zprávy náhodně,
jako bychom je získali pomocí série hodu mincí.
Důležitý princip, který byste si z tohoto měli odnést je,

English: 
information about the inputs.
In other words,
given the output,
it should be hard to glean anything useful
or interesting about the input.
Anything, any relevant detail,
and I don't just mean the whole input,
but maybe even something as simple as
was the input an even
number or an odd number?
I mean, that should be the kind of thing
that should be hard to infer
when you see the output,
even something as simple as the,
the evenness or oddness of the input.
Now, a fourth property I want to point out
is that you typically
want the output to be
well distributed.
In other words,
the output should look random.
In other words, it should look
like a set of coin flips took place,
not that there was a predictable way
in which the output was created.
Really, what that means is that,
and you can think of it
maybe more conceptually as
it's almost as if you
flipped a bunch of coins

Polish: 
informację na temat wiadomości wejściowej.
Inaczej mówiąc wnioskowanie o wiadomości wejściowej
na podstawie wartości skrótu powinno być trudne.
Trudne powinno być uzyskanie jakiekolwiek szczegółowej informacji, nie tylko na temat całej wiadomości wejściowej,
ale również czegoś tak prostego jak, "czy wiadomość wejściowa miała wartość parzystą czy nieparzystą?".
Tego rodzaju rzeczy powinny być trudne do wywnioskowania na podstawie skrótu.
Nawet coś tak prostego jak parzystość czy nieparzystość wartości wiadomości wejściowej.
Czwartą cechą, której zwykle wymaga się od funkcji skrótu jest zapewnienie prawidłowego rozkładu skrótów.
Inaczej mówiąc, rozkład skrótów powinien sprawiać wrażenie losowego.
Powinien wyglądać jak ciąg wyników otrzymanych za pomocą rzutu monetą.
Jego układ powinien być nieprzewidywalny, nie powinien odwzorowywać etapów tworzenia skrótu.

Thai: 
เพื่อสร้างค่าส่งออกขึ้นมา
มันควรดูสุ่มขนาดนั้น
และสิ่งที่คุณคิดเทียบกับ
cryptographic hash functions
คือว่า เปรียบเทียบในเชิงคณิตศาสตร์แล้ว
มันก็เหมือนกับเครื่องบดเนื้อ
มันนำค่าเข้าไป แล้วใช้
การแปลงทางคณิตศาสตร์เหล่านี้
ทำให้ค่าส่งออก
ออกมาสุ่มและ
ไม่เกี่ยวข้องกับค่านำเข้าเดิม
โดยสิ้นเชิง
ผมอยากพูดถึง
สมบัติเฉพาะเหล่านี้อีกสักหน่อย
ก่อนอื่น สมบัติเหล่านี้เกี่ยวข้องกัน
ตัวอย่างเช่น ถ้าคุณมีสถานการณ์
ที่ค่าส่งออก
ออกมาไม่มีความเกี่ยวข้องกับค่านำเข้า
และค่าส่งออกดูสุ่ม
แล้วคุณก็มั่นใจได้พอสมควรว่า
สมบัติ collision resistance ควรตามมา
เพราะความจริงที่ว่าคุณไม่สามารถ
ทำนายค่าส่งออกได้
และความจริงที่ว่ามันซ่อนข้อมูลทุกอย่างนี้
แปลว่า มันจะหาค่าส่งออก
สองค่าต่างกันที่
โยงหาค่าส่งออกเดียวกันได้ยาก
และบางครั้ง คุณจะได้สมบัติหนึ่ง
แลกเปลี่ยนกับอีกสมบัติหนึ่ง

English: 
to get to the output.
It should look just that random.
And so what you can maybe think of
cryptographic hash functions as,
as it's, perhaps, maybe
the mathematical equivalent
or mathematical analog of
a meat grinder of sort.
It can take inputs and apply
these mathematical transformations to them
such that the output looks,
for all intents and purposes,
completely random and unrelated
to the original input.
I do want to make a few quick remarks
about these particular properties,
and first of all, they are interrelated.
For example, if you have a situation
where the outputs, let's say,
really appear to bear no
relationship to the input
and the outputs also look random,
then that will, in fact,
give you to a large degree,
a lot of the collision
resistance properties
because just the fact that you can't
predict the output
and the fact that it
hides all this information
implies that it's going to be hard to find
two inputs that are distinct
that map to the same output.
And so sometimes, you get one property
in exchange for the others.

Czech: 
že na první pohled by nemělo být možné 
rozlišit mezi hašovací a náhodnou funkcí.
To, co jsme si doposud řekli
o kryptografických hašovacích funkcích,
bychom mohli shrnnout tak,
že si je lze představovat
jako nějaký zvláštní druh 
matematického mlýnku na maso.
Nasypeme do něj zprávu a mlýnek jí 
semele pomocí matematických operací tak,
že výsledný otisk vypadá...
z praktického hlediska úplně náhodně a není 
možné vysledovat souvislost s původním vstupem.
Nyní udělám pár závěrečných poznámek
o vlastnostech hašovacích funkcí.
Za prvé, všechny ty vlastnosti 
spolu vzájemně souvisí.
Například, pokud nelze mezi vstupními zprávami 
a výslednými otisky vysledovat žádnou souvislost
a výsledné otisky se jeví jako náhodné,
pak z toho také do velké míry vyplývá
vlastnost kolizní odolnosti.
Pokud totiž nelze odhadnout výsledný otisk a platí, 
že z otisku nelze vyčíst o zprávě žádnou informaci,
vyplývá z toho také, že bude obtížné nalézt 
dvě různé zprávy se stejným otiskem.
Vidíme tedy, že někdy můžeme 
získat jednu vlastnost z ostatních.

Polish: 
Oznacza to, że to prawie tak jakbyście rzucili garścią monet by otrzymać skrót.
Powinien wyglądać tak, jakby został otrzymany losowo.
Kryptograficzne funkcje skrótu możecie postrzegać więc jako matematyczny ekwiwalent ???.
Mogą więc przyjmować wiadomości i poddawać je matematycznym przekształceniom, w wyniku których wiadomość wyjściowa
uzyskiwana w jakimkolwiek celu, jest całkowicie losowa i niepowiązana z pierwotną wiadomością wejściową.
Teraz chciałbym podzielić się kilkoma uwagami na temat tych
szczególnych właściwości. Po pierwsze są one ze sobą powiązane.
Na przykład w sytuacji, w której skróty rzeczywiście sprawiają wrażenie niepowiązanych
z wiadomością wejściową i skróty także wyglądają na przypadkowe,
to w dużym stopniu otrzymujemy dzięki temu odporność na kolizje.
Sam fakt, że nie można przewidzieć wartości skrótu oraz fakt, że ukrywa on poufne informacje
nie oznacza, że trudne jest odnalezienie dwóch różnych wiadomości wejściowych o takich samych skrótach.
Czasami możesz korzystać z jednej właściwości kosztem innych.

Japanese: 
コインをばらまいたときの裏表の分布を
考えてっましょう
それくらいのランダムさが必要です
つまり暗号学的ハッシュというのは
数学的なひき肉ミキサーのようなものです
入力を受け取って数学的に変形させるわけですね
その際の出力はバラバラの
ランダムなものに見えるようになります
これらの要件については
それぞれに関連があります
例えば出力が入力と無関係に見えてしかもランダムであれば
衝突困難性は非常に高いといえるでしょう
出力から入力が予想できないのであれば
同じ出力を得る2つの入力は見つけにくいといえます
もちろんある要件と要件が矛盾することもあります

Portuguese: 
E isso significa que é quase como se você
jogasse várias moedas para fazer a saída.
Deve parecer aleatório.
Você pode pensar em funções criptográficas
de hash como talvez o equivalente
matemático ou análogo
de um moedor de carne.
Ele pode receber entradas e aplicar essas
transformações matemáticas nelas
de modo que a saída pareça, para todos os
propósitos, completamente aleatória
e sem relação com
a entrada original.
Eu quero fazer algumas pequenas
observações sobre essas propriedades.
E antes de tudo, elas são
inter-relacionadas - por exemplo,
se você tem uma situação onde a saída não
aparenta mesmo ter relação com a entrada,
e a saída também parece aleatória,
então isso vai te dar na verdade, em certo
grau, uma grande resistência a colisões
porque apenas o fato de que você não pode
prever a saída e o fato de que ela esconde
toda essa informação implica que vai ser
difícil achar duas entradas distintas
que são mapeadas para a mesma saída.
E então, às vezes você consegue uma
propriedade em troca das outras.

Czech: 
Druhou poznámku, kterou jsem chtěl udělat je,
že v praxi je potřeba spoléhat na to,
že uvedené vlastnosti opravdu platí.
Ve skutečnosti však nemáme
absolutní jistotu, že tomu tak bude.
Můžeme např. vytvořit hašovací funkci,
o níž předpokládáte odolnost vůči kolizím,
nicméně třeba za rok někdo 
nalezne lepší způsob hledání kolizí.
Jde především o urychlující metody,
bez použití hrubé síly
(tj. zkoušení všech možných kombinací).
V současnosti platí, že pro aktuální
verze kryptografických algoritmů...
zatím nikdo nenašel urychlující matematické
metody pro prolomení jejich vlastnosti.
A tak na základě toho,
že doposud spolehlivě sloužily,
prostě předpokládáme, že jsou 
z praktického hlediska bezpečné.
Poslední věcí, která je potřeba říct,
že tuto lekci nelze nijak považovat 
za matematicky důslednouv jakémkoli smyslu.

Thai: 
เรื่องที่สองที่ผมอยากเน้น
คือว่า สมบัติเหล่านี้จริงๆ แล้วในทางปฏิบัติ
หรือคณิตศาสตร์เบื้องหลัง
นั้นเป็นสิ่งที่คุณหวัง
แต่คุณไม่สามารถยืนยันได้เสมอ
ว่ามันจะเป็นจริงตลอด
มันเป็นไปได้ที่
คุณจะออกแบบ hash function
ซึ่งคุณคิดว่ามัน collision resistant 
โดยสมบูรณ์
แต่อีกหนึ่งปีต่อมา อาจมีคนเข้ามา
คิดวิธีหา collision ฉลาดๆ
ขึ้นมาได้
เขาอาจเจอทางลัด
ที่ไม่ต้องใช้การค้นหาแบบถึก
ใดๆ เลย
ปรากฏว่านักไขรหัส
ปัจจุบันไม่ได้มี
เทคนิคทางคณิตศาสตร์อะไร
เขายังไม่ได้พัฒนาเทคนิค
เพื่อจัดการข้อจำกัดบางประการพวกนี้
เรามักเชื่อเอาเลย
ว่ากระบวนการเหล่านี้ปลอดภัย
เพราะมันอยู๋มานานแล้ว
ทีนี้ ผมอยากเน้นอีกอย่าง
เรื่องสุดท้ายที่ผมอยากชี้ให้เห็น
คือว่าสิ่งที่ผมบอกไป
ไม่ได้รัดกุมในทางคณิตศาสตร์
เท่าที่คนเราจะตั้งได้
มันมีวิธีบรรยายสมบัติพื้นฐานเหล่านี้

English: 
The second thing I want to point out
is that typically, these
properties in practice,
or maybe in the underlying mathematics,
are things that you hope for
but you can't always guarantee
that they'll always hold,
and it may be entirely possible that
you could design a hash function
that you think is completely
collision resistant,
but someone might come
along a year from now
and come up with a more
clever way for finding
a collision.
Maybe they'll find a clever shortcut
that does not involve
doing a brute force search
of any sort.
It turns out that cryptographers,
for better or worse currently do not have
any mathematical techniques.
They haven't developed
techniques for being able
to work around some of these limitations.
So we often do take it on face value
that these schemes are secure
based on how long they've been around.
Now, I also want to point out,
and the last thing I want to point out,
is that this treatment that I've given
is not meant to be mathematically rigorous
by any stretch of the imagination.
There are far more
precise ways to describe

Portuguese: 
A segunda coisa que eu quero ressaltar
é que geralmente essas propriedades
na prática, ou até mesmo em matemática
subjacente, são coisas que você espera por
mas que você não pode sempre garantir
que elas serão sempre válidas.
E talvez seja completamente possível que
você poderia desenvolver uma função hash
que você pensa ser completamente
resistente à colisões
mas alguém pode aparecer e, daqui a um ano
inventar uma maneira mais inteligente
para achar colisões.
Talvez ele tenha descoberto um jeito que
não involva fazer uma busca de força bruta
E acontece que criptógrafos, para o bem ou
para o mal, atualmente não têm nenhuma
técnica matemática, eles não
desenvolveram técnicas capazes de
contornar algumas dessas limitações.
Assim, nós frequentemente tomamos como
base de quanto esses esquemas são seguros
pelo tempo que eles
vêm sendo utilizados.
Agora eu também quero destacar uma última
coisa, essa forma como tratei o assunto
não é de forma alguma
matematicamente rigoroso.

Polish: 
Druga rzecz, na którą chciałbym zwrócić uwagę to fakt, że w praktyce od tych właściwości zazwyczaj możemy
oczekiwać, że spełnią swoje zadanie, ale nie mamy na to gwarancji.
Możliwe jest zaprojektowanie funkcji skrótu, po której spodziewamy się, że
jest całkowicie odporna na kolizje, ale za jakiś czas może zjawić się ktoś, kto wpadnie na lepszy pomysł
radzenia sobie z kolizjami. Być może wynajdzie on doskonały sposób,
który nie wymaga wielkich nakładów pracy.
Jak się okazuje kryptografowie obecnie nie dysponują żadnymi
matematycznymi technikami, które pozwoliłyby przezwyciężyć niektóre z tych ograniczeń.
Często zakładamy, że jakieś systemy są bezpieczne, na podstawie tego jak długo są w użyciu.
Chciałbym zaznaczyć, że sposób w jaki Wam przedstawiłem niniejszy temat
krótko mówiąc nie jest matematycznie precyzyjny.

Japanese: 
また数学的に完璧に見えても
現実世界で常にそれが保証されるわけではありません
衝突困難性において完璧なハッシュ関数を作ることは
できるかもしれません
しかし例えば1年後
誰かがそれを覆さないとは言えないのです
総当り以外のエレガントな方法で
衝突を探し出すことができるようになるかもしれないのです
今のところそうした数学的テクニックは
見つかっていません
暗号学的ハッシュ関数の制限は
今のところ回避できないのです
そういうわけで今のところは
「総当りでどれくらい時間がかかるか」が指標となっています
最後に これらの説明は常に数学的に
厳密というわけでもないのです

Thai: 
ให้ถูกต้องกว่านี้ได้
แต่ผมหวังว่า
วิดีโอนี้จะทำให้คุณได้ลิ้มรส
ว่า cryptographic hash function
ต้องเป็นอย่างไร
โดยไม่ต้องปวดหัวกับรายละเอียด
และความเป็นทางการของคณิตศาสตร์มากนัก

Czech: 
Existují způsoby, kterými lze popsat 
uvedené základní vlastnosti mnohem přesněji.
Cílem této lekce bylo především 
podat základní přehled o tom,
jaké vlastnosti mají 
kryptografické hašovací funkce,
aniž bychom zabředli do složitých 
matematických vzorečků a formalismů.

English: 
these underlying properties,
but my hope, instead, is that
this video gives you,
maybe, a bit of a flavor
for what is required of a
cryptographic hash function
without maybe getting
bogged down in some of the
mathematical minutia and formalism.

Polish: 
Istnieje wiele bardziej szczegółowych sposobów na opisanie tych podstawowych właściwości.
Mam jednak nadzieję, że ten filmik przybliżył Wam nieco tajemnice
kryptograficznych funkcji skrótu bez zagłębiania się w matematyczne szczegóły.

Japanese: 
もっと正確に説明する方法もあります
まずこの動画で暗号学的ハッシュ関数の
エッセンスをつかんでください

Portuguese: 
Existem métodos muito mais precisos
de descrever essas propriedades.
Mas eu espero que esse vídeo
talvez te dê uma noção geral
do que é necessário a uma função
criptográfica de hash
sem ficar chato entrando em
detalhes formais matemáticos.
[Legendado por Alberto Oliveira]
