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
56
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
220
Python Cryptography
dannluciano
2
130
Criptografando seu Banco de Dados
dannluciano
1
65
Other Decks in Programming
See All in Programming
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
140
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Jakarta EE meets AI
ivargrimstad
0
260
return文におけるstd::moveについて
onihusube
1
1.1k
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
testcontainers のススメ
sgash708
1
120
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
500
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
390
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Site-Speed That Sticks
csswizardry
2
190
It's Worth the Effort
3n
183
28k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
Building an army of robots
kneath
302
44k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
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]