Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Criptografia para Leigos
Search
Dann Luciano
September 17, 2016
Programming
0
61
Criptografia para Leigos
Palestra apresentada no Software Freedom Day 2016 em Teresina-PI-BR
Dann Luciano
September 17, 2016
Tweet
Share
More Decks by Dann Luciano
See All by Dann Luciano
Criando Sistemas de Autenticação Seguros
dannluciano
0
230
Python Cryptography
dannluciano
2
140
Criptografando seu Banco de Dados
dannluciano
1
70
Other Decks in Programming
See All in Programming
AIで開発生産性を上げる個人とチームの取り組み
taniigo
0
130
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.8k
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
870
CSC509 Lecture 02
javiergs
PRO
0
400
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.2k
iOSDC.pdf
chronos2500
2
640
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
150
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.4k
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
2
1.3k
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
690
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
0
120
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
460k
Site-Speed That Sticks
csswizardry
11
870
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
KATA
mclloyd
32
14k
Documentation Writing (for coders)
carmenintech
75
5k
Visualization
eitanlees
148
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
How STYLIGHT went responsive
nonsquared
100
5.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Building an army of robots
kneath
306
46k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
For a Future-Friendly Web
brad_frost
180
9.9k
Transcript
Criptografia Para Leigos por Dann Luciano 1
2
25 Gigabytes de Dados 30 Milhões de Contas Ashley Madison
https://www.theguardian.com/ 3
4
68 Milhões de Senhas Dropbox https://www.theguardian.com/ 5
Dann Luciano 6
7
Criptografia O que é? 8
9 “Au!g64dhsUI#4&(*a” “Software Freedom Day 2016”
❤ 10 “Software Freedom Day 2016”
Objetivos 11
I. Confidencialidade 12
II. Integridade 13
III. Autenticação 14
Conceitos 15
Texto Claro (P) “Software Freedom Day 2016” 16
Texto Cifrado (C) 17
Criptografar (E) “Software Freedom Day 2016” ⊗ 18
Descriptografar (D) ⊗ “Software Freedom Day 2016” 19
Chave (K) ❤ 20
E(P, K) = C D(C, K) = P
Fundamentos da Criptografia 22
XOR Ou Exclusivo 23
XOR P K XOR(P, K) = C XOR(C, K) =
P 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 1
XOR A xor B = B xor A A xor
A = 0 A xor 0 = A
XOR
Hash MD5, SHA1, SHA256
Hash • Propriedades Impossíveis/Difíceis: 1. Modificar uma Mensagem sem mudar
o Hash 2. Gerar uma Mensagem a partir de um Hash 3. Encontrar duas Mensagens com o mesmo Hash
Hash != Criptografia
Rainbow Tables
Senha MD5 password 5f4dcc3b5aa765d61d8327deb882cf99 p4ssw0rd 2a9d119df47ff993b662a8ef36f9ea20 12345678 25d55ad283aa400af464c76d713c07ad … …
NÃO Use MD5/SHA1 para Senhas
Criptografia Hash
Geradores de Números Aleatórios 34
Geradores de Números Aleatórios • Geradores de Números Aleatórios •
Geradores de Números Pseudo-Aleatórios Seguros • Geradores de Números Pseudo-Aleatórios
Finalizando
Criptografia é Difícil
Criptografia é Compreensível
Dicas
Use HTTPS 40
https://www.eff.org/https-everywhere
Use FERNET Nos Dados
https://github.com/fernet/spec/
Use Scrypt/Bcrypt Nas Senhas
https://www.tarsnap.com/scrypt.html
Próximos Passos 46
https://codemoji.org/ 47
http://cartilha.cert.br/criptografia/ 48
https://crypto101.io/ 49
Muito Obrigado! 50 ? https://speakerdeck.com/dannluciano
[email protected]