SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Modular arithmetic and trap door ciphers

                                   Joshua Holden

                          Rose-Hulman Institute of Technology
                       http://www.rose-hulman.edu/~holden




Joshua Holden (RHIT)         Modular arithmetic and trap door ciphers   1 / 41
RSA Setup



Ronald Rivest, Adi Shamir, Leonard Adleman, 1977.
    Pick two primes p and q.
    Compute n = pq.
    Pick encryption exponent e such that e and (p − 1)(q − 1) don’t
    have any common prime factors.
    Make n and e public. Keep p and q private.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers    2 / 41
RSA Setup: Example




   p = 53
   q = 71
   n = pq = 3763
   (p − 1)(q − 1) = 23 · 5 · 7 · 13
   e = 27 = 33
   e and (p − 1)(q − 1) don’t have any common prime factors




  Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   3 / 41
RSA Setup: PGP public key block


From holden@math.duke.edu Thu Feb 8 14:07:19 2001
Date: Thu, 8 Feb 2001 14:07:18 -0500
X-Authentication-Warning: hamburg.math.duke.edu: holden set sender to holden@hamburg.math.duke.edu
From: Joshua Holden To: holden@math.duke.edu
Subject: message with PGP block

Here is my PGP block: now you can send me messages!

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2
Comment: Processed by Mailcrypt 3.5.5, an Emacs/PGP interface

mQCNAznRHaMAAAEEAPix/FD/jF/ixMvd9aIjhZ/K6o2kv/TaGAVkeIG5VZ48jzIa
NTqX1EKDw6aABUiQApqavOaQuiLbi/Ez9HXX9LfcTdcp8u94BKGgmEy6Jv1za08I
2YVL1kUJso6lauryr3Sc8wiQTwx3imohM4ai/1dVuq4Qp2WCBSRdyaafdchdAAUR
tC9Kb3NodWEgSG9sZGVuICgxMDI0IGJpdCkgPGhvbGRlbkBtYXRoLmR1a2UuZWR1
Pg==
=VgE9
-----END PGP PUBLIC KEY BLOCK-----




     Joshua Holden (RHIT)       Modular arithmetic and trap door ciphers                    4 / 41
Modular Arithmetic


Karl Friedrich Gauss, 1801.
    Modular Arithmetic = “Wrap-around” computations
Example: Start at 12 o’clock. 5 hours plus 8 hours equals 1 o’clock.

                          5 + 8 ≡ 1 (mod 12)
Example: Start at 12 o’clock. 11 hours times 5 equals 7 o’clock.

                          11 · 5 ≡ 7            (mod 12)




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers     5 / 41
RSA Encryption




Anyone can encrypt, because n and e are public.
    To encrypt, convert your message into a set of plaintext numbers
    P, each less than n.
    For each P, compute C ≡ P e (mod n).
    The numbers C are your ciphertext.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   6 / 41
RSA Encryption: Example


Send the message “cats and dogs”:
    ca ts an dd og sx
    0200 1918 0013 0303 1406 1823
    200e ≡ 12 (mod n)
    1918e ≡ 1918 (mod n)
    13e ≡ 1550 (mod n)
    303e ≡ 3483 (mod n)
    1406e ≡ 2042 (mod n)
    1823e ≡ 2735 (mod n)




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   7 / 41
RSA Encryption: PGP message



From holden@math.duke.edu Thu Feb 8 14:09:25 2001
Date: Thu, 8 Feb 2001 14:09:24 -0500
X-Authentication-Warning: hamburg.math.duke.edu: holden set sender to holden@hamburg.math.duke.edu
From: Joshua Holden To: holden@math.duke.edu
Subject: This message is encrypted

-----BEGIN PGP MESSAGE-----
Version: 2.6.2
Comment: Processed by Mailcrypt 3.5.5, an Emacs/PGP interface

hIwDJF3Jpp91yF0BBAC6gnKTMhGWg9hUELd7WfJgUn7OqObCNmvm9V8ff+tyq0re
nSQqCYw784CAkm5gaUtJ0AW4go2pDyI2hm5ocoVfMeBOJpKeckSchncV9zHSH2zx
jBM8W0NYPAaa7AHFisz19rqxkkt1aQ4W49i7LUxq6rXheoSPMMcHbHyBa/mQEaYA
AABEmtEXwkUSMOh+x4dSM/6ZUswVZznmei9TOw+md8OM+LiOSakw91GT431tJPAN
c44q+q2Yq8ehykaz0sV4fXscPy2H9A0=
=v1z0
-----END PGP MESSAGE-----




     Joshua Holden (RHIT)       Modular arithmetic and trap door ciphers                    8 / 41
Trap Door




Leonhard Euler, 1736.
    Let φ(n) be the number of positive integers less than or equal to n
    which don’t have any common factors with n.
Example: If n = 15, then the positive integers less than or equal to n
which don’t have any common factors with n are 1, 2, 4, 7, 8, 11, 13,
14. So φ(15) = 8.




    Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers      9 / 41
Trap Door: RSA



In the RSA system n = pq, so φ(n) is the number of positive integers
less than or equal to n which don’t have p or q as a factor.
    How many positive integers less than or equal to n do have p as a
    factor? p, 2p, 3p, . . . , n = qp so there are q of them.
    Similarly, there are p positive integers less than or equal to n with
    q as a factor.
    Only one positive integer less than or equal to n has both p and q
    as factors, namely n = pq. So we should only count this once.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers     10 / 41
Trap Door: Formula




   Therefore,

           φ(n) = n − p − q + 1 = pq − p − q + 1 = (p − 1)(q − 1).

   This is private! You can’t calculate it without knowing p and q.
   Why is this useful?




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers    11 / 41
Euler’s Theorem


Euler’s Theorem: If x is an integer which has no common prime factors
with n, then
                          x φ(n) ≡ 1 (mod n).

    Why is Euler’s Theorem true?
    Two versions of the answer: Number Theory and Group Theory
Number Theory idea: We consider the positive integers less than or
equal to n which don’t have any common factors with n, and multiply
each of them by x modulo n. Compare them to the same integers
without multiplying by x.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   12 / 41
Euler’s Theorem: Example (I)

   For n = 15, consider

                      x, 2x, 4x, 7x, 8x, 11x, 13x, 14x                       (mod 15),

   and compare them to 1, 2, 4, 7, 8, 11, 13, 14.
   If we multiply all of the first set we get

                          x 8 · 1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 (mod 15)

   and if we multiply all of the second set we get

                           1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 (mod 15).

   What if we do all of this for x = 11?


   Joshua Holden (RHIT)           Modular arithmetic and trap door ciphers               13 / 41
Euler’s Theorem: Example (II)


The first set will be:
    1 · 11 ≡ 11 (mod 15)
    2 · 11 ≡ 7 (mod 15)
    4 · 11 ≡ 14 (mod 15)
    7 · 11 ≡ 2 (mod 15)
    8 · 11 ≡ 13 (mod 15)
    11 · 11 ≡ 1 (mod 15)
    13 · 11 ≡ 8 (mod 15)
    14 · 11 ≡ 4 (mod 15)




    Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   14 / 41
Euler’s Theorem: Example (III)



   The first set is the same as the second set, only in a different
   order!
   In fact, this always happens.
   So

   x 8 · 1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 ≡ 1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 (mod 15)

   or
                                  x8 ≡ 1          (mod 15).




   Joshua Holden (RHIT)    Modular arithmetic and trap door ciphers              15 / 41
Cayley diagram

Arthur Cayley, 1878.
 89:;
 ?>=< o           ¢¾                               89:;
                                                   ?>=<
     _??                                          ? O
        ??                                      
          ??¢½                           ¢½ 
            ??                                
              ??                            
                ?                       
                 89:;
                 ?= o              89:;
                                     ?=
                                      ½½
                            ¢¾         O

                                                              Group Theory idea: We make
¢¾                  ¢¾             ¢¾                  ¢¾     a Cayley diagram for the num-
                                                              bers less than n.
                   
                89:;
                ?=        ¢¾      / ?=
                                      89:;
                 ?½                    ½¿ _?
                                            ??
                                            ??
                                              ??
           
          ¢½                            ¢½ ????
                                                
 89:;
 ?=
  ½                                                / ?=
                                                     89:;
                                                       ¾
                            ¢¾

     Joshua Holden (RHIT)        Modular arithmetic and trap door ciphers               16 / 41
Cayley diagram: Example (II)




    Say x = 11. Follow the arrows from 1 to 11. This is one x14 arrow
    and two x2 arrows. If you do this 7 more times, you will be
    following a total of eight x14 arrows and sixteen x2 arrows, and
    you should end up at 11 to the eighth. However, eight x14 arrows
    and sixteen x2 arrows clearly ends you up back where you started!
    (Note that it doesn’t matter in what order you follow the arrows....)
So how do we use Euler’s Theorem as a trap door?




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers    17 / 41
RSA: One More Piece



    We need one more piece of (private) information.

Euclid, about 300 B.C.E.

Theorem If a and b don’t have any common prime factors, then there
are integers c and d such that

                                  ac + bd = 1.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   18 / 41
Euclidean Algorithm


   Since we picked e such that e and (p − 1)(q − 1) don’t have any
   common prime factors, then there are integers c and d such that

                           (p − 1)(q − 1)c + ed = 1

   or
                                   φ(n)c + ed = 1.
   Euclid also tells us how to find c and d, using the Euclidean
   Algorithm.
   Once we have found the decryption exponent d, which is private,
   we can decrypt.



   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   19 / 41
RSA Decryption



For each C, compute C d (mod n).
    What will this give you?
    We know C ≡ P e (mod n), although we don’t yet know what P is.
    So

            C d ≡ (P e )d ≡ P ed ≡ P 1−φ(n)c ≡ P(P φ(n) )−c           (mod n).

    But P φ(n) ≡ 1 (mod n) by Euler’s Theorem!
    So C d ≡ P (mod n) and we get our original plaintext back.




   Joshua Holden (RHIT)    Modular arithmetic and trap door ciphers              20 / 41
RSA Decryption: Example (I)



   p = 53
   q = 71
   (p − 1)(q − 1) = 3640
   e = 27
   The Euclidean Algorithm tells us

                          16(p − 1)(q − 1) − 2157e = 1.

   d = −2157




   Joshua Holden (RHIT)    Modular arithmetic and trap door ciphers   21 / 41
RSA Decryption: Example (II)


    12d ≡ 200 (mod n)
    1918d ≡ 1918 (mod n)
    1550d ≡ 13 (mod n)
    3483d ≡ 303 (mod n)
    2042d ≡ 1406 (mod n)
    2735d ≡ 1823 (mod n)
    0200 1918 0013 0303 1406 1823
    ca ts an dd og sx
“cats and dogs”



   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   22 / 41
Breaking RSA: Factoring



So why do we think RSA is secure?
    As far as we know, the only way to break RSA is to find p and q by
    factoring n. The fastest known factoring algorithm takes
    something about like
                                           1/3 (log(log n))2/3
                                e(log n)

    time units to factor n. (The size of the time unit depends on things
    like how fast the computer is!)




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   23 / 41
Breaking RSA: Fast computers



For the fastest single computer in 2006, it would probably take about 1
billion years to factor a number with 300 decimal digits. However, with
networked computers, a large company might be able to improve this
by a factor of as much as 1 million.

(More technically, it is estimated that factoring a number with 300
decimal digits would take about 1011 MIPS-years. 1 MIPS-year is a
million-instructions-per-second processor running for one year. A
1-GHz Pentium is about a 250-MIPS machine.)




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers    24 / 41
Breaking RSA: Factoring vs. Setup




On the other hand, finding p and q and multiplying them together is
very fast. Finding a number p which is (probably) prime takes about
100(log p)4 time units. This looks large, but it isn’t really; for a 300-digit
number this should only take a few minutes. (Multiplying p and q
together is even faster.)




    Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers        25 / 41
Breaking RSA: A Graph



                  exp(ln(n)^(1/3)*ln(ln(n))^(2/3))

                                 100*ln(n)^4



                                                             At some size of n it will always
                                                             be easier to make the cipher
                                                             than to break it!




  Joshua Holden (RHIT)           Modular arithmetic and trap door ciphers                 26 / 41
RSA Digital Signatures




As a bonus, RSA gives us a way to digitally “sign” messages, thereby
proving who wrote them. This uses the same public n and e and
private d as before.
    For each plaintext P, compute S ≡ P d (mod n).
    The numbers S are your signed message.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   27 / 41
RSA Digital Signatures: Example


Sign the message “cats and dogs”:
    ca ts an dd og sx
    0200 1918 0013 0303 1406 1823
    200d ≡ 648 (mod n)
    1918d ≡ 1918 (mod n)
    13d ≡ 914 (mod n)
    303d ≡ 1946 (mod n)
    1406d ≡ 664 (mod n)
    1823d ≡ 2735 (mod n)




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   28 / 41
RSA Digital Signatures: PGP message


From holden@math.duke.edu Thu Feb 8 14:10:42 2001
Date: Thu, 8 Feb 2001 14:10:41 -0500
X-Authentication-Warning: hamburg.math.duke.edu: holden set sender to holden@hamburg.math.duke.edu
From: Joshua Holden To: holden@math.duke.edu
Subject: This message is signed but not encrypted

-----BEGIN PGP SIGNED MESSAGE-----

I’m signing this message so that you know it’s me!

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
Comment: Processed by Mailcrypt 3.5.5, an Emacs/PGP interface

iQCVAwUBOoLvKyRdyaafdchdAQELuQP+PBR2lY8rEPrgA4GzWQS/MbE4UDECkgBk
v+6Q/gAwrHzMwemXcZxKU1FGFClvfHxxyjoy8hJgYeLYiGvD+q11gtNGZtTdLzqh
xL/Bdw75fseFxal/32ZS45jMA3gA2220m70hkJg4EzyvlhDUdUI1SIQHn/V26H0g
I25VOm/Ib8s=
=CRW2
-----END PGP SIGNATURE-----




     Joshua Holden (RHIT)       Modular arithmetic and trap door ciphers                   29 / 41
Verifying the Signature



Since only you know the decryption exponent d, only you can sign a
message. Anyone you send it to can prove it was you by computing S e
(mod n) (since n and e are public) and getting back P de (mod n),
which we know is congruent to P.
    If this matches the P which you sent separately, then the message
    was correctly signed, so it must have come from someone who
    knows d.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   30 / 41
Verifying the Signature: Example


    648e ≡ 200 (mod n)
    1918e ≡ 1918 (mod n)
    914e ≡ 13 (mod n)
    1946e ≡ 303 (mod n)
    664e ≡ 1406 (mod n)
    2735e ≡ 1823 (mod n)
    0200 1918 0013 0303 1406 1823
    ca ts an dd og sx
“cats and dogs”



   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   31 / 41
Encrypting and Signing



One can even sign an encrypted message this way. Suppose Alice
wants to send Bob an encrypted message.
    She first encrypts with Bob’s public nB and eB .
    Secondly, she signs the message with her nA and private dA .
    Since her dA is different from Bob’s dB , they don’t cancel out.
    Then Bob can “unsign” the message with Alice’s public nA and eA .
    Finally, Bob decrypts the message with his nB and private dB !




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers     32 / 41
Encrypting and Signing: Example (I)
Alice:
    Private: pA = 53, qA = 71
    Public: nA = pA qA = 3763
    Public: eA = 27
    Private: dA = −2157 (same as before)
Bob:
    Private: pB = 41, qB = 67
    Public: nB = pB qB = 2747
    Private: (pB − 1)(qB − 1) = 24 · 3 · 5 · 11
    Public: eB = 49 = 72
    Private: The Euclidean Algorithm tells Bob
                           8(pB − 1)(qB − 1) − 431eB = 1.
    Private: db − −431
    Joshua Holden (RHIT)     Modular arithmetic and trap door ciphers   33 / 41
Encrypting and Signing: Example (II)


Alice encrypts the message with Bob’s public information:
    ca ts an dd og sx
    0200 1918 0013 0303 1406 1823
    200eB ≡ 2411 (mod nB )
    1918eB ≡ 1836 (mod nB )
    13eB ≡ 1401 (mod nB )
    303eB ≡ 2314 (mod nB )
    1406eB ≡ 2143 (mod nB )
    1823eB ≡ 1154 (mod nB )




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   34 / 41
Encrypting and Signing: Example (III)



Alice signs the message with her private information and send the
result to Bob:
    2411dA ≡ 2041 (mod nA )
    1836dA ≡ 814 (mod nA )
    1401dA ≡ 1249 (mod nA )
    2314dA ≡ 1396 (mod nA )
    2143dA ≡ 772 (mod nA )
    1154dA ≡ 3139 (mod nA )




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   35 / 41
Encrypting and Signing: Example (IV)



Bob “unsigns” the message using Alice’s public information:
    2041eA ≡ 2411 (mod nA )
    814eA ≡ 1836 (mod nA )
    1249eA ≡ 1401 (mod nA )
    1396eA ≡ 2314 (mod nA )
    772eA ≡ 2143 (mod nA )
    3139eA ≡ 1154 (mod nA )




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   36 / 41
Encrypting and Signing: Example (V)


and then decrypts it using his private information:
    2411dB ≡ 200 (mod nB )
    1836dB ≡ 1918 (mod nB )
    1401dB ≡ 13 (mod nB )
    2314dB ≡ 303 (mod nB )
    2143dB ≡ 1406 (mod nB )
    1154dB ≡ 1823 (mod nB )
    0200 1918 0013 0303 1406 1823
    ca ts an dd og sx
“cats and dogs”



    Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   37 / 41
Attacks on RSA




Finding out someone’s private d is about as hard as factoring n. But
sometimes we can find out a particular message without breaking the
general code. Usually this is because e is too small — small e makes
the encrypting faster, but can weaken security.




   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   38 / 41
Small Message Attack (I)
    p = 53, q = 71
    n = pq = 3763
    e=3
“abaracadabara”
    ab ar ac ad ab ar ax
    0001 0017 0002 0003 0002 0017 0023
    1e ≡ 1 (mod n)
    17e ≡ 1150 (mod n)
    2e ≡ 8 (mod n)
    3e ≡ 27 (mod n)
    2e ≡ 8 (mod n)
    17e ≡ 1150 (mod n)
    23e ≡ 878 (mod n)
   Joshua Holden (RHIT)   Modular arithmetic and trap door ciphers   39 / 41
Small Message Attack (II)

But:
       √
       3
           1=1
       √
       3
           1150 = 10.4769
       √
       3
           8=2
       √
       3
           27 = 3
       √
       3
           8=2
       √
       3
           1150 = 10.4769
       √
       3
           878 = 9.5756
       0001 ???? 0002 0003 0002 ???? ????
       ab ?? ac ad ab ?? ??
An eavesdropper can recover most of the message!


   Joshua Holden (RHIT)     Modular arithmetic and trap door ciphers   40 / 41
HNAT SOFK LSIR EINT GZXN!




Joshua Holden (RHIT)      Modular arithmetic and trap door ciphers   41 / 41

Mais conteúdo relacionado

Mais procurados

Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cppAlamgir Hossain
 
Reed Solomon encoder and decoder \ ريد سلمون
Reed Solomon encoder and decoder \ ريد سلمونReed Solomon encoder and decoder \ ريد سلمون
Reed Solomon encoder and decoder \ ريد سلمونMuhammed Abdulmahdi
 
GATE Mathematics Paper-2000
GATE Mathematics Paper-2000GATE Mathematics Paper-2000
GATE Mathematics Paper-2000Dips Academy
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve CryptographyJorgeVillamarin5
 
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE ShivangiSingh241
 
4366 chapter7
4366 chapter74366 chapter7
4366 chapter7Sai Kumar
 
Elliptical curve cryptography
Elliptical curve cryptographyElliptical curve cryptography
Elliptical curve cryptographyBarani Tharan
 
Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010Felicia Fort, MBA
 
Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes acijjournal
 
Kolmogorov complexity and topological arguments
Kolmogorov complexity and topological argumentsKolmogorov complexity and topological arguments
Kolmogorov complexity and topological argumentsshenmontpellier
 
Crypto cs36 39
Crypto cs36 39Crypto cs36 39
Crypto cs36 39sravanbabu
 
Introduction to the AKS Primality Test
Introduction to the AKS Primality TestIntroduction to the AKS Primality Test
Introduction to the AKS Primality TestPranshu Bhatnagar
 
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 ProofArunanand Ta
 
Proof of Kraft-McMillan theorem
Proof of Kraft-McMillan theoremProof of Kraft-McMillan theorem
Proof of Kraft-McMillan theoremVu Hung Nguyen
 
Convolution and FFT
Convolution and FFTConvolution and FFT
Convolution and FFTChenghao Jin
 
Classical programming interview questions
Classical programming interview questionsClassical programming interview questions
Classical programming interview questionsGradeup
 

Mais procurados (20)

Computer graphics lab report with code in cpp
Computer graphics lab report with code in cppComputer graphics lab report with code in cpp
Computer graphics lab report with code in cpp
 
Reed Solomon encoder and decoder \ ريد سلمون
Reed Solomon encoder and decoder \ ريد سلمونReed Solomon encoder and decoder \ ريد سلمون
Reed Solomon encoder and decoder \ ريد سلمون
 
GATE Mathematics Paper-2000
GATE Mathematics Paper-2000GATE Mathematics Paper-2000
GATE Mathematics Paper-2000
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
DIGITAL COMMUNICATION: ENCODING AND DECODING OF CYCLIC CODE
 
IntrRSCode
IntrRSCodeIntrRSCode
IntrRSCode
 
4366 chapter7
4366 chapter74366 chapter7
4366 chapter7
 
Elliptical curve cryptography
Elliptical curve cryptographyElliptical curve cryptography
Elliptical curve cryptography
 
Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010Defense Senior College on Error Coding presentation 4/22/2010
Defense Senior College on Error Coding presentation 4/22/2010
 
Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes Rsa Signature: Behind The Scenes
Rsa Signature: Behind The Scenes
 
Kolmogorov complexity and topological arguments
Kolmogorov complexity and topological argumentsKolmogorov complexity and topological arguments
Kolmogorov complexity and topological arguments
 
Understanding Reed-Solomon code
Understanding Reed-Solomon codeUnderstanding Reed-Solomon code
Understanding Reed-Solomon code
 
Crypto cs36 39
Crypto cs36 39Crypto cs36 39
Crypto cs36 39
 
Introduction to the AKS Primality Test
Introduction to the AKS Primality TestIntroduction to the AKS Primality Test
Introduction to the AKS Primality Test
 
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
 
Proof of Kraft-McMillan theorem
Proof of Kraft-McMillan theoremProof of Kraft-McMillan theorem
Proof of Kraft-McMillan theorem
 
Algorithms DM
Algorithms DMAlgorithms DM
Algorithms DM
 
Anniversary2012
Anniversary2012Anniversary2012
Anniversary2012
 
Convolution and FFT
Convolution and FFTConvolution and FFT
Convolution and FFT
 
Classical programming interview questions
Classical programming interview questionsClassical programming interview questions
Classical programming interview questions
 

Semelhante a Modular arithmetic and RSA encryption

Is unit 4_number_theory
Is unit 4_number_theoryIs unit 4_number_theory
Is unit 4_number_theorySarthak Patel
 
1.02.Mathematical_background.pptx
1.02.Mathematical_background.pptx1.02.Mathematical_background.pptx
1.02.Mathematical_background.pptxPrachiDawer1
 
01 - DAA - PPT.pptx
01 - DAA - PPT.pptx01 - DAA - PPT.pptx
01 - DAA - PPT.pptxKokilaK25
 
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsDiscrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsNIT Sikkim
 
The Mathematics of RSA Encryption
The Mathematics of RSA EncryptionThe Mathematics of RSA Encryption
The Mathematics of RSA EncryptionNathan F. Dunn
 
Estimation of the score vector and observed information matrix in intractable...
Estimation of the score vector and observed information matrix in intractable...Estimation of the score vector and observed information matrix in intractable...
Estimation of the score vector and observed information matrix in intractable...Pierre Jacob
 
t-tests in R - Lab slides for UGA course FANR 6750
t-tests in R - Lab slides for UGA course FANR 6750t-tests in R - Lab slides for UGA course FANR 6750
t-tests in R - Lab slides for UGA course FANR 6750richardchandler
 
Connection between inverse problems and uncertainty quantification problems
Connection between inverse problems and uncertainty quantification problemsConnection between inverse problems and uncertainty quantification problems
Connection between inverse problems and uncertainty quantification problemsAlexander Litvinenko
 
Assignment 2 (1) (1).docx
Assignment 2 (1) (1).docxAssignment 2 (1) (1).docx
Assignment 2 (1) (1).docxpinstechwork
 
Data sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansionData sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansionAlexander Litvinenko
 
Linear Discriminant Analysis (LDA) Under f-Divergence Measures
Linear Discriminant Analysis (LDA) Under f-Divergence MeasuresLinear Discriminant Analysis (LDA) Under f-Divergence Measures
Linear Discriminant Analysis (LDA) Under f-Divergence MeasuresAnmol Dwivedi
 
How prime numbers keep the internet secure
How prime numbers keep the internet secureHow prime numbers keep the internet secure
How prime numbers keep the internet secureSun-Li Beatteay
 
2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiou2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiouvafopoulos
 
Unbiased Hamiltonian Monte Carlo
Unbiased Hamiltonian Monte CarloUnbiased Hamiltonian Monte Carlo
Unbiased Hamiltonian Monte CarloJeremyHeng10
 
Elgamal_digital_signature_scheme.pptx
Elgamal_digital_signature_scheme.pptxElgamal_digital_signature_scheme.pptx
Elgamal_digital_signature_scheme.pptxKarim Monir
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Languagevsssuresh
 

Semelhante a Modular arithmetic and RSA encryption (20)

Is unit 4_number_theory
Is unit 4_number_theoryIs unit 4_number_theory
Is unit 4_number_theory
 
1.02.Mathematical_background.pptx
1.02.Mathematical_background.pptx1.02.Mathematical_background.pptx
1.02.Mathematical_background.pptx
 
01 - DAA - PPT.pptx
01 - DAA - PPT.pptx01 - DAA - PPT.pptx
01 - DAA - PPT.pptx
 
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsDiscrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
 
The Mathematics of RSA Encryption
The Mathematics of RSA EncryptionThe Mathematics of RSA Encryption
The Mathematics of RSA Encryption
 
Estimation of the score vector and observed information matrix in intractable...
Estimation of the score vector and observed information matrix in intractable...Estimation of the score vector and observed information matrix in intractable...
Estimation of the score vector and observed information matrix in intractable...
 
t-tests in R - Lab slides for UGA course FANR 6750
t-tests in R - Lab slides for UGA course FANR 6750t-tests in R - Lab slides for UGA course FANR 6750
t-tests in R - Lab slides for UGA course FANR 6750
 
Connection between inverse problems and uncertainty quantification problems
Connection between inverse problems and uncertainty quantification problemsConnection between inverse problems and uncertainty quantification problems
Connection between inverse problems and uncertainty quantification problems
 
Calculus
CalculusCalculus
Calculus
 
Daa notes 2
Daa notes 2Daa notes 2
Daa notes 2
 
Assignment 2 (1) (1).docx
Assignment 2 (1) (1).docxAssignment 2 (1) (1).docx
Assignment 2 (1) (1).docx
 
Data sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansionData sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansion
 
Linear Discriminant Analysis (LDA) Under f-Divergence Measures
Linear Discriminant Analysis (LDA) Under f-Divergence MeasuresLinear Discriminant Analysis (LDA) Under f-Divergence Measures
Linear Discriminant Analysis (LDA) Under f-Divergence Measures
 
How prime numbers keep the internet secure
How prime numbers keep the internet secureHow prime numbers keep the internet secure
How prime numbers keep the internet secure
 
2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiou2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiou
 
Unbiased Hamiltonian Monte Carlo
Unbiased Hamiltonian Monte CarloUnbiased Hamiltonian Monte Carlo
Unbiased Hamiltonian Monte Carlo
 
Maths class x
Maths class xMaths class x
Maths class x
 
Elgamal_digital_signature_scheme.pptx
Elgamal_digital_signature_scheme.pptxElgamal_digital_signature_scheme.pptx
Elgamal_digital_signature_scheme.pptx
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Language
 
Matlab programs
Matlab programsMatlab programs
Matlab programs
 

Mais de Joshua Holden

The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...
The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...
The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...Joshua Holden
 
Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...
Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...
Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...Joshua Holden
 
Statistics for fixed points of x ↦ x^x mod p
Statistics for fixed points of x  ↦ x^x mod pStatistics for fixed points of x  ↦ x^x mod p
Statistics for fixed points of x ↦ x^x mod pJoshua Holden
 
Teaching the Group Theory of Permutation Ciphers
Teaching the Group Theory of Permutation CiphersTeaching the Group Theory of Permutation Ciphers
Teaching the Group Theory of Permutation CiphersJoshua Holden
 
Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...
Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...
Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...Joshua Holden
 
Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...
Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...
Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...Joshua Holden
 
A statistical look at maps of the discrete logarithm
A statistical look at maps of the discrete logarithmA statistical look at maps of the discrete logarithm
A statistical look at maps of the discrete logarithmJoshua Holden
 
Mapping the discrete logarithm
Mapping the discrete logarithmMapping the discrete logarithm
Mapping the discrete logarithmJoshua Holden
 
Fixed points and two-cycles of the self-power map
Fixed points and two-cycles of the self-power mapFixed points and two-cycles of the self-power map
Fixed points and two-cycles of the self-power mapJoshua Holden
 
Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...
Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...
Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...Joshua Holden
 
A Good Hash Function is Hard to Find, and Vice Versa
A Good Hash Function is Hard to Find, and Vice VersaA Good Hash Function is Hard to Find, and Vice Versa
A Good Hash Function is Hard to Find, and Vice VersaJoshua Holden
 
How Do You Say 'Cryptography' in Romanian?
How Do You Say 'Cryptography' in Romanian?How Do You Say 'Cryptography' in Romanian?
How Do You Say 'Cryptography' in Romanian?Joshua Holden
 
Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...
Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...
Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...Joshua Holden
 
Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...
Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...
Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...Joshua Holden
 
How to Paint Your Way out of a Maze
How to Paint Your Way out of a MazeHow to Paint Your Way out of a Maze
How to Paint Your Way out of a MazeJoshua Holden
 
Blackwork embroidery and algorithms for maze traversals
Blackwork embroidery and algorithms for maze traversalsBlackwork embroidery and algorithms for maze traversals
Blackwork embroidery and algorithms for maze traversalsJoshua Holden
 
Mathematical Cryptography
Mathematical CryptographyMathematical Cryptography
Mathematical CryptographyJoshua Holden
 
Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...
Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...
Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...Joshua Holden
 
The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...
The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...
The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...Joshua Holden
 

Mais de Joshua Holden (20)

The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...
The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...
The Interplay Between Art and Math: Lessons from a STEM-based Art and Math co...
 
Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...
Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...
Between the Two Cultures: Teaching Math and Art to Engineers (and Scientists ...
 
Statistics for fixed points of x ↦ x^x mod p
Statistics for fixed points of x  ↦ x^x mod pStatistics for fixed points of x  ↦ x^x mod p
Statistics for fixed points of x ↦ x^x mod p
 
Teaching the Group Theory of Permutation Ciphers
Teaching the Group Theory of Permutation CiphersTeaching the Group Theory of Permutation Ciphers
Teaching the Group Theory of Permutation Ciphers
 
Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...
Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...
Granny’s Not So Square, After All: Hyperbolic Tilings with Truly Hyperbolic C...
 
Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...
Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...
Stitching Graphs and Painting Mazes: Problems in Generalizations of Eulerian ...
 
A statistical look at maps of the discrete logarithm
A statistical look at maps of the discrete logarithmA statistical look at maps of the discrete logarithm
A statistical look at maps of the discrete logarithm
 
Mapping the discrete logarithm
Mapping the discrete logarithmMapping the discrete logarithm
Mapping the discrete logarithm
 
Fixed points and two-cycles of the self-power map
Fixed points and two-cycles of the self-power mapFixed points and two-cycles of the self-power map
Fixed points and two-cycles of the self-power map
 
Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...
Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...
Braids, Cables, and Cells II: Representing Art and Craft with Mathematics and...
 
A Good Hash Function is Hard to Find, and Vice Versa
A Good Hash Function is Hard to Find, and Vice VersaA Good Hash Function is Hard to Find, and Vice Versa
A Good Hash Function is Hard to Find, and Vice Versa
 
How Do You Say 'Cryptography' in Romanian?
How Do You Say 'Cryptography' in Romanian?How Do You Say 'Cryptography' in Romanian?
How Do You Say 'Cryptography' in Romanian?
 
Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...
Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...
Braids, Cables, and Cells: An intersection of Mathematics, Computer Science, ...
 
Math in Your Hands
Math in Your HandsMath in Your Hands
Math in Your Hands
 
Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...
Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...
Braids, Cables, and Cells I: An Interesting Intersection of Mathematics, Comp...
 
How to Paint Your Way out of a Maze
How to Paint Your Way out of a MazeHow to Paint Your Way out of a Maze
How to Paint Your Way out of a Maze
 
Blackwork embroidery and algorithms for maze traversals
Blackwork embroidery and algorithms for maze traversalsBlackwork embroidery and algorithms for maze traversals
Blackwork embroidery and algorithms for maze traversals
 
Mathematical Cryptography
Mathematical CryptographyMathematical Cryptography
Mathematical Cryptography
 
Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...
Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...
Understanding the Magic: Teaching Cryptography with Just the Right Amount of ...
 
The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...
The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...
The Pohlig-Hellman Exponentiation Cipher as a Bridge Between Classical and Mo...
 

Último

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Modular arithmetic and RSA encryption

  • 1. Modular arithmetic and trap door ciphers Joshua Holden Rose-Hulman Institute of Technology http://www.rose-hulman.edu/~holden Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 1 / 41
  • 2. RSA Setup Ronald Rivest, Adi Shamir, Leonard Adleman, 1977. Pick two primes p and q. Compute n = pq. Pick encryption exponent e such that e and (p − 1)(q − 1) don’t have any common prime factors. Make n and e public. Keep p and q private. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 2 / 41
  • 3. RSA Setup: Example p = 53 q = 71 n = pq = 3763 (p − 1)(q − 1) = 23 · 5 · 7 · 13 e = 27 = 33 e and (p − 1)(q − 1) don’t have any common prime factors Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 3 / 41
  • 4. RSA Setup: PGP public key block From holden@math.duke.edu Thu Feb 8 14:07:19 2001 Date: Thu, 8 Feb 2001 14:07:18 -0500 X-Authentication-Warning: hamburg.math.duke.edu: holden set sender to holden@hamburg.math.duke.edu From: Joshua Holden To: holden@math.duke.edu Subject: message with PGP block Here is my PGP block: now you can send me messages! -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.2 Comment: Processed by Mailcrypt 3.5.5, an Emacs/PGP interface mQCNAznRHaMAAAEEAPix/FD/jF/ixMvd9aIjhZ/K6o2kv/TaGAVkeIG5VZ48jzIa NTqX1EKDw6aABUiQApqavOaQuiLbi/Ez9HXX9LfcTdcp8u94BKGgmEy6Jv1za08I 2YVL1kUJso6lauryr3Sc8wiQTwx3imohM4ai/1dVuq4Qp2WCBSRdyaafdchdAAUR tC9Kb3NodWEgSG9sZGVuICgxMDI0IGJpdCkgPGhvbGRlbkBtYXRoLmR1a2UuZWR1 Pg== =VgE9 -----END PGP PUBLIC KEY BLOCK----- Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 4 / 41
  • 5. Modular Arithmetic Karl Friedrich Gauss, 1801. Modular Arithmetic = “Wrap-around” computations Example: Start at 12 o’clock. 5 hours plus 8 hours equals 1 o’clock. 5 + 8 ≡ 1 (mod 12) Example: Start at 12 o’clock. 11 hours times 5 equals 7 o’clock. 11 · 5 ≡ 7 (mod 12) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 5 / 41
  • 6. RSA Encryption Anyone can encrypt, because n and e are public. To encrypt, convert your message into a set of plaintext numbers P, each less than n. For each P, compute C ≡ P e (mod n). The numbers C are your ciphertext. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 6 / 41
  • 7. RSA Encryption: Example Send the message “cats and dogs”: ca ts an dd og sx 0200 1918 0013 0303 1406 1823 200e ≡ 12 (mod n) 1918e ≡ 1918 (mod n) 13e ≡ 1550 (mod n) 303e ≡ 3483 (mod n) 1406e ≡ 2042 (mod n) 1823e ≡ 2735 (mod n) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 7 / 41
  • 8. RSA Encryption: PGP message From holden@math.duke.edu Thu Feb 8 14:09:25 2001 Date: Thu, 8 Feb 2001 14:09:24 -0500 X-Authentication-Warning: hamburg.math.duke.edu: holden set sender to holden@hamburg.math.duke.edu From: Joshua Holden To: holden@math.duke.edu Subject: This message is encrypted -----BEGIN PGP MESSAGE----- Version: 2.6.2 Comment: Processed by Mailcrypt 3.5.5, an Emacs/PGP interface hIwDJF3Jpp91yF0BBAC6gnKTMhGWg9hUELd7WfJgUn7OqObCNmvm9V8ff+tyq0re nSQqCYw784CAkm5gaUtJ0AW4go2pDyI2hm5ocoVfMeBOJpKeckSchncV9zHSH2zx jBM8W0NYPAaa7AHFisz19rqxkkt1aQ4W49i7LUxq6rXheoSPMMcHbHyBa/mQEaYA AABEmtEXwkUSMOh+x4dSM/6ZUswVZznmei9TOw+md8OM+LiOSakw91GT431tJPAN c44q+q2Yq8ehykaz0sV4fXscPy2H9A0= =v1z0 -----END PGP MESSAGE----- Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 8 / 41
  • 9. Trap Door Leonhard Euler, 1736. Let φ(n) be the number of positive integers less than or equal to n which don’t have any common factors with n. Example: If n = 15, then the positive integers less than or equal to n which don’t have any common factors with n are 1, 2, 4, 7, 8, 11, 13, 14. So φ(15) = 8. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 9 / 41
  • 10. Trap Door: RSA In the RSA system n = pq, so φ(n) is the number of positive integers less than or equal to n which don’t have p or q as a factor. How many positive integers less than or equal to n do have p as a factor? p, 2p, 3p, . . . , n = qp so there are q of them. Similarly, there are p positive integers less than or equal to n with q as a factor. Only one positive integer less than or equal to n has both p and q as factors, namely n = pq. So we should only count this once. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 10 / 41
  • 11. Trap Door: Formula Therefore, φ(n) = n − p − q + 1 = pq − p − q + 1 = (p − 1)(q − 1). This is private! You can’t calculate it without knowing p and q. Why is this useful? Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 11 / 41
  • 12. Euler’s Theorem Euler’s Theorem: If x is an integer which has no common prime factors with n, then x φ(n) ≡ 1 (mod n). Why is Euler’s Theorem true? Two versions of the answer: Number Theory and Group Theory Number Theory idea: We consider the positive integers less than or equal to n which don’t have any common factors with n, and multiply each of them by x modulo n. Compare them to the same integers without multiplying by x. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 12 / 41
  • 13. Euler’s Theorem: Example (I) For n = 15, consider x, 2x, 4x, 7x, 8x, 11x, 13x, 14x (mod 15), and compare them to 1, 2, 4, 7, 8, 11, 13, 14. If we multiply all of the first set we get x 8 · 1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 (mod 15) and if we multiply all of the second set we get 1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 (mod 15). What if we do all of this for x = 11? Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 13 / 41
  • 14. Euler’s Theorem: Example (II) The first set will be: 1 · 11 ≡ 11 (mod 15) 2 · 11 ≡ 7 (mod 15) 4 · 11 ≡ 14 (mod 15) 7 · 11 ≡ 2 (mod 15) 8 · 11 ≡ 13 (mod 15) 11 · 11 ≡ 1 (mod 15) 13 · 11 ≡ 8 (mod 15) 14 · 11 ≡ 4 (mod 15) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 14 / 41
  • 15. Euler’s Theorem: Example (III) The first set is the same as the second set, only in a different order! In fact, this always happens. So x 8 · 1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 ≡ 1 · 2 · 4 · 7 · 8 · 11 · 13 · 14 (mod 15) or x8 ≡ 1 (mod 15). Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 15 / 41
  • 16. Cayley diagram Arthur Cayley, 1878. 89:; ?>=< o ¢¾ 89:; ?>=< _?? ? O ??  ??¢½ ¢½  ??  ??  ?  89:; ?= o 89:; ?= ½½ ¢¾ O Group Theory idea: We make ¢¾ ¢¾ ¢¾ ¢¾ a Cayley diagram for the num- bers less than n. 89:; ?= ¢¾ / ?= 89:; ?½ ½¿ _? ??  ??  ??   ¢½ ¢½ ????  89:; ?= ½ / ?= 89:; ¾ ¢¾ Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 16 / 41
  • 17. Cayley diagram: Example (II) Say x = 11. Follow the arrows from 1 to 11. This is one x14 arrow and two x2 arrows. If you do this 7 more times, you will be following a total of eight x14 arrows and sixteen x2 arrows, and you should end up at 11 to the eighth. However, eight x14 arrows and sixteen x2 arrows clearly ends you up back where you started! (Note that it doesn’t matter in what order you follow the arrows....) So how do we use Euler’s Theorem as a trap door? Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 17 / 41
  • 18. RSA: One More Piece We need one more piece of (private) information. Euclid, about 300 B.C.E. Theorem If a and b don’t have any common prime factors, then there are integers c and d such that ac + bd = 1. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 18 / 41
  • 19. Euclidean Algorithm Since we picked e such that e and (p − 1)(q − 1) don’t have any common prime factors, then there are integers c and d such that (p − 1)(q − 1)c + ed = 1 or φ(n)c + ed = 1. Euclid also tells us how to find c and d, using the Euclidean Algorithm. Once we have found the decryption exponent d, which is private, we can decrypt. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 19 / 41
  • 20. RSA Decryption For each C, compute C d (mod n). What will this give you? We know C ≡ P e (mod n), although we don’t yet know what P is. So C d ≡ (P e )d ≡ P ed ≡ P 1−φ(n)c ≡ P(P φ(n) )−c (mod n). But P φ(n) ≡ 1 (mod n) by Euler’s Theorem! So C d ≡ P (mod n) and we get our original plaintext back. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 20 / 41
  • 21. RSA Decryption: Example (I) p = 53 q = 71 (p − 1)(q − 1) = 3640 e = 27 The Euclidean Algorithm tells us 16(p − 1)(q − 1) − 2157e = 1. d = −2157 Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 21 / 41
  • 22. RSA Decryption: Example (II) 12d ≡ 200 (mod n) 1918d ≡ 1918 (mod n) 1550d ≡ 13 (mod n) 3483d ≡ 303 (mod n) 2042d ≡ 1406 (mod n) 2735d ≡ 1823 (mod n) 0200 1918 0013 0303 1406 1823 ca ts an dd og sx “cats and dogs” Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 22 / 41
  • 23. Breaking RSA: Factoring So why do we think RSA is secure? As far as we know, the only way to break RSA is to find p and q by factoring n. The fastest known factoring algorithm takes something about like 1/3 (log(log n))2/3 e(log n) time units to factor n. (The size of the time unit depends on things like how fast the computer is!) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 23 / 41
  • 24. Breaking RSA: Fast computers For the fastest single computer in 2006, it would probably take about 1 billion years to factor a number with 300 decimal digits. However, with networked computers, a large company might be able to improve this by a factor of as much as 1 million. (More technically, it is estimated that factoring a number with 300 decimal digits would take about 1011 MIPS-years. 1 MIPS-year is a million-instructions-per-second processor running for one year. A 1-GHz Pentium is about a 250-MIPS machine.) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 24 / 41
  • 25. Breaking RSA: Factoring vs. Setup On the other hand, finding p and q and multiplying them together is very fast. Finding a number p which is (probably) prime takes about 100(log p)4 time units. This looks large, but it isn’t really; for a 300-digit number this should only take a few minutes. (Multiplying p and q together is even faster.) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 25 / 41
  • 26. Breaking RSA: A Graph exp(ln(n)^(1/3)*ln(ln(n))^(2/3)) 100*ln(n)^4 At some size of n it will always be easier to make the cipher than to break it! Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 26 / 41
  • 27. RSA Digital Signatures As a bonus, RSA gives us a way to digitally “sign” messages, thereby proving who wrote them. This uses the same public n and e and private d as before. For each plaintext P, compute S ≡ P d (mod n). The numbers S are your signed message. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 27 / 41
  • 28. RSA Digital Signatures: Example Sign the message “cats and dogs”: ca ts an dd og sx 0200 1918 0013 0303 1406 1823 200d ≡ 648 (mod n) 1918d ≡ 1918 (mod n) 13d ≡ 914 (mod n) 303d ≡ 1946 (mod n) 1406d ≡ 664 (mod n) 1823d ≡ 2735 (mod n) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 28 / 41
  • 29. RSA Digital Signatures: PGP message From holden@math.duke.edu Thu Feb 8 14:10:42 2001 Date: Thu, 8 Feb 2001 14:10:41 -0500 X-Authentication-Warning: hamburg.math.duke.edu: holden set sender to holden@hamburg.math.duke.edu From: Joshua Holden To: holden@math.duke.edu Subject: This message is signed but not encrypted -----BEGIN PGP SIGNED MESSAGE----- I’m signing this message so that you know it’s me! -----BEGIN PGP SIGNATURE----- Version: 2.6.2 Comment: Processed by Mailcrypt 3.5.5, an Emacs/PGP interface iQCVAwUBOoLvKyRdyaafdchdAQELuQP+PBR2lY8rEPrgA4GzWQS/MbE4UDECkgBk v+6Q/gAwrHzMwemXcZxKU1FGFClvfHxxyjoy8hJgYeLYiGvD+q11gtNGZtTdLzqh xL/Bdw75fseFxal/32ZS45jMA3gA2220m70hkJg4EzyvlhDUdUI1SIQHn/V26H0g I25VOm/Ib8s= =CRW2 -----END PGP SIGNATURE----- Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 29 / 41
  • 30. Verifying the Signature Since only you know the decryption exponent d, only you can sign a message. Anyone you send it to can prove it was you by computing S e (mod n) (since n and e are public) and getting back P de (mod n), which we know is congruent to P. If this matches the P which you sent separately, then the message was correctly signed, so it must have come from someone who knows d. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 30 / 41
  • 31. Verifying the Signature: Example 648e ≡ 200 (mod n) 1918e ≡ 1918 (mod n) 914e ≡ 13 (mod n) 1946e ≡ 303 (mod n) 664e ≡ 1406 (mod n) 2735e ≡ 1823 (mod n) 0200 1918 0013 0303 1406 1823 ca ts an dd og sx “cats and dogs” Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 31 / 41
  • 32. Encrypting and Signing One can even sign an encrypted message this way. Suppose Alice wants to send Bob an encrypted message. She first encrypts with Bob’s public nB and eB . Secondly, she signs the message with her nA and private dA . Since her dA is different from Bob’s dB , they don’t cancel out. Then Bob can “unsign” the message with Alice’s public nA and eA . Finally, Bob decrypts the message with his nB and private dB ! Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 32 / 41
  • 33. Encrypting and Signing: Example (I) Alice: Private: pA = 53, qA = 71 Public: nA = pA qA = 3763 Public: eA = 27 Private: dA = −2157 (same as before) Bob: Private: pB = 41, qB = 67 Public: nB = pB qB = 2747 Private: (pB − 1)(qB − 1) = 24 · 3 · 5 · 11 Public: eB = 49 = 72 Private: The Euclidean Algorithm tells Bob 8(pB − 1)(qB − 1) − 431eB = 1. Private: db − −431 Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 33 / 41
  • 34. Encrypting and Signing: Example (II) Alice encrypts the message with Bob’s public information: ca ts an dd og sx 0200 1918 0013 0303 1406 1823 200eB ≡ 2411 (mod nB ) 1918eB ≡ 1836 (mod nB ) 13eB ≡ 1401 (mod nB ) 303eB ≡ 2314 (mod nB ) 1406eB ≡ 2143 (mod nB ) 1823eB ≡ 1154 (mod nB ) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 34 / 41
  • 35. Encrypting and Signing: Example (III) Alice signs the message with her private information and send the result to Bob: 2411dA ≡ 2041 (mod nA ) 1836dA ≡ 814 (mod nA ) 1401dA ≡ 1249 (mod nA ) 2314dA ≡ 1396 (mod nA ) 2143dA ≡ 772 (mod nA ) 1154dA ≡ 3139 (mod nA ) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 35 / 41
  • 36. Encrypting and Signing: Example (IV) Bob “unsigns” the message using Alice’s public information: 2041eA ≡ 2411 (mod nA ) 814eA ≡ 1836 (mod nA ) 1249eA ≡ 1401 (mod nA ) 1396eA ≡ 2314 (mod nA ) 772eA ≡ 2143 (mod nA ) 3139eA ≡ 1154 (mod nA ) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 36 / 41
  • 37. Encrypting and Signing: Example (V) and then decrypts it using his private information: 2411dB ≡ 200 (mod nB ) 1836dB ≡ 1918 (mod nB ) 1401dB ≡ 13 (mod nB ) 2314dB ≡ 303 (mod nB ) 2143dB ≡ 1406 (mod nB ) 1154dB ≡ 1823 (mod nB ) 0200 1918 0013 0303 1406 1823 ca ts an dd og sx “cats and dogs” Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 37 / 41
  • 38. Attacks on RSA Finding out someone’s private d is about as hard as factoring n. But sometimes we can find out a particular message without breaking the general code. Usually this is because e is too small — small e makes the encrypting faster, but can weaken security. Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 38 / 41
  • 39. Small Message Attack (I) p = 53, q = 71 n = pq = 3763 e=3 “abaracadabara” ab ar ac ad ab ar ax 0001 0017 0002 0003 0002 0017 0023 1e ≡ 1 (mod n) 17e ≡ 1150 (mod n) 2e ≡ 8 (mod n) 3e ≡ 27 (mod n) 2e ≡ 8 (mod n) 17e ≡ 1150 (mod n) 23e ≡ 878 (mod n) Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 39 / 41
  • 40. Small Message Attack (II) But: √ 3 1=1 √ 3 1150 = 10.4769 √ 3 8=2 √ 3 27 = 3 √ 3 8=2 √ 3 1150 = 10.4769 √ 3 878 = 9.5756 0001 ???? 0002 0003 0002 ???? ???? ab ?? ac ad ab ?? ?? An eavesdropper can recover most of the message! Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 40 / 41
  • 41. HNAT SOFK LSIR EINT GZXN! Joshua Holden (RHIT) Modular arithmetic and trap door ciphers 41 / 41