SlideShare ist ein Scribd-Unternehmen logo
1 von 79
Downloaden Sie, um offline zu lesen
Cryptography: way to Arkham
Andrii Savchenko
Crypto primitives
One-way hash functions
Symmetric encryption
Asymmetric encryption
PRNGs
Boring large prime number math
(MOST COMMONLY USED) CRYPTO PRIMITIVES
3
ONE WAY HASH FUNCTIONS
4
ONE WAY HASH FUNCTIONS – DUMMY EXAMPLE
5
D U C K
4 21 3 11
22450325
1 / 421311 = 0.000002373543534 = 34 = 22
2 / 421311 = 0.000004747087069 = 69 = 45
3 / 421311 = 0.000007120630603 = 03 = 03
4 / 421311 = 0.000009494174137 = 37 = 25
ONE WAY HASH FUNCTIONS – DUMMY EXAMPLE
6
F U C K
6 21 3 11
0C192531
1 / 621311 = 0.000001609499912 = 12 = 0C
2 / 621311 = 0.000003218999825 = 25 = 19
3 / 621311 = 0.000004828499737 = 37 = 25
4 / 621311 = 0.000006437999649 = 49 = 31
ONE WAY HASH FUNCTIONS – DUMMY EXAMPLE
7
DUCK = 22450325
FUCK = 0C192531
ONE WAY HASH FUNCTIONS – DUMMY EXAMPLE
8
ANDRII = 083B2712
ANDRIJ = 0E1C2A38
SHA
MD5
BLAKE
ONE WAY HASH FUNCTIONS – REAL WORLD
9
SYMMETRIC ENCRYPTION
10
Key: Joker
Phrase: Why so serious
SYMMETRIC ENCRYPTION – CHIFFRE DE VIGENÈRE
11
SYMMETRIC ENCRYPTION – CHIFFRE DE VIGENÈRE
12
whysoserious
jokerjokerjo
13
SYMMETRIC ENCRYPTION – CHIFFRE DE VIGENÈRE
14
whysoserious
jokerjokerjo
15
SYMMETRIC ENCRYPTION – CHIFFRE DE VIGENÈRE
16
whysoserious
jokerjokerjo
f
SYMMETRIC ENCRYPTION – CHIFFRE DE VIGENÈRE
17
whysoserious
jokerjokerjo
f
18
SYMMETRIC ENCRYPTION – CHIFFRE DE VIGENÈRE
19
whysoserious
jokerjokerjo
fv
SYMMETRIC ENCRYPTION – CHIFFRE DE VIGENÈRE
20
whysoserious
jokerjokerjo
fviwfbsbmfdg
AES
3DES
RC4
Blowfish
Salsa20
SYMMETRIC ENCRYPTION – REAL WORLD
21
ASYMMETRIC ENCRYPTION
22
Lets say, we have some magic public key and private key, for example:
ASYMMETRIC ENCRYPTION – SIMPLE RSA
23
Public key: 3
Private key: 7
Also, we need another magic number n, for example 33
ASYMMETRIC ENCRYPTION – SIMPLE RSA
24
25
So, Harley Quinn want to send message "14" to Joker, knowing only Joker's public key
ASYMMETRIC ENCRYPTION – SIMPLE RSA
26
Harley Quinn: encrypted = messagepublic mod n = 143 mod 33 = 5
Joker: encryptedprivate mod n = 57 mod 33 = 14
ASYMMETRIC ENCRYPTION – SIMPLE RSA
27
Batman want to know what Harley sent to Joker, but only knows the public key 3, message 5 and
magic number 33, but have no possibility to decipher message without private key 7
ASYMMETRIC ENCRYPTION – SIMPLE RSA
28
Not every 3 numbers may give you expected result
PROBLEM 1
29
Choose two prime numbers: p and q (in this example: p = 11, q = 3)
Get magic number n = p * q = 33
Get Euler's phi = (p - 1) * (q - 1) = 10 * 2 = 20
Choose public key which should be coprime with phi, p-1 and q-1 and satisfy 1 < public < phi
Find private key where phi divides public * private - 1 (3 * 7 - 1 = 20, 20 / 20 = 1, private = 7)
You are all done! Easy-peasy! Enjoy your public key encryption
GETTING KEY PAIR
30
message could not be bigger or equal than n
PROBLEM 2
31
Well, latin alphabet is only 25, let's write small Ruby script
PROBLEM 2
32
33
PUB = 3
PRIV = 7
N = 33
DICT = { 'a' => 1, 'b' => 2, 'c' => 3, ... }
RDICT = DICT.invert
def encrypt(message)
message.each_char.map { |letter| DICT[letter] ** PUB % N }
end
def decrypt(array)
array.inject('') { |message, letter| message += RDICT[letter ** PRIV % N] }
end
encrypted = encrypt('batman') # => [8, 1, 14, 19, 1, 5]
decrypt('encrypted') # => 'batman'
Protocols
Protocol, basically, is a set of crypto primitives
PROTOCOLS
35
TLS
IPSec
oAuth
SSH
100500 more…
PROTOCOLS
36
Implementing crypto protocols
Good mathematicians often makes very bad code
Partial implementations
Incorrect implementations
Outdated protocol versions or crypto primitives
Abandoned projects
Absence of implementation
Fun
WHY?
38
PROBLEMS
39
HTTPS://VIMEO.COM/52882780
40
41
Secure Remote Password protocol
42
RFC2945
43
44
RFC2945
RFC2945
45
RFC2945
46
47
48
49
50
51
S = (B - kg^x) ^ (a + ux)
52
S = ((B - kg^x) ^ (a + ux)) mod N
53
S = ((B - kg^x) mod N ^ (a + ux) mod N) mod N
54
S = ((B - kg^x mod N) mod N ^ (a + ux mod N) mod N) mod N
55
56
B = k * v + ((g ** b) % N)
57
B = k * v + ((g ** b) mod N)
58
B / k = v + I
59
B = k * v + ((g ** b) mod N) mod N
60
61
62
One possible way
63
One possible way
64
One possible way
65
One possible way
66
One possible way
67
M = H(A | B | S)
M = H(A | B || K)
M = H(H(N) xor H(g) | H(I) | s | A | B | K)
68
H(A | M | S)
H(A | M | K)
69
70
71
One possible way
72
73
x = H(s | p)
x = H(s | H(I) | H(p))
x = H(s | H(I | ":" | p))
x = KDF(s, p)
UTF-8
Binary values representation
Implementation incompatibilities
Ruby limitations
BONUS
74
75
> 3 ** 7 % 33
=> 9
> 3 ** 1234567890 % 33
(pry):62: warning: in a**b, b may be too big
=> NaN
76
> require 'openssl'
=> true
> 3.to_bn.mod_exp(1234567890, 33).to_i
=> 12
77
Thank you for attention!
https://github.com/esrp/ruby
Andrii Savchenko
@ptico
andrii@aejis.eu
@ptico
My contacts

Weitere ähnliche Inhalte

Was ist angesagt?

Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithms
Aakash deep Singhal
 

Was ist angesagt? (20)

Tic tac toe game with graphics presentation
Tic  tac  toe game with graphics presentationTic  tac  toe game with graphics presentation
Tic tac toe game with graphics presentation
 
bask, bfsk, bpsk
bask, bfsk, bpskbask, bfsk, bpsk
bask, bfsk, bpsk
 
Complex Integral
Complex IntegralComplex Integral
Complex Integral
 
LAB 4.docx
LAB 4.docxLAB 4.docx
LAB 4.docx
 
Cryptography - key sharing - RSA
Cryptography - key sharing - RSACryptography - key sharing - RSA
Cryptography - key sharing - RSA
 
Sketching derivatives
Sketching derivativesSketching derivatives
Sketching derivatives
 
C programming on the determination of shear force, bending moment, shear stre...
C programming on the determination of shear force, bending moment, shear stre...C programming on the determination of shear force, bending moment, shear stre...
C programming on the determination of shear force, bending moment, shear stre...
 
Bellman Ford Routing Algorithm-Computer Networks
Bellman Ford Routing Algorithm-Computer NetworksBellman Ford Routing Algorithm-Computer Networks
Bellman Ford Routing Algorithm-Computer Networks
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithms
 
Introduction to Integral calculus
Introduction to Integral calculusIntroduction to Integral calculus
Introduction to Integral calculus
 
Conformal mapping
Conformal mappingConformal mapping
Conformal mapping
 
Jawaban 1
Jawaban 1Jawaban 1
Jawaban 1
 
Jawaban
JawabanJawaban
Jawaban
 
Area de un triangulo
Area de un trianguloArea de un triangulo
Area de un triangulo
 
Presentation on Logic Fundamental by Anupam
Presentation on Logic Fundamental by AnupamPresentation on Logic Fundamental by Anupam
Presentation on Logic Fundamental by Anupam
 
Rsa
RsaRsa
Rsa
 
Intersection Study - Algorithm(Search)
Intersection Study - Algorithm(Search)Intersection Study - Algorithm(Search)
Intersection Study - Algorithm(Search)
 
Artificial Intelligence- TicTacToe game
Artificial Intelligence- TicTacToe gameArtificial Intelligence- TicTacToe game
Artificial Intelligence- TicTacToe game
 
oop Lecture 4
oop Lecture 4oop Lecture 4
oop Lecture 4
 
Ludo game using c++ with documentation
Ludo game using c++ with documentation Ludo game using c++ with documentation
Ludo game using c++ with documentation
 

Ähnlich wie Cryptography: way to Arkham - Andriy Savchenko

Demystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptx
RedWhite12
 
HW 5-RSAascii2str.mfunction str = ascii2str(ascii) .docx
HW 5-RSAascii2str.mfunction str = ascii2str(ascii)        .docxHW 5-RSAascii2str.mfunction str = ascii2str(ascii)        .docx
HW 5-RSAascii2str.mfunction str = ascii2str(ascii) .docx
wellesleyterresa
 
Image Cryptography and Steganography
Image Cryptography and SteganographyImage Cryptography and Steganography
Image Cryptography and Steganography
Mohammad Amin Amjadi
 

Ähnlich wie Cryptography: way to Arkham - Andriy Savchenko (20)

Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
 
Demystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptx
 
Basics of Cryptography
Basics of CryptographyBasics of Cryptography
Basics of Cryptography
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...
 
HW 5-RSAascii2str.mfunction str = ascii2str(ascii) .docx
HW 5-RSAascii2str.mfunction str = ascii2str(ascii)        .docxHW 5-RSAascii2str.mfunction str = ascii2str(ascii)        .docx
HW 5-RSAascii2str.mfunction str = ascii2str(ascii) .docx
 
Image Cryptography and Steganography
Image Cryptography and SteganographyImage Cryptography and Steganography
Image Cryptography and Steganography
 
Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in BlockchainBlockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
 
Everything I always wanted to know about crypto, but never thought I'd unders...
Everything I always wanted to know about crypto, but never thought I'd unders...Everything I always wanted to know about crypto, but never thought I'd unders...
Everything I always wanted to know about crypto, but never thought I'd unders...
 
Sasha Romijn - Everything I always wanted to know about crypto, but never tho...
Sasha Romijn - Everything I always wanted to know about crypto, but never tho...Sasha Romijn - Everything I always wanted to know about crypto, but never tho...
Sasha Romijn - Everything I always wanted to know about crypto, but never tho...
 
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
 
Computing on Encrypted Data
Computing on Encrypted DataComputing on Encrypted Data
Computing on Encrypted Data
 
Elliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proofElliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proof
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge Proof
 
Assignment6
Assignment6Assignment6
Assignment6
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
DLD BOOLEAN EXPRESSIONS
DLD BOOLEAN EXPRESSIONSDLD BOOLEAN EXPRESSIONS
DLD BOOLEAN EXPRESSIONS
 
LCS35
LCS35LCS35
LCS35
 
Week5 ap3421 2019_part1
Week5 ap3421 2019_part1Week5 ap3421 2019_part1
Week5 ap3421 2019_part1
 

Mehr von Ruby Meditation

Mehr von Ruby Meditation (20)

Is this Legacy or Revenant Code? - Sergey Sergyenko | Ruby Meditation 30
Is this Legacy or Revenant Code? - Sergey Sergyenko  | Ruby Meditation 30Is this Legacy or Revenant Code? - Sergey Sergyenko  | Ruby Meditation 30
Is this Legacy or Revenant Code? - Sergey Sergyenko | Ruby Meditation 30
 
Life with GraphQL API: good practices and unresolved issues - Roman Dubrovsky...
Life with GraphQL API: good practices and unresolved issues - Roman Dubrovsky...Life with GraphQL API: good practices and unresolved issues - Roman Dubrovsky...
Life with GraphQL API: good practices and unresolved issues - Roman Dubrovsky...
 
Where is your license, dude? - Viacheslav Miroshnychenko | Ruby Meditation 29
Where is your license, dude? - Viacheslav Miroshnychenko | Ruby Meditation 29Where is your license, dude? - Viacheslav Miroshnychenko | Ruby Meditation 29
Where is your license, dude? - Viacheslav Miroshnychenko | Ruby Meditation 29
 
Dry-validation update. Dry-validation vs Dry-schema 1.0 - Aleksandra Stolyar ...
Dry-validation update. Dry-validation vs Dry-schema 1.0 - Aleksandra Stolyar ...Dry-validation update. Dry-validation vs Dry-schema 1.0 - Aleksandra Stolyar ...
Dry-validation update. Dry-validation vs Dry-schema 1.0 - Aleksandra Stolyar ...
 
How to cook Rabbit on Production - Bohdan Parshentsev | Ruby Meditation 28
How to cook Rabbit on Production - Bohdan Parshentsev | Ruby Meditation 28 How to cook Rabbit on Production - Bohdan Parshentsev | Ruby Meditation 28
How to cook Rabbit on Production - Bohdan Parshentsev | Ruby Meditation 28
 
How to cook Rabbit on Production - Serhiy Nazarov | Ruby Meditation 28
How to cook Rabbit on Production - Serhiy Nazarov | Ruby Meditation 28How to cook Rabbit on Production - Serhiy Nazarov | Ruby Meditation 28
How to cook Rabbit on Production - Serhiy Nazarov | Ruby Meditation 28
 
Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...
Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...
Reinventing the wheel - why do it and how to feel good about it - Julik Tarkh...
 
Performance Optimization 101 for Ruby developers - Nihad Abbasov (ENG) | Ruby...
Performance Optimization 101 for Ruby developers - Nihad Abbasov (ENG) | Ruby...Performance Optimization 101 for Ruby developers - Nihad Abbasov (ENG) | Ruby...
Performance Optimization 101 for Ruby developers - Nihad Abbasov (ENG) | Ruby...
 
Use cases for Serverless Technologies - Ruslan Tolstov (RUS) | Ruby Meditatio...
Use cases for Serverless Technologies - Ruslan Tolstov (RUS) | Ruby Meditatio...Use cases for Serverless Technologies - Ruslan Tolstov (RUS) | Ruby Meditatio...
Use cases for Serverless Technologies - Ruslan Tolstov (RUS) | Ruby Meditatio...
 
The Trailblazer Ride from the If Jungle into a Civilised Railway Station - Or...
The Trailblazer Ride from the If Jungle into a Civilised Railway Station - Or...The Trailblazer Ride from the If Jungle into a Civilised Railway Station - Or...
The Trailblazer Ride from the If Jungle into a Civilised Railway Station - Or...
 
What/How to do with GraphQL? - Valentyn Ostakh (ENG) | Ruby Meditation 27
What/How to do with GraphQL? - Valentyn Ostakh (ENG) | Ruby Meditation 27What/How to do with GraphQL? - Valentyn Ostakh (ENG) | Ruby Meditation 27
What/How to do with GraphQL? - Valentyn Ostakh (ENG) | Ruby Meditation 27
 
New features in Rails 6 - Nihad Abbasov (RUS) | Ruby Meditation 26
New features in Rails 6 -  Nihad Abbasov (RUS) | Ruby Meditation 26New features in Rails 6 -  Nihad Abbasov (RUS) | Ruby Meditation 26
New features in Rails 6 - Nihad Abbasov (RUS) | Ruby Meditation 26
 
Security Scanning Overview - Tetiana Chupryna (RUS) | Ruby Meditation 26
Security Scanning Overview - Tetiana Chupryna (RUS) | Ruby Meditation 26Security Scanning Overview - Tetiana Chupryna (RUS) | Ruby Meditation 26
Security Scanning Overview - Tetiana Chupryna (RUS) | Ruby Meditation 26
 
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
Teach your application eloquence. Logs, metrics, traces - Dmytro Shapovalov (...
 
Best practices. Exploring - Ike Kurghinyan (RUS) | Ruby Meditation 26
Best practices. Exploring - Ike Kurghinyan (RUS) | Ruby Meditation 26Best practices. Exploring - Ike Kurghinyan (RUS) | Ruby Meditation 26
Best practices. Exploring - Ike Kurghinyan (RUS) | Ruby Meditation 26
 
Road to A/B testing - Alexey Vasiliev (ENG) | Ruby Meditation 25
Road to A/B testing - Alexey Vasiliev (ENG) | Ruby Meditation 25Road to A/B testing - Alexey Vasiliev (ENG) | Ruby Meditation 25
Road to A/B testing - Alexey Vasiliev (ENG) | Ruby Meditation 25
 
Concurrency in production. Real life example - Dmytro Herasymuk | Ruby Medita...
Concurrency in production. Real life example - Dmytro Herasymuk | Ruby Medita...Concurrency in production. Real life example - Dmytro Herasymuk | Ruby Medita...
Concurrency in production. Real life example - Dmytro Herasymuk | Ruby Medita...
 
Data encryption for Ruby web applications - Dmytro Shapovalov (RUS) | Ruby Me...
Data encryption for Ruby web applications - Dmytro Shapovalov (RUS) | Ruby Me...Data encryption for Ruby web applications - Dmytro Shapovalov (RUS) | Ruby Me...
Data encryption for Ruby web applications - Dmytro Shapovalov (RUS) | Ruby Me...
 
Rails App performance at the limit - Bogdan Gusiev
Rails App performance at the limit - Bogdan GusievRails App performance at the limit - Bogdan Gusiev
Rails App performance at the limit - Bogdan Gusiev
 
GDPR. Next Y2K in 2018? - Anton Tkachov | Ruby Meditation #23
GDPR. Next Y2K in 2018? - Anton Tkachov | Ruby Meditation #23GDPR. Next Y2K in 2018? - Anton Tkachov | Ruby Meditation #23
GDPR. Next Y2K in 2018? - Anton Tkachov | Ruby Meditation #23
 

Kürzlich hochgeladen

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Kürzlich hochgeladen (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Cryptography: way to Arkham - Andriy Savchenko